The Agile Team and what is a Backlog? What are they for and why are they important?

In agile development there are many different approaches just like in java’s GUI frameworks. Java has AWR, Swing, SWT and many more GUIs to use. Each framework provides a slightly different feature set to the developer, but each one achieves the same goal, adding a GUI interface to a Java program. The different Methodologies in Agile like the ones noted in “Agile for Dummies” by Scott W. Ambler and Matthew Holitza (2012)are: Extreme Programing (XP), Lean Programing, Kaban, Unified Process (UP), Agile Modeling and Scrum(pp. 25-30). Ambler and Matthews have stated “Scrum is the most popular approach to agile software development.”(p. 25), to look into why Scrum is popular we must look at two aspects of Agile Scrum development. The team organization and uses of backlogs in Scrum style development.

The team dynamic in Scrum is a key principle of the agile method. The team members must share ideas with one another. By sharing ideas the project can evolve and helps to clear up development issues. In the journal article “People Factors in Agile Software Development and Project Management” written by Vikash Lalsing, Somveer Kishnah and Sameerch and Pudaruth (2012), observed three teams developing with a scrum methodology. Lalsing, Kishnah and Pudaruth’s made notes about how the teams were composed. Each team had people with specialization ranging from programming skills to business skill. The teams also had project leaders in charge of organizing the project teams and project managers that handle issues surrounding the scope of the team. The whole team had as simple work order the managers dealt with budget type issues for the team. Project leaders would spread information across the team effectively and so the rest of the team only had to worry about the project issues at hand (pp. 124-134). This way of handling the team’s management clears members of the team dedicated to building the core product to focus on their tasks. The question now is how is all this information shared to all the different levels of the team.

In scrum, the teams use a method of collecting thoughts in a commonplace called Backlogging.Backlogging allows teams to clearly lay out a plan of goal the team has decided on completing in a given scrum sprint. The photo “Task board” by Logan Ingalls (2010) is an example of a physical backlog.

Taken by Logan Ingalls, December 14, 2010

Taken by Logan Ingalls, December 14, 2010

Backlogs do not have to be physical, but they do have to represent user stories, to do items, active tasks and completed tasks. In the presentation “Estimation in Agile Projects” given by Dr. Christoph Steindl and Pål Krogdahl (2005), they point out that the idea of a backlog is to help organize the work flow of a project. Dr.Steindl andKrogdahl emphasize the importance of the team as a whole to organize the backlog as they are the ones who will have to implement anything they put into the backlog. While the team is working on any given sprint backlog only the team should be able to modify any part of the log as they can see issues as they come up (pp.12-15). If  an outsider like the client, changes part of the backlog as team is working on completing tasks, this can affect the overall production schedule. So it is important that teams keep a clean backlog as it is the key to the project staying on track.

Agile teams that have project managers, project leaders, core team members and follow a backlog stay on a development schedule is what makes scrum driven production one of the most used agile strategies.

 

 

References

Ambler, S. & Holitza, M. (2012). Choosing an Agile Approach. In Agile for Dummies (IBM ed., p. 74). Hoboken: John Wiley & Sons.

Ingalls, L. (2010) Task Board [Online Image] Retrieved September 21, 2014 from http://www.flickr.com/photos/plutor/5260265039/

Lalsing, V. , Kishnah, S. , & Pudaruth, S. (2012). PEOPLE FACTORS IN AGILE SOFTWARE DEVELOPMENT AND PROJECT MANAGEMENT. International Journal of Software Engineering & Application, 3(1), 117-137. Retrieved September 20, 2014, from http://airccse.org/journal/ijsea/papers/3112ijsea09.pdf

Steindl, C. & Krogdahl, P. (2005) Estimation in Agile Projects [PDF] Retrieved September 20, 2014 from http://cf.agilealliance.org/articles/system/article/file/1421/file.pdf

Links

Agile Manifesto

12 principles of Agile

A look at Agile and User Stories

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.

Figure 1. Waterfall model By Peter Kemp & Paul Smith

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.

References

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

Links

Agile Manifesto

12 principles of Agile