This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Agile and Other Processes and the fly likes Did agile development make you faster or better or both? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Did agile development make you faster or better or both?" Watch "Did agile development make you faster or better or both?" New topic
Author

Did agile development make you faster or better or both?

Lars Behnke
Ranch Hand

Joined: May 09, 2006
Posts: 76
I'd be interested in the experiences you made with agile development as compared to conventional development in real world projects.

Did agile development save you time?
Did agile development have an positive impact on software quality?
Did agile development make your programmers happier (or did they burn out)?

Please share your experiences.

Lars
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
I'm convinced that adopting Agile practices has in fact saved our product, if not our company.

Before we started with practices like testing, refactoring, pair programming etc., our product shared the fate of so many products - it became harder and harder, more and more costly to add new features. Even the simplest extensions where hard to impossible to implement, because of all the unexpected side effects, subtle bugs etc.

By applying Agile practices, we were able to change that - after some time, new features became less and less costly and risky. Our management is quite happy with this change, although I fear they don't quite understand what was necessary to do it...


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

Originally posted by Lars Behnke:
Did agile development save you time?

Absolutely! On a developer level, it saves time because I am able to maintain a faster velocity. I get into a tight loop with testing/coding and am able to commit often. It also gets me to think about code in smaller chunks. And just like with mergesort, it is faster to solve smaller problems. On a project level, it saves time because we find problems faster - both on the design and integration levels.


Did agile development have an positive impact on software quality?

Yes! We've found plenty of regression errors this way. We also set up tests to find common problems before they make it into the codebase. (Such as accessibility errors.)


Did agile development make your programmers happier (or did they burn out)?

Note there are more than two choices here. Someone can be unhappy without burning out. That said, it certainly makes me happier. Our team has only had one employee leave in the last five years, so I don't think it causes burnout.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Christophe Verré
Sheriff

Joined: Nov 24, 2005
Posts: 14688
    
  16

Even the simplest extensions where hard to impossible to implement, because of all the unexpected side effects, subtle bugs etc.

I'm not convinced that Agile would prevent that. Isn't there more fundamental problems behind that ? Or do you simply mean that with a good unit testing package, those unexpected side effects will be detected ?


[My Blog]
All roads lead to JavaRanch
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Christophe Verre:

I'm not convinced that Agile would prevent that. Isn't there more fundamental problems behind that ? Or do you simply mean that with a good unit testing package, those unexpected side effects will be detected ?


Writing unit tests will in fact also reduce those side effects directly. Let me explain:

To effectively write unit tests, you need to have units that are testable. (Doh!) Testable units are units that are well decoupled from other units, and that are therefore easy to get into a test harness in isolation. So refactoring code so that it is testable leads to a better decoupled design.

Unexpected side effects mostly come from inappropriate coupling. By forcing you to better decouple your design, writing tests directly reduces the amount of unexpected side effects.

Frankly, for us it probably weren't unit tests that had the biggest effect, but rigorous refactoring. And yes, we refactored a lot without having tests in place. It's a risky undertaking, and I wouldn't really recommend it, but for is it actually worked out in the way that we at least removed many more bugs than we newly introduced.
 
Don't get me started about those stupid light bulbs.
 
subject: Did agile development make you faster or better or both?