Sunday, November 23, 2008
Wednesday, November 19, 2008
Wednesday, November 12, 2008
Topic: Breaking Serve on Dev/Test Ping Pong in Visual Studio 2010
This has probably never happened to you, but picture this scenario: a tester finds a bug, writes it up, and sends it to the appropriate developer. The developer can’t reproduce the bug and sends it back. The tester digs around a bit more to find better repro steps. The developer insists it’s a configurable error of the tester. Back and forth we go. In VSTS 2010, this process is streamlined by automatically gathering critical information about the project and code and making that data available when, where, and to whom it is needed. During this talk, Mark Mydland (Principal Group Manager of VSTS Test) will demonstrate these cool new features and dive into technical topics on the new architect tools, some amazing research work for concurrency and for bounds checking, 3-tier execution, and data recording (aka “Tivo for debugging”).
Speaker: Mark Mydland
Mark Mydland is the Principal Group Manager for the Visual Studio Team Edition for Software Testers product at Microsoft. In the past 12 years, Mark has worked as a developer and consultant across a wide variety of applications and industries. Mark first joined Microsoft in 2001 working as a member of the Natural Interactive Services Division (NISD). During his time in that group, Mark was the development manager for a team focused on analytics for assessing the efficacy of natural language interpreters with a particular emphasis on driving authoring simplification and relevance quality for user assistance. Based on this work, Mark filed numerous patents and coauthored a paper for the SIGIR journal. In 2004, Mark left Microsoft to work as a Director of Development at Getty Images where he led a change in process from a traditional waterfall methodology to a scrum-based agile approach which brought the release frequency from 12-18 months down to 1 month. Since Getty made extensive use of VSTS, it seemed a natural fit for Mark to join VSTS on his return to Microsoft in 2006. Mark received his B.S. from West Point in 1991. He has also held positions with USWeb/marchFirst and Andersen Consulting/Accenture.
We would like to thank Compuware for sponsoring the event.
Monday, November 10, 2008
Tuesday, November 04, 2008
To run the exercise you need 20 pennies, 6 stopwatches, and 10 people. Sit 5 people around a table. Assign 4 of them as workers for department 1 thru 4. The last person sitting at the table is the customer. The other five people will stand behind one of the people seated at the table. The people standing behind the workers are the department managers. The person standing behind the customer is the company president. All of the people standing have stopwatches as well as the customer. Place the 20 pennies heads up in front of department 1.
Running the Exercise (First and Second Pass)
You will run the exercise 6 times. The first pass starts with the worker in department 1 turning over each penny in front of them with one hand from heads to tails. As soon as the worker starts, the manager for department 1 starts his stopwatch as do the customer and the president.
When all the pennies have been turned over to tails, worker 1 will slide over all 20 pennies to the worker in department 2 next to them. When the first penny is moved to worker 2, manager 2 will start their stopwatch. When the last penny is moved from worker 1 to worker 2, manager 2 will stop their stopwatch. This process will be repeated for worker 2, worker 3, and worker 4.
When the first penny is moved to the customer from worker 4, the customer will stop their stopwatch. When the last penny is moved to the customer from worker 4, the president will stop their stopwatch.
Record the results of the first pass in a table like the one below:
This chart shows each departments productivity, the time to market (the first penny to the customer), and project completion (the last penny to the customer).
Perform the second pass exactly as you did the first pass. Make sure before you start all the participants with stopwatches reset them. Record the second pass results on your chart.
Running the Exercise (Third thru Sixth Pass)
On the third pass each worker will pass 10 pennies at a time to the next in line. So once worker 1 has turned over 10 pennies, they will pass them to worker 2 who can then start turning over their pennies while worker 1 turns over their remaining 10. It will not be more important that the customer stop when the first batch of 10 pennies arrives and the president stops when the last batch arrives. Record your results in your chart.
The fourth pass the batch size is decreased to 5 and the fifth/sixth pass the batch size will be 1 penny. Record both passes results.
At the end of the exercise review the results with the team and you will see some very interesting trends. The chart above is the results from our exercise at the Scrum training.
- When the team repeats the process with the same batch size they generally increase individual and overall productivity.
- As the batch size decreases each department’s individual productivity decreases.
- As the batch size decreases, the time to market is faster.
- As the batch size decreases, the time to complete the entire project decreases.
I found that paradox that the smaller the batch size (or iteration), the worse each department’s individual productivity. As we discussed this we talked about how this illustrated how in Scrum each iteration encompasses all the activities of the SDLC making each individual effort a bit less productive. The other interesting point was how the overall productivity of the “company” was increased. We as a company were quicker to market and completed faster. It really brought home the point of small iterations of work to the entire class.
I have described the exercise to several clients that I am helping adopt Scrum and Team Foundation Server and they have all suggested that it should be something I have each client’s team perform to help them grasp the benefits of the iterative style of development in Scrum.