What Agile Dev. Means to You– The New Guy’s Perspective

admin, 25 December 2009, No comments
Categories: Marketing-Automation Industry Blogs

I came to Genius about two months ago for two reasons – the product and the process.  The product is, of course, excellent in my opinion. But what may not be apparent is how the quality of our product is a direct result of the quality of our process. Let me explain.

The Way We Were
Traditionally software is developed using something called the Waterfall Model where each step in the process (requirement specification, design, implementation, quality check, etc.) depends on the previous step being executed perfectly and on time. Teams using this model frequently have trouble and for good reason: software development is complex and it’s nearly impossible to anticipate in advance all technical and business problems that will be encountered along the way.

This means that by the time software is actually released it may not be what the market really wants and it also means that the development team is fractured leading to discord, miscommunication, buggy software and blown deadlines.

Genius used the Waterfall model exclusively until about 2 years ago. At that time (according to a recent presentation our team gave to a group of developers) the code was difficult to maintain, bugs were commonplace and release dates were unreliable. On top of that the mood in the office wasn’t Disneyland, the happiest place on earth.

In 2007, Genius decided it was time for a change.

Going Agile
Agile, the methodology Genius transitioned to, is a software development model that embraces change and encourages collaboration and self-direction. There are many tools and processes that fall under the Agile umbrella yet they all embrace the inherent uncertainty software development.

Agile focuses attention on developing and releasing the highest value features in the shortest time frame possible. It is deliberately ambiguous about long-term plans meaning the team can shift focus quickly to respond to customer, market or company needs – a huge bonus.

Agile also acknowledges that creating good software is a creative process. This means we use stories (the Agile way) of what a customer is trying to accomplish rather than technical specifications (the Waterfall way) as our primary means of communication. Once the team understands what the customer is trying to do, they can then collectively decide how best to solve the problem. The idea is to give clear direction to smart people then get out of their way and let them decide how best to accomplish the goal.

The Results
The proof is in the product. Now, in December of 2009, we have just had our 14th consecutive on time release, and have experienced a 90% reduction in bugs since May of 2007. We are releasing better code, and higher quality features, faster and more reliably than ever before.   This means the customer gets what they want faster, leading to happier customers and more Sales success.

Speaking of “happy customers”, the process has also produced a happier development team who are better equipped to create great products and then quickly see how that affects our customers’ success.  The mood in the office is both fun and serious.  The place is full of smart people who feel empowered to do their jobs well. I’ve been routinely impressed with the flexibility, good humor and teamwork of the company in general and the development team specifically.

I’m proud to be part of such a team and look forward to what we create in 2010.

Comments

Leave a Reply:

Name *

Mail (hidden) *

Website