Category Archives: Uncategorized

Application Development Efficiency

McKinsey published an article that discusses increasing application development efficiency. They point out that a number of measurements for development projects are input measurements, rather than output and suggest that Use Cases, and by extension Use Case Points form a solid output measure for determining the progress and effectiveness of a development effort.

Article: Enhancing the efficiency and effectiveness of application development

While I feel the idea is sound at it’s core, it appears that they are drawing an incorrect causal relationship between the tool, the measure and the outcome. I feel the article displays a number of subtle references to the underlying behaviors that are enabling the tool to be deemed successful. 

I believe that: 

  • Use Case’s and by extension Use Case Points suffer from granularity and assumption issues as much as any other technique e.g. interaction 2 on Use Case 111 is deemed to be complexity ratio 2, until work is started and it is discovered that it is actually 10. 
  • Knowing what is important is more important than knowing when we’ll be done, as the first influences the second.
  • Use Case Points as a comparative value across teams suffer the same issues as all other measures. Inconsistencies in scale, skill and methods influence the usefulness of the data.  

Drawing out what I believe the underlying behaviors are that are creating success:

  • Focus on bringing the business closer through an appropriate shared communication tool e.g. examples, use cases, stories
  • Teach critical decision making as a skill in staff in project teams as a means to achieving assumption identification and testing
  • Ensure the measure you use identifies the appropriate analysis method and its influencing properties to provide a useful understanding of performance across teams and projects

None of these are particularly bound to any tool, but together lay a foundation for a number of tools such as use case points, story points, or story counts can be successful.

 

Behavioural Debt

Working with teams to change the way they deliver is nearly always a challenge. Years of working in an industry has shaped the way we behave, to the point where it almost second nature to continue trends we view as unproductive and risky. We know these things aren’t helping us succeed, but we still do them. It’s almost as if we’re controlled by a power greater than our will, which is in a way actually true.

People are well proven to be creatures of habit. As children our parents strive to instill good habits, and avoid bad. These habits live with us throughout our adulthood defining a lot of what we do, both at home and in the workplace. A great example is the frequency and timing of basic hygiene activities like showering, or brushing your teeth. No matter how much my dentist tells me I need to brush at night nearly 30 years of morning routine continues to this day.

Once we reach our teens we start to take jobs. These slowly consume more and more of our lives until we eventually spend more of our waking hours in the office than we do out of it. This makes the organisation we work within a virtual habit factory. The people around us shape the practices that we are indoctrinated into as part of entry to the company. We accept, and grow into these practices which with time become habits.

It is this collection of practices turned habits that I have started referring to as ‘behavioral debt’. It’s a metaphor that I use when describing how comfortable a team is in their existing practices, and how hard it will be to start the stone of change moving downhill toward a new way of working.

Quick Tips: TFS Demand Management via Pivot Table

Context

One of the meetings I commonly lead is a demand management meeting. In this meeting we look at the work currently in the pipeline for delivery and make decisions about what needs to happen with it. When working with TFS I run this meeting via an excel worksheet which I load a backlog query into. 

The default view for this backlog is a table, which is great for the basics of view/edit but suffers the problem of not easily being able to see the forest for the trees. What I really want is a summary view that enables me to roll up the work dynamically to answer questions raised in the meeting.

How To

To achieve this simply: 

  • Select a cell somewhere within your backlog query
  • Select the design tab of your ‘Table Tools’ ribbon category
  • Click ‘Summarize with PivotTable

The options should already have your work item table selected. Either have the table dropped into a new sheet, or your current and click OK. 

Once the table is up I generally roll up size as a sum, and Work Item Id as a count by a field such as Area to get the overview I need. Additionally allowing filtering by blocked items is handy. 

Next Steps

If you need to drill down to the work items, you can simply use the pivot table tools ‘Expand Field’ function to either have the individual work item id or title values listed as a sub field. 

 

 

SQL71567: Filegroup specification issue with SQL projects in VS 2012

If you’re seeing the above error, chances are you’ve got a filegroup specification on both your table and and clustered, or non-clustered inline index. This creates a compile time error as at the SSDT update of September 2012, and left me scratching my head until I saw this forum thread.

