A n artist grows through their career by experiencing the creative process repeatedly, gaining satisfaction and skill with each attempt. The growth of individuals involved in the creation of software solutions follows a similar pattern.
The key to reaching excellence is tied into the technique, or process, that fosters repeated self-inspection and improvement. A framework I would recommend for achieving this is Agile.
There have been many blog posts and books written that trumpet the benefits of employing an Agile framework for software development. In fact, a search of “agile vs waterfall” in Google returned approximately 625,000 results. I reviewed the top 10 of those results and they all said basically the same thing; Waterfall is terrible and Agile is awesome. Shocking. Is Agile a silver bullet? No. Does it magically solve all of an organization’s problems? No. Can it help you deliver higher quality solutions that better address customer needs? Absolutely.
Most of the literature you find that speaks to the benefits of Agile focuses on predominantly the same areas; Transparency (or Visibility), Adaptability, Business Value and Risk Management. These are all areas where I believe Agile absolutely excels in comparison to traditional Waterfall. I also believe that so many people miss one of the really critical byproducts of Agile that leads to the existence of an incredible “circle of satisfaction & excellence”.
Disclaimer: The majority of my direct experience has been with SCRUM so my opinions and viewpoints expressed in this post will come from that background.
I gravitated toward Agile almost 7 years ago because the basic values rang so true with me that I knew instantly it was going to be the only way I wanted to develop software. The Agile Manifesto, which is the epitome of complexity through simplicity, reads as follows:
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.
That’s the manifesto in its entirety – it embodies the spirit of Agile in just 9 lines of text.
It’s been my experience that the people involved in creating software, every position from idea to delivery, want one primary thing and that is to see people use the things they create. Like an artist who puts a brush to canvas or songwriter with a pen in hand we’re all working with that one primary goal in mind; getting our work out into the “public” to be seen and appreciated. When you can properly implement an Agile methodology like SCRUM and reach a state of “flow” it’s a magical thing to witness. Teams will self organize and work in a collaborative fashion to solve problems and make important decisions. People are engaged, motivated and excited to come to work every day. There is energy in the air that is difficult to really describe but it’s an energy that makes every goal feel achievable.
When the process is working the people within typically have a high level of job satisfaction that results in people who are dedicated to their company and their craft. This satisfaction and dedication generally creates employees with long tenures. When delivering successful projects time & time again, learning more and more about the organization and the industry they serve, people are able to contribute at higher and higher levels thus creating the “circle of satisfaction & excellence”.