Agile Process Showcased at IT Architect Event
        
        
        
        Last week, IT architects put their profession squarely on  the map at the first annual IT Architect Regional Conference for Southern California. This local San Diego-based event,  part of the International Association of Software Architects (IASA), wasn't just a typical forum  for punditry on the sometimes obscure topic of service-oriented architecture  (SOA). It was more a meeting of colleagues. The keynotes and sessions were  frequently paused to answer spontaneous questions and remarks from attendees. 
The first keynote speech, by Scott Ambler, IASA Fellow and  IBM Rational practice leader for agile development, wasn't about SOA at all. It  was about the agile software development process, which Ambler predicted would  probably become the norm by 2010. Ambler spoke on "Agile Strategies for  Enterprise Architects." 
The agile process is usually defined as the use of small  teams to create frequent software builds and releases. Agile teams typically create  solutions without slowing down to document the process. In that sense, agile  development is often contrasted with the traditional waterfall software  development approach, which is heavily documented and prescribed. While that's  a common way to characterize agile development, Ambler said no formal  definition for the term really exists.
The majority of companies appear to be engaging in the agile  software development process. Ambler cited a March 2007 Dr. Dobbs Journal survey of agile development where 69 percent of  respondents said that their organizations were doing one or more agile  projects.
Ambler called the concept of following repeatable processes  in software development a "stupid idea." He said that teams work  together differently and that the development process should stop catering to constructs  formed by bureaucrats. People are not going to follow repeatable processes for  the sheer joy of it, he said. What is really wanted is repeatable results.
In practice, you can't make decisions based on your  documents (a traditional waterfall approach). There's nothing wrong with  documentation, but agile developers are smart about it and don't try to write  speculative documentation, Ambler said. 
Writing the requirements first is not practical, for a  number of reasons that Ambler described.
"We build software to meet the changing needs of our  stakeholders," he said. "The stakeholders will change their minds.  Trying to write a requirements specification -- trying to set up a design  document early in the lifecycle -- is absolutely crazy. People are not good at  defining up front what they want. We've known this for a couple decades  now."
One reason to go with agile software development is that 45  percent of software functionality is not used on successful software  development projects, per data from the Standish  Group that Ambler didn't specify. Under traditional methods, developers may  spend nearly half of their time creating functionality that their customers  won't use and don't really want.
To emphasize the point, Ambler said that 80 percent of  business stakeholders don't want the software that is written to spec (without  citing the source).
Still, something isn't quite right with the performance  estimates generally expressed about IT software development. For years,  research firms like the Standish Group have found that software development  teams aren't doing so well. Only 31 percent of software development projects  are deemed successful. Ambler said that such stats don't sound right, and so Dr. Dobb's Journal conducted a study in  August of this year to allow people to define project success on their own  terms. When you do that, you get significantly better success rates, he said.
So what do business stakeholders want? Respondents to the  August Dr. Dobbs Journal survey defined  a successful software development project as follows:
  - Software was delivered when ready as opposed to being on schedule -- 61.3 percent;
- Software was produced with ROI and under budget -- 79.6 percent;
- Software quality was produced that meets needs, regardless of time and budget constraints -- 87.3 percent; and
- Software met the needs of business stakeholders -- 87.3 percent.
Having a quality product at the end of the process appears  to be the key yardstick by which business stakeholders measure the success of  any particular software development project.
The least likely people to agree on a software development  project are the business stakeholders and the project managers, Ambler said.  Business stakeholders are also the least likely to put credence into sending the  software development process offshore, he added.
Agile development entails a few model strategies. First, you  need to look at the whole picture, plus ensure that the architecture is  attractive to your customers. There has to be active business stakeholder  participation in making applications as opposed to just IT. After all, business  stakeholders have made applications using Excel and Word for years. The use of  just-in-time modeling is a good approach in combination with testing. Finally,  Ambler said that the "good enough" basis is the most efficient model  that you can have. If something is good enough, which is the definition of an  agile model, then it is done. The good-enough approach becomes possible when the  culture embraces change, he added.
A change requirement late in the lifecycle should be  considered to be a competitive advantage, as long as you can act on it. Traditional  change management, where you try to prevent a requirement from changing, is  fundamentally flawed. And that's why business stakeholders don't like IT,  Ambler said. He noted that a recent newspaper survey of "the most despised  professions" pegged IT at the No. 3 position, just above used car  salesmen, and below politicians and lawyers.
Governance is critical to success in agile development, but  Ambler compared it to herding cats. The key is in providing the proper  motivation for developers (the cats). He cited some successes under the agile  process, particularly with regard to getting developers to follow the voting  process and do testing.
"We're getting developers to test," he said.  "Can you imagine ten years ago predicting that developers would demand to  test -- they'd think you're crazy. Yet that is the state today in the agile  community."
If you have more and more IT projects, you will need to have  an IT governance process in place. However, if you let the bureaucrats define  the governance process, which is what has been happening for a couple of  decades, then you'll have a bureaucratic governance process. Ambler said you  can get an effective governance process if you let the people who are good at  software development, who are good at IT, define it.
One agile development tenet is to have self-organizing  teams, but that doesn't mean you don't plan. The agile process is planned, but  it's done on a just-in-time basis. 
"Never let anyone tell you that agile developers don't  plan," Ambler said, adding that agile developers simply don't waste time up  front with modeling.
You don't want to be doing detailed models anymore. Tests  are a significantly better way to specify details than models. Still, the majority  (93 percent) of agile developers is doing whiteboard sketching -- they're doing  a little bit of modeling, Ambler said. 
Finally, developers just aren't good at estimating projects,  Ambler said. However, one effective agile management technique is something  called "planning poker." Essentially, planning poker is a method of  estimating project length by team members where they literally pick a card. It helps  motivate developers and get them to work out the reasons for their varying  estimates. 
        
        
        
        
        
        
        
        
        
        
        
        
            
        
        
                
                    About the Author
                    
                
                    
                    Kurt Mackie is online news editor, Enterprise Group, at 1105 Media Inc.