Thursday, August 31, 2006

Agility for everyone


On Software Engineering with Microsoft Visual Studio Team System: A Value-Up Paradigm, By Sam Guckenheimer, Juan J. Perez

For more than 20 years*, it has been known that the classic waterfall project process doesn’t work well for software development and that more iterative and more agile processes are needed. Still, even today many organizations are not agile.

Sam Guckenheimer introduces the value-up paradigm as the solution for the problem. The main idea of the value-up paradigm is to deliver customer value iteratively. What doesn’t bring new value to the customer is not worth producing and delivering. Only measure of the development progress is new customer value. Value-up paradigm should revolutionize the way lots of us develop software.

In contrast to the waterfall process, or work-down as Guckenheimer calls it, the value-up idea enables much more iterative, more transparent development process that more reliably leads to success.

The book answers the questions „Why VSTS?“ and „Which problems does VSTS solve?“. In order to learn how to use the VSTS you will have to look somewhere else**. Don’t count on becoming a VSTS expert just after reading this one book. But, you will be very well equipped to explain how will the tools and the process that come with VSTS enable your team to work better and to describe the rationale behind various parts of Team System. That is what this book excels at.

Actually, since it deals with basic principles, fundamental problems and tooling/methodology/process necessities for successful software development, this book is not necessarily about VSTS. As much as it is about VSTS, it is about iterative development processes, agility, transparency and trust. VSTS is used as the basis for the presentation of general principles of value-up paradigm, but all the basic principles out of the context of VSTS as well.

Perhaps one of the best parts of the book is the analysis and the discussion of different reports/graphs providing different project metrics. These graphs are powerful tools that help determine the state of the project and often first signs of danger can be found. Developers don’t write the unit tests for the new code, there is not enough time to stabilize the code, developers are reporting the work as finished when it is not – are some of the conclusions one can make with just looking at the graphs. Guckenheimer tells us how.

As stated on the back cover, the book “presents essential theory and practical examples to describe a realistic process for IT projects”. Intentionally, it doesn’t cover much depth, but covers great breadth. It covers a wide range of topics, from requirement analysis, project management, architecture and development to software testing (with notable exception of release management) at the overview level. Not deep enough for a practitioner but more than enough for someone who needs just an overview of the facts relevant in the fields she/he doesn’t deal with on the day-to-day basis. That is why this book is a must reading for anyone who is part of a development team irrespective of the role she plays.

Even now, 20 years after Brooks wrote about agility and more than five years after the Agile Manifesto, there are lots of development teams that for whatever reason (e.g. being perhaps in need for more precisely defined CMMI aligned process) still use the waterfall process and necessarily experience all the problem*** that come with it. The tools and the methodology that come with the Team System will make their processes more transparent, communication friction-free, and the successful end result more deterministically achievable. In other words, the teams will become more agile.

That is what this book and the Team System itself are all about – agility for everyone.

* See the “Incremental development--grow, don't build, software.” chapter in No Silver Bullet: Essence and Accidents of Software Engineering by Frederick P. Brooks, Jr.
** Guckenheimer recommends yet to be published book by Will Scott and James Newkirk, Visual Studio Team System – Better Software Development for Agile Teams, Adison-Wesley. 2006. The book is scheduled to be released on May 25, 2007.
*** See the comparison of the two paradigms from the sample chapter of the book: http://www.awprofessional.com/content/images/0321278720/samplechapter/Guckenheimer_ch01.pdf

0 Comments:

Post a Comment

<< Home