Saturday 31 August 2013

I need feedback NOW!


Problem: Feedback cycle time causes loss in productivity.

One of the productivity killers is long feedback times – The longer it takes to get feedback the more time is wasted either waiting or context switching.

Consider this example: Development has completed fixes to several bugs, but these are not tested until a week later. During this week the developers has written 100 lines of code and is no longer in context of the work done. When feedback from test, a customer demo or another source the developer has to start from scratch. It also goes for testers writing test cases, business analysts writing specifications etc. for the purpose of this article we will focus on feedback cycle time between development and testers.

Solution: Explorative test, and reviews.

The agile projects we run makes the need for feedback even more urgent, as a week of waiting will not fit into a sprint of 14 days. In order to facilitate quick feedback we utilize explorative test and reviews, and this is how it is applies in a sprint.

When the sprint the starts reviews are applied the Sprint Backlog Item (SBI), focusing on code and test ability. This forces participants into thinking before acting, and flushes a series of questions. These questions reduces the chance of misunderstandings and misinterpretations of the requirements.

While developer profiles write code, test profiles write test in the team. This test focusses on the acceptance criterias of the SBIs under development, and is often no more than test charters. The test charters can then be executed as soon as deployment is done to a test environment.

Formalized test cases can be recorded using the Microsoft Test Manager (MTM) for explorative testing, making test case writing a 2nd priority when preparing a team for fast feedback. For details on how to record bugs, test cases and general usage of MTM for explorative test please visit: http://msdn.microsoft.com/en-us/library/vstudio/hh191621.aspx

Before anything ships all code is reviewed using StyleCop, but on top of that pair reviews amongst the developers is encouraged. Another thing that I have not mentioned is unit test, but (I hope) that it goes without saying that unit tests is the fastest feedback a developer can get – A must have!

Things that might be worth trying to reduce feedback time: Developer runs test cases directly related to acceptance criteria for the SBI he is working on BEFORE check-in. We have not tried this in practice, as it would require detailed test cases being written up front.

Happy testing!

/Nicolai

No comments:

Post a Comment