by Doug Sims, CFUnited Correspondent
http://evenamonkey.com
This year I found myself attending CFUnited after only six days in a new job and my first experience working in an Agile/SCRUM environment. I left San Antonio armed with the agile development book from Microsoft Press. Needless to say, I gained more knowledge about agile development in a one hour session with John Paul Ashenfelter than I did reading the first four chapters of the book on the plane.
John Paul was able to sum up the basic principals of Agile Development in only 24 words in his Agile Manifesto:
Individuals and Interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Thank you, Mr. Ashenfelter. Awesome and concise, if I don't say so myself. First, let's expand upon these four goals in the Agile Manifesto, before discussing ways to meet some of these goals in practice.
In practice, what does this mean?
Produce working software: As this is the primary measurement of progress, give the customer constant access to the system, which is updated frequently.
Individuals and Interactions: The developers control the development process, including development tools, platforms, methodology
Customer Collaboration: Put the end user on your team. Collect user stories(personas), use short iterations and most importantly, make sure the application is always accessible.
Respond to Change: Embrace change in your development process. It's going to happen whether you plan for it or not, so better be prepared.
Continuous integration has the quickest ROI (return on investment):
Investing in people is the biggest ROI:
After working in a traditional development environment for the last seven years, I am more excited that ever to be working in an Agile environment. It is truly a smarter way to develop software. SCRUM methodologies take this even one step further with daily stand-up meetings where each team member communicates what they accomplished the last day, what they plan to accomplish in the next day and any impediments that need to be cleared for progress to continue. In other words, no excuses/high productivity. In our stand-up meeting, we pull up all code committed to the source code repository from the day before on the overhead projector for review by all developers, Quality Assurance and the meeting facilitator. This makes for better software by default, as each developer knows that with every line of code written or modified, they will need to be able to communicate not only what the fix was, but also how and why this is the best solution to the issue at hand. In a popular add campaign a few years ago, Steve Jobs and Apple encouraged us to 'Think Different' when we were choosing a computer platform. After seeing the flaws in the traditional corporate development environment for the last seven years, thinking different about software development is a refreshing change.
Currently a Senior ColdFusion Developer for Harcourt Assessment in San Antonio, Doug Sims has developed enterprise level web application solutions for the heath care, education and broadcast industries. Besides delivering rich web applications and spending time with his family, he also has contributed music for the soundtracks of several independent films. His blog can be found at http://evenamonkey.com.