Modern Product Ownership

11/19/2013
One of the most critical roles in Scrum is the Product Owner.  When I consult with organisations about Scrum, often they want me to focus on helping the person in this role.

Some PO's are full time, however most PO's I meet are part-time.  They already have a job.  They are unsure how much time this additional role will take.  They know their business but they often do not know Scrum.

More importantly they often do not understand how short iteration development should work.  Lots of the books and blogs say glib comments like 'The PO should manage the product backlog in order to maximize the ROI of the product



Sounds great, but how?  Is putting the Product Backlog in order enough?  No.

Good Product Ownership means an understanding of Scrum, why it works, and a number of complimentary techniques.  For example what techniques should I use for prioritisation? 

  • Moscow
  • Kano
  • Business Value
  • Risk
  • Walking Skeleton
  • Validated Learning
 How much should I spend writing User Stories? (hint: probably not much)

Release Planning is worth a separate blog post entirely but this is another key area for a PO to understand and spend time planning.  Many PO's like to use a story mapping approach to build a product backlog and create a release plan.  Story Mapping is an essential technique that all PO's should understand.


The Lean Start up movement is also a rich source of ideas that are finding their way into a modern PO's toolbox.

So next time someone asks you to be a PO.  Ask yourself - do I understand how to use these techniques to extract the maximum value from my Scrum team?



Would you like to understand the principles of modern Product Ownership?  Are you struggling with how to get the most value from your Scrum team?  We have Professional Scrum Product Owner training that can help.  See our current list of public courses here http://www.robmaherconsulting.co.nz/Classes/PSPO or ask for private training at http://www.robmaherconsulting.co.nz/CourseRequest
 
11/19/2013

Developer Tools Webinar launched!

10/15/2013

Microsoft NZ has started a monthly Developer Tools webinar.  Featuring yours truly we talk about what’s new in Visual Studio, ALM and all things Dev Tools.  You can check out the first edition here - http://blogs.msdn.com/b/joenewton/archive/2013/10/01/nz-developer-tools-webinars.aspx

 

The first episode focuses on a Tech-Ed wrap-up, MTM 101, and a demo of the awesome new BrowserLink feature.

 

Coming up in October is Visual Studio 2013, and in November we will be focussing on the Visual Studio launch.  Feedback would be appreciated, and if you have any topics that you think would like to see included please get in touch!

10/15/2013

Featured on the Microsoft .NET Developer site

10/06/2013

I was interviewed by Microsoft as part of their Developer Stories section on the Microsoft.com site.

 

They selected developers using .NET technologies and wanted to get background information about their views and background history. 

 

RobMaher[1]

Rob Maher

Not many developers have Rob Maher’s geographic diversity. Born in Great Britain, he’s worked everywhere from the Philippines and Singapore to Saudi Arabia and the United States. A self-described “serial conference organizer,” he also regularly oversees Scrum, Kanban and Microsoft-related events in his adopted country of New Zealand.

“Fortunately, my wife and four-year-old son like traveling too,” he says.

 

See the full interview here:-

 

http://www.microsoft.com/net/developers/rob-maher

10/06/2013

MVP Award for another year

10/02/2013

 

 

MVP_FullColor_ForScreen

 

I am proud to say that I woke up to an email this morning letting me know that I have been renewed as a Microsoft ALM MVP for a 3rd year.  Being part of a great community is the biggest benefit of this award.

 

The award is for ‘exceptional technical community leaders who actively share their high quality, real world experience with others’  Which is a very long way to say that MVP’s are active in their communities trying to share their knowledge.

 

I think that the direction that Visual Studio / Team Foundation Server is following right now makes it one of the most exciting products.  3 weekly drops of new features to Team Foundation Service certainly keeps things interesting!  Here’s to a great year.

10/02/2013

Team Foundation Server Build – Only run impacted tests (updated for 2012 & 2013)

9/25/2013

 

A while ago I published a post on how to create a build definition for Team Foundation Server 2010 that only ran the tests that had been identified by Test Impact Analysis.  This is useful if your tests take a very long time to run, or you have a huge amount of tests and want quick feedback for your intra day builds.

 

This will work on the Team Foundation Service build system also.

 

I have had a few requests to get this updated for 2012/2013 and so here it is.

 

Things to remember:-

 

The testing system is a little different now than in 2010.  When you create your build from the custom xaml and choose the process parameters go to the Add/Edit Test Run section.

 

image

You need to make sure that you select the MSTest.exe Runner.  Test Impact Analysis is only supported by MSTest so if you don’t change this it won’t work.  Also make sure that you select a .testsettings file also.

Remember that periodically (perhaps every night) you need to run a build, and change the IsBaseLine run parameter from False to True.  This is what collects a base line of Test Impact data to measure your changes against.  This will run all of your tests.  They must all pass to gather the impact data.

image

Here is example output from my build.  Notice that it has run 2 tests and there is no impact data.

image

We now have our baseline.

 

Once you have that you can run the build with the defaults and if you have changed some code that impacts a test it should appear.

 

In my example I have changed some code that will impact one test, and re-run the build.

 

image

 

Notice that the build only ran one test this time.  The Impacted Tests section shows me which test was impacted and if i click on the Test run i see this.

 