To fix the issue, I’ve created a PowerShell script that parses each of the .table.sql files in your database project directory (and subdirectories) to look for a filegroup specification. It then parses the related index files to check for a duplicate specification, and as per the recommendation in the previous forum thread – removes the table script specification. 

The script is available as a gist.

Feedback and forks welcome.

Retrospectives are more than a ceremony

As a member and scrum master of scrum teams the retrospective is one of the parts of the process that I value the most. It’s the core of the inspect and adapt process, and what helps teams improve and mature. I’ve noticed a behavior during retrospectives recently where all the ceremonies are followed, but if the actions are discussed later it’s discovered that evidence of improvement is lacking.

My suggestion is for teams to look for 3 things out of their retrospectives.

1. Root Cause – perform a root cause analysis on the identified issues. Something similar to the 5 whys exercise; so you have an actionable root cause.

2. Planned Action – for each root cause decide on a planned action to address the root cause. This is aimed at preventing the issue before it becomes one.

3. Measurement – a goal measurement that each action should achieve. This is to allow for an objective assessment of the action to determine if it has addressed the cause. Consider looking for measurements that are targets, rather than volume type measurements.

These 3 outcomes for each issue raised during the retrospective allow us to understand the impact each adjustment has, and ensure we’re focusing on the intent of the retrospective – improvement.

Continuous Delivery Lyrics – DDD Melbourne

At the closing to DDD Melbourne last week I fulfilled a bet that I lost by kickin a rhyme at the closure of the conference. I’ve had a few requests for the lyrics since – so here they are! If you’d like to hear my live rendition click here or if you’re really keen to see me make a fool of myself check youtube.

Warning: I am not a vocalist in any way, shape or form. Subject your ears to it at your own risk!

————————————–

continuous delivery is what I spit
new words on old beats for the instant hit
got j5 here rockin on my microphone
so tweet me up real quick if you like the tone

coming to ya straight outta the S Y D
is the Readify consultant with the funky beat
left right combination fast bringin the heat
deadly like Jackie Chan and Chuck Norris feet
lyrical roundhouse put ya back into ya seat
now check the flavour from my DJ while I chill on this beat

If you only knew, the trials and tribulations we been through
then you’d know, CI’s for everyone and that means you
if you only knew, broken checkin’s they make me spew
then you’d know, the chicken dance is what you gotta do

got delivery pipelines flowing out hot rhymes
yall be actin like you ain’t got no time
for this charasmatic character who is number one
rockin hard live for fun, in the burn city sun
now you think i’m done, but I’ve only just begun
so get ya toes wet and come get some

if you only knew, the trials an tribulations we been through
then you’d know, DI’s for everyone and that means you
if you only knew, resolution’s a hard thing to do
then you’d know, IOC’s what you gotta do

building on the back of hard work
cheeky smile, smart smirk
black hoodie, dark shirt
stay sharp or get burned
when I drop this verse like it hurt
then come back around and spin it all in reverse

— INTERLUDE —

if you only knew, the trials an tribulations we been through
then you’d know, simple is for everyone and that means you
if you only knew, complexity can get you screwed
then you’d know, DDD’s what you gotta do

before I give it up, give it up for your hosts
who spent the whole damn Sat’day keepin yall engrossed
to the dudes with most, I’d like to raise a toast
I wanna make it clear,these fellas right here

better get a few free beers, in the bars tonight
from the crowd, or myself just to set it right
for the conference of the year, run so damn tight
with a setup and speakers that were outta sight
winding up with a hot track and beats that bite
to get us goin for a party way into the night

if you only knew, the trials an tribulations we been through
then you’d know, we’re real people homie just like you
if you only knew, a conference ain’t easy to crew
then you’d know, buyin beer is what you gotta do

Auckland .NET Users Group

Are you an NZ native? From Auckland? Are you interested in .Net development? Then you should really check out the Auckland .Net Users Group! It’s kicking off on the 24th of this month with a great session about Behaviour Driven Development (or BDD for short) and Team Foundation Server. This is a great way to get your toes wet with a set of .Net BDD frameworks and understand how you can integrate them into your development workflow. It’s also a good chance to get along and heckle  hear Rob Maher who I can highly recommend as a speaker.

