| Christian Sepulveda's Blog | |||||||||||||||||||||||||||||||||||||||||||
|
August 09, 2005
The Importance of Closing the Gap Between Customers and Developers
I think in a software project there are varying notions of reality regarding the actual application being developed. They are:
This is represented in the following diagram:
The gap between these perspectives is normal, particularly at the start of a project. However, I think it is difficult for a project to succeed if the gap is not being closed; there needs to be alignment and overlap among the different viewpoints. One of the motivations of agile software development, at least in my opinion, is to help close these gaps. The high bandwidth of communication, intense collaboration, emphasis on feedback and the importance of acceptance tests are techniques to communicate the assumptions, needs and current state of each different constituent. With each iteration, the gap should be bridged a little more. This raises an interesting question: How can you measure or monitor the shrinking (or worse the expanding) of the gap? I don't think you can measure this directly. However, there are a variety of indicators that can help evaluate how well you are closing the gap. Bugs are probably the best indicator. A bug represents a mismatch in expectations, understanding or communication. Bugs are reported when a calculation is incorrect as well as when a user doesn't like the number clicks it takes to perform an operation. In both cases, there are one or gaps between what the user needs and what the application is providing; perhaps the product owner specified a requirement that made the user experience awkward or a developer missed a test case. If your bug rates aren't going down it is an indicator that the gaps are not shrinking. I suggest assessing the cause for the constant (or growing) bug rate by evaluating which gap is the widest. Understanding where the communication / comprehension breakdown exists is the most important step in resolving it. There are other indicators as well, such as the amount of churn in stories (requirements) and the overhead of specifying stories. If you are revisiting the same areas of the application frequently, whether the reason is user dissatisfaction or defects, there are gaps between the user and the product owner or between the developer, user and code base. There are ultimately two reasons for closing the gap: delivering a product that users like (and will buy) and lowering the cost of change. One reason is a huge component of succeeding today, the other allows you to succeed tomorrow. When the gaps are small and there is alignment between the user, the application and all those in between, you will probably have a winning project. Posted by csepulv at August 9, 2005 12:55 PMPost a comment
|
cs@atdesigntime.com Syndicate this site (XML RSS 2.0)
Search
Archives
November 2005
October 2005 September 2005 August 2005 October 2004 March 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003
Recent Entries
ANN: Website Facelift and New Blogs
The Power of the Collective Brain Agile 2.0 and Web 2.0: A Perfect Match Fitness Functions and Agile Development Agile, Waterfall and Core Assumptions Three Important Considerations for a Candidate Guidelines for Being a Strong Job Candidate
Links
Browse By Category
| ||||||||||||||||||||||||||||||||||||||||||