Had a talk today with a group of our senior developers and the topic of discussion turned to our first official pilot Scrum project which just celebrated it’s first Sprint. One of the developers pointed out that it was a small project and now the users wanted to add all these extra features so it was going to stretch the project out a few months. So what benefit was it really?
As one who has drunk the Kool-Aid I pointed out that the point was even though the coding wasn’t that difficult except for the fact that the two developers had to learn JSF and IBM Websphere Portal in a single month to deploy it it wasn’t really the impressive part. The impressive part was that the software was deployable today and it had more features than the existing application it was replacing.
Under our normal process it would have taken at least 3 months to get the application to the same state. The customer would have to create a charter, then the PM would have to do some planning and determine the team. Then the business analyst would spend weeks writing up the requirements in “The System Shall …” style. That would have to be signed off before the technical analysis could start. Then weeks later the design document would be signed off on after a few rounds of reviews. Then coding would take place and it would be delivered to QA. Then QA would write test plans and start testing. Finally, UA testing would happen and then the app could get scheduled for production. Now on the pilot they delivered all of this in a single month.
At that point I think a lot of the developers in the room really saw the difference an Agile process can make.