“We are uncovering better ways of developing software by doing it and helping others to 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. “ –Agile Manifesto
An article for CIO by Paul Krill from InfoWorld discussed sentiments about agile technologies and the benefits and challenges associated with utilizing an agile paradigm. Krill states that agile programming is an area in which teams build software in short iterations rather than mapping everything out in advance. Though this offers flexibility, organizations still face challenges which were discussed at a workshop this past April in Mateo, California.
Rich Mironov, chief marketing officer at Enthiosys- an agile consulting firm, stated in the article, “I think the challenge, whenever we try to encapsulate a short definition of agile, is that it expands in a lot of directions. Really it’s a set of umbrella terms for a set of approaches that are going to be iterative, incremental, and collaborative.” Krill references Mironov’s presentation and states that “agile technologies feature more frequent delivery of smaller, valuable increments and build quality in rather than add it at the end.” The benefits associated with agile include:
o Strategic flexibility
o Improved team morale
o Depper connection
o Alignment with markets and greater profitability
In a February IMF Web Forum presentation by Benjamin Tomasini, Assistant Vice President and Application Developer at Bank of America, Tomasini presented solid approaches to strategic software design, team communication, and project process that development teams can adopt today to deliver projects quickly and with greater quality. He also discussed the strategic challenges that software development organizations face. In his presentation Tomasini focused on the ideas of Simplicity, code, abstractions, standardization, and the project process.
In terms of simplicity Tomasini notes that people in IT have a professional burden in that they need to analyze what they are doing in terms of design and understand if there is a simpler way to accomplish what they are trying to do. According to Tomasini, “when we look at technology, we need to think about how to make it simpler to use, how to use less, and to leverage what we have more effectively.” In relation to coding, this means reducing the number of codes written. With coding comes abstractions and Tomasini tells his audience to “look at abstractions in terms of using other people’s code.” Here, Tomasini suggests that abstractions are containers of logic similar to libraries and those organizations should be using third-party open sourced libraries. Another area that Tomisini placed emphasis on was standardization. Tomasini said, “We tend to move forward better if everyone does the same thing.”
Eric Jackson, Development Manager at Rollins also presented at an IMF forum this past June and discussed the Rollins’ journey toward agile development. He addressed why Rollins decided to implement Agile and Scrum, a popular agile method, and how each were tailored to fit their organization. In his presentation he also discussed specific examples of their success, mistakes, and pitfalls in moving from a non-iterative methodology to Agile.
The following ideas were considered as reasons for using Agile at Rollins:
o Cost Management
o Risk Reduction
o Value to the business
o Many enhancement or change requests
o Requests not easy to prioritize
o Improve user feedback
According to Jackson, one of the advantages that the organization saw was that business user requests appeared to be deployed more quickly to the end user than previous non-Agile projects. “Because things were done in smaller increments, delivery occurred more often, and the business could use these things in their production environments. “ In addition, there were smaller batches of code to handle as well as more “positive developer moment”
Jackson also mentioned that the organization encountered difficulty in applying all the principles of agile, so specific methodologies within agile were utilized. The organization eventually chose the Scrum method.