Programming today is easier and more accessible than it has been since the first programmers stared developing programs. There are IDEs to help a programmer code and languages that geared for specific styles of programming. When it comes to development processes a programmer has a lot of choices in the matter. In schools and for small programming projects a programmer might use a simple code and fix methodology. The code and fix method allows programmer to quickly release a project without much thought of the life cycle of the program. For any project larger than what a single person could do in just a few hours or requires a group of programmers to tackle. The method of code and fix creates issues of work flow and product direction. Other development philosophies like Agile, Waterfall, The Spiral Method, RAD(Rapid Application Development) try to help guide the work flow of projects.
Waterfall methodology being an older methodology attempts to direct development in a top down flow. The top-level of the Waterfall method gather ideas for features which then the team has to develop and implement the said features into the final product. The bottom level is the finished product which is where part or all of the team continue to maintain the final product. With the Waterfall methodology, the authors of “Agile for Dummies” Scott W. Ambler and Matthew Holitza (2012) cautioned, that Waterfall can have problems with working back from a previous step development step back to a feature design step, as noted in figure 1. The model is set up to work in one direction and trying to work backwards from an implementation step to the features set may require a restructuring of the project design. With a restructuring of a project’s design a development team may run in to problems with the product arriving on time (p. 5).
Today’s development ecosystem need to be more flexible and have better returns than development processes like Waterfall. Agile is this modern flexible development philosophy and Agile is held together with a four pillar foundation. The Agile Manifesto is simple because like the name implies Agile development can quickly change directions where methodologies like Waterfall run into pitfalls. In the paper “A survey study of critical success factors in agile software projects” by Tsun Chow and Dac-Buu Cao (2007), they found that some of the most important aspects of a successful an Agile development project are part of the 12 principles of Agile. One of the main aspects found in the paper was the idea of having a delivery strategy. The goal of which is to finish a project with in a time schedule , while keeping the client informed (p. 968). By having a well-organized delivery strategy a team stays with in project bounds(pp. 966-967).
With an informed client the client can give in sight to features they want in the final product. Noted by Ambler and Holitza, the client and development team both come up with a list of features which most commonly are called User Stories . The user stories are there to help guide and keep the project on track. With a project on track hidden cost of time and money can be kept at a minimum. The format of a user story is simple, each story has an ID, the user prescriptive, a want and result (pp.16-18). With all the user stories the team can come up with a development plan. The plan can change as the team and client see their needs change allowing for a product that the end-user will want.
Ambler, S., & Holitza, M. (2012). In Agile for Dummies (IBM ed., pp. 5,16-18). Hoboken: John Wiley & Sons.
Chow, T., & Cao, D. (2007). A survey study of critical success factors in agile software projects. The Journal of Systems and Software, 81(6), 961-971. Retrieved September 13, 2014, from: http://www.sciencedirect.com/science/article/pii/S0164121207002208
Kemp P., Smith P.(Author). (2010). Waterfall Model, Retrieved September 13, 2014, from: http://en.wikipedia.org/wiki/File:Waterfall_model.svg#filelinks