If you’re interested in the details or to RSVP head over to http://aucklandnetusergroup.groups.live.com/

The short:

WhoAuckland .Net User Group

What: BDD Overview

When: 1730, Tuesday 24th May

Where: IAG – 1 Fanshawe St, Auckland

Speaking at the New Zealand ALM Conference

It’s getting to that time of year again where everyone wakes fully from their Christmas/New Year slumber. Work is busy, and events and conferences start to occur on a reasonably regular basis.

Last year saw the inauguration of a new conference both in Australia and New Zealand focusing on application life cycle management. I was lucky enough to nab a speaking spot, and apparently did enough to convince the organisers that I was worthy of presenting again this year. The difference this year is that I’ll be heading ‘across the pond’ to Wellington to present at the New Zealand conference as well! I’ll be presenting on a topic starting to get some traction within ALM, known as continuous delivery. What’s continuous delivery? You’ll have to attend my session to find out !

The conference runs on Wednesday the 6th and Thursday the 7th of April. You can get all the details on the other speakers, the swag available and how to get your hands on a ticket over at the conference site.

Hopefully I’ll see you there!

TFS Unboxing – Links

Thanks to everyone who attended the TFS 2010 Unboxing at Microsoft North Ryde. For those unable to attend – there is potential for the session to be hosted again in other cities around Australia. If you’d like a session in your city, the best way to have it happen is to either leave a comment here or contact me on stephen.godbold at gmail.com with an expression of interest.

Some of the links I promised to provide:

The powershell scripts I mentioned are not yet ready for release. For those interested I would suggest to keep an eye on Jason Stangroome’s blog. He’s got a couple of really useful scripts in the pipeline.

Thanks again to all of those that made it, hopefully I was able to give you a picture of what Team Foundation Server is capable of and how you can get the most out of the product!

Canberra VS ALM Special Event

Sam Guckenheimer

I’ve just been alerted to a really great opportunity that I wanted to pass on to you all. We have access to a special Canberra User Groups session with Sam Guckenheimer. Sam is the Group Product Planner for the Visual Studio product line. This a really great chance to interact with one of the people that guides the vision for where Visual Studio will go in years to come, and provide your feedback on what you’d love to see in v.Next and beyond!

————————

A session with the man behind the product that you know as Visual Studio Team System/ALM and TFS

Join Group Product Planner for Microsoft Visual Studio 2010, Sam Guckenheimer at this special User Group briefing. Visual Studio 2010 is an exciting release with a significant emphasis on Application Lifecycle Management and integration with teams. The driving force behind much of this innovation has been Sam Guckenheimer. In this session, Sam will discuss the design decisions behind the new and enhanced functionality and will give an insight into the process behind building such a significant piece of software.

Come armed with questions on any or all of the following:

  • VS* 2010 (including Ultimate, TFS)
  • Testing
  • Professional Scrum Developer Training
  • Lean Software Development
  • The Product Lifecycle inside Microsoft
  • Software Practices / Processes/ Methodologies
  • Application Lifecycle Management
  • Dynamic IT
  • Sam’s book, Software Engineering with Microsoft Visual Studio Team System, what he’s learned since, and what will be in the next edition

About Sam Guckenheimer

Sam Guckenheimer is the author of Software Engineering with Microsoft Visual Studio Team System.  He has 25 years experience as architect, developer, tester, product manager, project manager and general manager in the software industry in the US and Europe.  Currently, Sam is the Group Product Planner for the Microsoft Visual Studio product line.  In this capacity, he acts as the product owner, chief customer advocate, responsible for the end-to-end external design of the next releases of these products.  Prior to joining Microsoft in 2003, Sam was Director of Product Line Strategy at Rational Software Corporation, now the Rational Division of IBM.  He holds five patents on software lifecycle tools.  A frequent speaker at industry conferences, Sam is a Phi Beta Kappa graduate of Harvard University.  Sam lives in the Seattle area with his wife and three children in a sustainable  house they build that can be seen in Metropolitan Home magazine at http://www.pointclickhome.com/remodeling_guide/articles/how_live_prefab.

You can register for this session here! If you’d like to be kept up to date on Visual Studio ALM in Canberra register on the Canberra VS ALM User Group website to recieve email notification of the upcoming events!