Ken Orr wrote ( in Cutter IT Journal Vol.3, No. 7 ):

Agile . since Jun 23 . Index . DOCs TOP TOC

"We Do Scale Up!" or "Getting Agile Development to Work on Large, Outsourced Projects"


Now we're looking at the problem from the other side. How do you take a methodology, like agile development, that basically evolved in small groups and then scale it up so that it works on projects with hundreds of developers and thousands of users? How do you take a methodology that was developed for highly skilled OO programmers and use it in low-skill organizations? These are some of the questions that proponents of agile development must face today.

 |

Reengineering Agile Development

Agile . since Jun 23 . Index . DOCs TOP TOC

Reengineering Agile Development


What changes need to be made to agile development today? Well, for one thing, more attention must be paid to some basic management issues: architecture, design, documentation, integration, and tools.

Agile development depends on breaking projects into time-boxed iterations. Application developers have to come up with methods for breaking up larger and larger projects into small agile development ones that can be somehow brought together. The only way that I know to do this is by spending some time at the beginning building a systems architecture that can then be used for planning a series of small incremental projects that can be brought back together to form a larger whole. With something as dynamic as agile development, this process can be more complicated than in a CMM environment. In Figure 3, from Highsmith's most recent book, there is an iterative agile development systems lifecycle that has a place in the adaptive cycle planning phase for this kind of systems architecture activity [3].

 

Figure 3

Figure 3 -- The agile development systems lifecycle [3].

Agile development simply must produce more design artifacts. The idea that the code ought to be the only documentation you'll ever need doesn't cut it. That's a little like saying that the chip contains all of the design concepts that you'll ever need to understand, let's say, a Pentium X computer. In its rush to minimize, agile development has thrown too much out with the bath water.

Finally, agile development has to get over its aversion to relying on tools. The software business has made itself one of the key drivers in modern business by providing electronic tools. If one could bring forward the best businesses from the 1960s into the present, they simply couldn't compete. Today's business world is an electronic one that operates in real time. Software development has to keep up. No matter how good our management strategy for software development, we can't get to where we have to without better and better tools.

Agile . Index . DOCs . TOC