Stephen A. Fuqua (saf)

a Bahá'í, software engineer, and nature lover in Austin, Texas, USA

Be Agile

Like many, when I first encountered the term “agile software development,” I thought it was an excuse for a cowboy culture: low planning, low documentation, run as fast as you can and assume that each person’s brilliance will take care of everything. As it came up in the context of a very large client asking us about our methodology, I thought I should dig into a little more. Integrating Agile Development in the Real World, by Peter Schuh, quickly showed me it is not that simple. Agile development is, in fact, all about fostering a systematic, right-sized, just-in-time development process. For me, being “agile” means embracing change instead of being locked into preconceived notions (requirements). But don’t throw everything out the window either.

How do we become agile? Read the Agile Manifesto, then scroll down and read the Agile Principles. Work on internalizing them, especially that part where the Manifesto acknowledges value in processes, tools, documentation, etc.: “while there is value in the items on the right, we value the items on the left more.” That’s a start on the mindset. Now what about practice?

Review the various methodologies. Consider adopting Scrum (2), Crystal Clear, Extreme Programming, DSDM, or Adaptive Software Development. All of these are mature frameworks with a great deal of experience behind them. If possible, adopt one by the book: don’t try to adapt or alter until you’ve mastered the practice (Shu Ha Ri). If it is “not possible,” then adopt what you can and work on breaking down the barriers, in close collaboration with stakeholders and management (you won’t be able to go it alone, from the trenches).

Resources

Books

Clearly, this is just a small set of all those available on the subject — books that I have actually read and recommend:

Articles

/tag/agile

Posted with : Tech, General Programming, Agile / Scrum