Archive for February 2009
I noticed that Israel will be at a couple of Agile related events soon:
- March 3rd – Israel and Sebastian Hassinger will give a talk – “The Use of Agile Methods by the Entrepreneur” – at the local, Austin Agile user’s group. See the details over at the Agile Austin site.
- March 5th – Israel will be talking with rPath in a webinar on the topic of “Extending Agility to Dev and Testing via Virtualization and Cloud.” See more details here as well.
- March 18th, March 26th, and April 2nd – Israel will be talking during the Rally Agile Success Tour.
- April 30th – he’ll be over at PMI Houstn 2009.
Peggy Reed shared with me her thoughts about beautiful software. To quote Peggy:
Beautiful software goes beyond elegant GUI and elegant APIs.
Peggy will elaborate on this intriguing subject on March 18 in Denver as part of the Agile Success Tour organized by Rally Software. Until she discloses her “secret sauce”, I would allow myself to share one fascinating linkage: IMHO Peggy’s thoughts about beautiful software are very synergistic with Jim Highsmith‘s ideas about intrinsic quality.
Both the Rally team and I will elaborate on the subject after the March 18 event. Stay tuned…
I have been speaking with various panelists in preparation for the forthcoming Rally’s Agile Success Tours. One emerging thread in these pre-panel discussions is the need to elevate the playing fields. Nobody doubts, of course, the importance of the nuts and bolts of Agile. But, just about every panelists I spoke with believes we should pay as much attention to end-to-end corporate business considerations. In other words, we are starting to shift from “How” to “What”, from the small scale roll-out to enterprise level Agile.
Colleague Michael Mah describes comparing time-to-market, productivity and quality of a project team against industry averages as being outside the elevator. With the focus on iteration and release, it feels like being in an elevator – precious little contact with the outside world. For example, you do not know where other elevators are headed and what their speed is until you step out of the elevator. As long as you are in your “elevator”, it is quite difficult to objectively assess whether your Agile roll-out is or is not going well.
Until you collect the data and acquire the analytics to compare your team to other project teams in the industry, here are a few early warning signs for Agile implementations that might be heading toward trouble. Like everything in Agile, they give you the opportunity to take the input as call to action and apply the necessary measures to improve your process.
Time spent with Agile teams in the trenches
This is the simplest yet the most reliable warning sign. If you are the executive in charge of the Agile roll-out, examine your calendar over a certain period of time with respect to two questions:
- Do I spend enough quality time with the Agile teams to be able to notice the rest of the early warning signs listed below?
- Am I involved in a manner that clearly demonstrates my support of and commitment to the Agile roll-out?
The data you collect from your calendar is simple. For example:
- Number of stand-up meetings attended.
- Number of bi-weekly demos attended.
- Number of hours spent in release planning.
You do not need to say much in any of these forums. You might even choose to be completely silent through a stand-up meeting . However, you must spend quality time with the teams that are getting into Agile. Allocating 20-25% of your time to being with the Agile teams in the trenches is quite appropriate, particularly in the initial roll-out phases.
Failure to prioritize
The great advantage of this warning sign is that it can be spotted fairly early. In its implicit form, this sign manifests itself as multiple backlogs when one backlog should have sufficed from a product perspective. In its explicit form it manifests itself as everything is important statements and pressures. In severe cases you might even notice that the Product Owner is not really part of the team, that an us versus them attitude prevails.
Chronic reductions in scope
Flexibility is very different from mushiness around the minimum credible line of a release. Repeated reductions in scope, as distinct from substituting one requirement for another, is a certifiable sign of trouble. Something is wrong if reductions in scope happen one iteration after another. Something is terribly wrong if team members believe the Agile philosophy is supportive of scope reductions in an unconstrained manner.
In some cases the heart of the matter might be as simple as inadequate estimation techniques, not inadequate execution. However, until estimation accuracy improves, relationships between R&D and marketing and sales are likely to be strained.
This warning sign tends to manifest itself later rather than earlier in the Agile release. However, it is quite easy to spot.
Weak focus on outcome
This warning sign is a close cousin of chronic reduction in scope. It usually manifests itself as misplaced focus. For example:
- The focus is on the team progress rather than overall project progress
- Output numbers become more important than outcomes
- Managers and directors bicker about which team was “behind”
- Product marketing changes the backlog frequently under the “Agile flexibility” banner
Not keeping up
Keeping up with all facets of Agile practices amidst short iterations can be quite demanding. Watch out for repeated failures to keep up with:
- Continuous integration
- Completing stories within the iteration
- Resolution of blocking issues
- Regular bi-weekly demos
- On-going release-ability
- Technical debt
This warning sign is best used in the aggregate rather than in a discrete manner. To properly use this sign, watch for cumulative effects rather than a single failure.
Acknowledgements: Many thanks to Igor Bergman, Walter Bodwell, Mike Lunt and Roy Ritthaler for sharing their warning signs with me and with the readers of this blog.
An enterprising developer shared the following experience in the Agile Requirements Process workshop hosted today in Austin, TX by Enthiosys and Borland. As he did not have a QA team, he requested his end users to do the QA for his product. Asked how well it worked he responded with three words:
They loved it!
“As you might expect, we are in a batten down the hatches mode.” These words, taken from an email an executive just sent, prefaced his decision not to go ahead with planned Agile projects due to the need to cut costs. His operating assumption is simple: His company must cut costs now and will somehow manage without investing in Agile software and consulting.
Real $$ are hidden in your software
In Estimating Software Costs, author Capers Jones quantifies five year cost of software application ownership (for the vendor). He examines three similar applications, each of nominal size of 1000 function points, as a function of the sophistication of the corresponding projects. The respective life cycle costs are as follows:
- Lagging projects: $2,316,000
- Average projects: $1,860,000
- Leading projects: $1,312,000
Jones goes on to issue the following stern warning:
All known compound objects decay and become more complex with the passage of time unless effort is exerted to keep them repaired and updated. Software is no exception… Indeed, the economic value of lagging applications is questionable after about three to five years. The degradation of initial structure and the increasing difficulty of making updates without “bad fixes” tends towards negative returns on investment (ROI) within a few years.
Dwindling maintenance revenue streams complicate the situation
Revenues from maintenance services are subject to severe pressures these days as many customers are renegotiating service contracts. Igor Stenmark foresaw and foretold the phenomenon in November 2008. To quote Igor:
…sacred cows like software maintenance can become hamburger meat if users feel enough of a budget pressure.
Net net, as they say, the exec mentioned above is likely to face rising maintenance costs due to software decay over time. At the same time, revenues from maintenance contracts are bound to fall short of projections due to customers renegotiating their contracts.
The shiny new toy is not a cure
Recognizing the software maintenance conundrum they are caught in, many executives are pushing hard to develop new software to increase sales in order to compensate for the decline in revenues from software maintenance services.
What is missing is a serious commitment to improve the underlying software process. Software developed today might indeed be sold as a shiny new toy tomorrow. But, unless the software process is improved, a little down the road the new software will have similar maintenance problems. The corrosive effect of software decay on the shiny new software will become more and more severe as a function of time. The current business environment, hopefully, will change in a few years. However, the underlying software development and maintenance laws will not. No getting around it.
No better time than now
The numbers from Capers Jones cited above are illustrative of the cost savings you could expect to attain by modest investments in improving software process and practices. You might perhaps have more attractive cost saving alternatives available to you. However, if you don’t, there is no better time to invest in software process and practices than now.
In last week’s Agile Austin Distinguished Speaker Series, Sue Mckinney and Pollyanna Pixton presented the Agile/Lean work they carry out at IBM. Their approach to making Agile of interest to 25,000 employees in IBM’s Software Group stands in nice contrast to the classic quip “I am from Corporate; I am here to help you.” As a matter of fact, during her presentation Sue recounted how as a developer she disliked edicts that came from above when they did not suit context and reality in the trenches.
Sue’s presentation is available here. It deserves thorough reading by anyone who is concerned with scale and scope issues in Agile roll-outs. Here are some of the more interesting points:
- The initial impetus to go Agile was time-to-market imperatives
- The Development Transformation program which Sue drives at IBM provides a menu of thirteen Agile/Lean best practices a development team can choose from.
- The program puts an emphasis on adaptive planning
- The program stresses the importance of sharing both code and best practices
- An expanded community of 40,000 IBM’ers and >100 customers are part of the program
- Geographically distributed teams are considered the norm at IBM (given the company’s M&A strategy); Agile practices must take this reality into account
Interestingly, in the series of workshops she delivered at IBM, Pollyanna did not even speak about Agile! Instead, she talked about the various aspects of collaboration and team dynamics. You can get a good sense of the themes Pollyanna covered at IBM in her presentation on Collaboration and Collaborative Leadership in the Experience section of the Accelinnova web site. See Jean Tabaka’s note and Michael Cote’s note for complementary opinions on collaboration, organizational dysfunction and Agile.
Sue and Pollyanna are continuing their Agile roll-out work at IBM. Stay tuned….