image

 

So the build correctly ran the single impacted test.  One last improvement over 2010, if you click on the “1 code change(s)” link on the Build report in the Impacted Tests section you see this

 

image

 

A nice summary of what was changed (with a link to the changeset and code diff) and the method name was changed etc.  Much better!

 

The xaml is here.  Any questions let me know.

9/25/2013

Follow the Boy Scout Rule with Visual Studio 2013

9/24/2013

 

If you develop software using an agile approach you may have heard of the ‘Boy Scout’ rule.   The often quoted rule says “Leave the code a little better than you found it”

 

I tried to find the original source of this.  I think that it may have come from a letter that the founder of the Scout movement Baden Powell wrote.  This letter was found after his death as had the passage "Try and leave this world a little better than you found it."

 

It certainly is a great way to approaching existing code.  When we come to work with a code base, it often has issues.  These issues are the results of decisions and trade-offs made by those who came before us.  Often changes are needed to make the code cleaner.  I am not sure about you but I never seem to get the projects that start with a phase called “Clean Up”, and have a customer who is happy to invest significantly in tidying up the existing code base before we start.

 

So what do we do?  This is where our ‘Boy Scout’ rule applies.  Whenever we are working in an area of code (in order to implement a new feature) we leave it cleaner than it was.

 

How do we know that it’s cleaner?  Well we might improve naming, reduce dependencies, simplify and shorten methods etc and then at some point we decide that we have cleaned things enough and move on.  Sometimes it is very easy to know that you have made a significant improvement, and sometimes it is much more difficult.  (Try simplifying a 10,000+ line method….)

 

Here is where Visual Studio can help us.  The new Code Lens feature in Visual Studio 2013 RC provides a heads up display of useful information about the code that we are viewing.  This includes Test Status, References, Authors etc.  This data helps us understand the context that we are working in.

 

A new ‘indicator’ has been published to DevLabs .  DevLabs is an experimental delivery channel for Visual Studio add-ins.  The new indicator is focused on ‘Code Health’ and it shows me things like

 

Maintainability Index, Cyclomatic Complexity, Lines of Code and Halstead Volume (yes this one was new for me too).  Here is what you see in your code

 

image

 

Click on the maintainability indicator to see more details

 

image

 

I can hover over any of the measures to get more details and an understanding of the formula behind it.

 

But what about the Boy Scout rule?  Well you can see that before I touched this method, the maintainability index was 65.  I have added another ‘if’ condition to make it worse.  My code now looks like this

 

image

 

Notice the new statement?  Also look at my Code Health indicator.  It now has dropped to 60 and there is a red indicator telling me that I have MADE IT WORSE!  I have broken the rule! 

 

If I click into the indicator it shows me which indicators I just moved.  I have increased Cyclomatic Complexity by 1 etc.

 

image

 

Well that won’t do!  I am now going to go in and change things to move my statement out to a method call and try and clean things up.

 

Now my indicator shows an improvement

 

image

 

If I open it the indicator I can see that I have improved all of the health measures.  I am a Boy Scout!

 

image

 

I am already finding this addictive.  This is changing the way that I code.  Who wants to leave things worse than you found them?  Method by method, this keeps you honest and makes you want to improve things as you change them.  There is satisfaction from seeing the arrow point up.  You can continue coding safe in the knowledge that you have left things a little better behind you.  That is a good feeling.

 

You can see more details at David Starr’s blog here.  Also be aware of some disclaimers.  As a feature delivered through DevLabs, this is an experiment.  It also only works on methods and only on C#.

9/24/2013

Are you an Agile BA / Tester / Developer / Bottle Washer?

8/07/2013

Many people who are working at a company starting out with an agile implementation have a natural question.

What does this mean for me?  What is my place on the team?  I am a BA / Tester / Developer / <Insert your title here> – how does this change my role?

Lets start out with the basics.  You are part of a team.  That team is tasked with turning feature requests into potentially shippable increments of product.  Period.  Your role?  Help the team achieve that goal however you can.

It dismays me to see the agile training and consulting industry (of which I am a part) praying on these natural concerns and promoting Agile <Your job title here> courses.  Scrum is a team sport.  You don’t get to be agile on your own or just within your discipline of speciality.  These courses are divisive, plain and simple.  They feed on people’s uncertainties.

I had hoped that these courses would die a natural death but it doesn’t seem to be happening.

So does nothing change for these roles?  Of course not.  There are key skills  that the team needs to understand to maximize changes of success.  They might be Story Mapping, BDD, ATDD etc etc.  But if you send one group of people away on one of these courses how are they going to bring those skills back to the team?

Does BDD involve only the developers?  Only the testers?  No it impacts everyone.

So teach your team the skills they need.  Don’t teach Analysts to be Agile on a course and Testers to be Agile on another course.  Teach your team together.  Funnily enough they work together.

  1. Scrum.org offers team based training.  The Professional Scrum Foundations course is ideal for teaching a team how to use Scrum.  The Professional Scrum Developer course teaches a team how to turn Product Backlog Items into Increments of working product.  Get in touch at info@robmaherconsulting to learn more.
Technorati Tags: ,
8/07/2013