Skeezix’s Thoughts

October 19, 2009

Agile Programming

Filed under: standards — skeezix99 @ 9:42 pm

Agile Development

 

Agile Software development is a development methodology orginated in 2001.  It begins with the “The Manifesto for Agile Software Development”

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

The four points of the manifesto are intriguing because it is a fundamental shift in IT of focusing on the human aspect of the development rather than the process itself. 

 

Now I’ve always been an advocate of following the process, but it doesn’t have to be any particular process.  One of the primary leadership concepts is to “Challenge the Process.”  If there is a better way, I’m all for that.  So I have two questions about Agile Development:

 

1.      Is this truly a “process” or a formal way back to “cowboy coding”?

2.      If it is a process, is it the better way.

 

So with question number one, Agile Development seems to be growing up and becoming a true project management process.  There is an attempt to partner with PMI and move into a formal development “process”, in the sense that it would be a set, repeatable, process.  My biggest fear in Agile Development comes from my personal experience with software developers.  Now please don’t be hurt if you are a developer, I was one once too.  However, developers have a tendency to want to do their own thing, or in other words “cowboy coding”, I have yet to meet a developer who would admit that they have developed code with any bugs in it.  “I’ve tested the code myself, and it has zero defects!” 

 

To finish question number one, I am moving toward question number 2:  Is Agile Development a “better way”?  Like with most software development projects, this will depend on the project manager and how well they keep the team on track.  With a cooperative team of developers and strong project management, I believe that the Agile Development principles (see http://agilemanifesto.org/principles.html ) are very sound and can result in happier customers.  But, this is a greater risk if the developers are not disciplined, the development could spiral out of control.

 

So my final assessment is that Agile Development can be a better way, if leadership is applied and discipline is followed. 

Blog at WordPress.com.