Resolutions: Integrity of Code and Conduct
Resolutions for Software Organizations:
In December's AgileJournal, editor Liz Barnett noted that while "management is focused on business value, governance, and software delivery ... Agile advocates still focus on the developer community," and suggested that success with Agile approaches in 2007 will require continued focus on these aspects:
- Consider best of breed Agile practice adoption as an option, not a rebellion.
- Figure out your Agile governance solution
- Incorporate Agile processes on enterprise software projects
- Address deployment and not just development
- Measure success in business terms
"Delivering value to the business is the imperative for every software development organization."A Technologists' Resolution:
In the same edition of AgileJournal, Kirk Knoernschild said that "'teams embracing agility typically emphasize process and practices and ignore the technological aspects necessary to increase agility." Poorly crafted code, a rigid infrastructure, or complex tools and frameworks prevent teams from realizing the full advantage of agile practices. He reminded readers that Agile's "thinking tools" are not enough, teams must also craft code, develop a supporting infrastructure, and adopt tools and frameworks that encourage and embrace change. For 2007, he resolves to focus on technologies that support the agile practices that, in turn, support a team's ability to remain agile:
- Agile Code: The ability to accommodate changing requirements is directly related to the flexibility and malleability of the code base. Agile code is: loosely coupled, highly cohesive, fully tested, expressive, rarely duplicated
- Agile Infrastructure: Incremental software delivery is a core tenet of agile development. In addition to agile practices such as continuous integration, the ability to deliver functional software frequently and incrementally is directly related to a team's infrastructure components, including: shared environments, source repository, build server, local sandbox, flexible hardware platform.
- Agile Tools and Frameworks: A team's ability to remain agile is directly related to their toolset's ability to be: testable, non-invasive, easy to use, flexible, lightweight.
In Dr. Dobbs' Journal, Scott Ambler asked "Is the agile community shooting itself in its collective foot?" as he took on the well-work subject of electronic etiquette. Human nature being what it is, members of lists and forums still find it necessary to handle troublesome or annoying posters like: The True Believer, The Mind Reader, The Hypocritical Preacher, The Spammer, The List Dictator, The Unknown Poster, The Indifferent Specialist, The Backstabber, and The Blamer. Before we point fingers, we should consider whether there's really a "they" in this us-and-them list...
As Walt Kelly's cartoon character Pogo aptly said, "We have met the enemy and he is us." If the agile movement is to continue to grow we need to help existing traditionalists understand and learn agile philosophies and techniques. This isn't going to happen if we continue to embarrass ourselves the first time that they interact with us.In 2007, Ambler suggested that a critical success factor will be our ability to attract traditionalists to our way of thinking. To this end, he has invited readers to make the following New Year's resolution:
"This year I will improve the tone of my conversation on discussion lists and in other public forums, and when I see others struggle to do the same I will do whatever is appropriate to respectfully help them to improve their own tone."