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

The Agile Team

Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile Team consists of roles such as Stakeholder, Product Owner and Team Member. (Ambler & Holitza, 2012)

Product Backlog

Figure 1.1 : Product Backlog. Pichler (2013). Retrieved from

stakeholder is someone who’s financially impacted by the outcome of the solution and is clearly more than an end-user. A stakeholder may be one of the following: a direct or indirect user, a manager of users, a senior manager, an operations or IT staff member, The “gold owner” who funds the project, an auditor(s), a program/portfolio manager.  A product owner is the team member who facilitates the team members to understand the requirements of stakeholder. Along with this, a product owner represents the needs and desires of the stakeholder community to the agile delivery team. He clarifies any details regarding the solution and is also responsible for maintaining a prioritized list of
work items that the team will implement to deliver the solution (Ambler & Holitza, 2012). The role of a team member focuses on producing the actual solution for stakeholders. Team members perform testing, analysis, architecture, design, programming, planning, estimation, and many more activities as appropriate throughout the project. In addition to these roles, some team members also carry out very specific roles such as a team lead, an architecture owner and an agile mentor. A project might have need to add some or all following roles: Domain expert, Specialist, Technical expert, Independent tester, and Integrator. Success of the Agile team depends on how well the people with different roles communicate with each other.(Ambler & Holitza, 2012)

My Personal Experience with Agile Team and Backlogs

In our cloud computing project we are a team of three members and we are developing a cloud based application. We are using Agile methodology to keep track of the tasks. As Agile team has very specific roles assigned to each of the team members, we are using the same strategy. Based on the skills of the people, we assigned roles as domain expert, developer and tester. The backlogs are helping us to keep our project on track.Understanding and implementing the agile team concept and backlogs are helping me to execute my projects successfully.

What is a Product Backlog? : Purpose and Importance


Figure 1.2 : Product Backlog . Bozzuto (2014). Retrieved from

A product backlog is nothing but a picture of how the final product should look like (Bozzuto, 2014). It consists of user stories arranged according to their priorities. After each iteration of agile cycle, the product owner updates the product backlog. The product owner needs to add any new user stories to the product backlog and rank those stories by priority. The product owner also adds stories that were scheduled for the current iteration, but not completed, back into the product backlog, and ranks those stories again based on the most recent priorities. The product owner needs to complete updates to the product backlog in time for the next iteration planning meeting.A good product backlog does not automatically ensure good software. However, the lack of a good product backlog often results in incomplete software that does not meet the requirements of your customers and stakeholders. Microsoft (2013)

Managing the product backlog is a full-time job. Simple techniques can help change what can be an overwhelming, time-consuming process to an interactive, iterative process that effectively engages team members, customers, and stakeholders. It’s essential, therefore, to learn solid techniques to help you build, prioritize, and maintain your product backlog. Microsoft (2013)

Pichler (2013). Pichler Consulting : The Product Ownership Test. Retrieved from

Bozzuto (2014). The Product Backlog : An Agile WBS. Retrieved from

Microsoft (2013). Microsoft Developer Network. Retrieved from

Ambler & Holitza (2012). Agile For Dummies®, IBM Limited Edition.  Hoboken, NJ : John Wiley & Sons, Inc.


What is Agile and What are User stories?

Let’s try to understand about Agile Development Methodology and User Stories. In general, a development methodology is nothing but the process followed to develop a software in a step-by-step manner. Agile itself is just a newer, best-of-breed collection of methodologies used to develop and maintain software. The Agile movement proposes alternatives to traditional project management. Agile approaches are typically used in software development to help businesses respond to unpredictability. Figure 1.1 explains the typical life cycle of Agile Development Methodology.


Figure 1.1 : Agile Development Model. Agile Methodology Blog(2011). Retrieved from

To understand the differences between traditional ‘Code and Fix’ or big-bang approach of software development and Agile Development let’s compare it with a traditional waterfall development method.(Ambler & Holitza, 2012)

Agile development provides opportunities to assess the direction throughout the development life-cycle(Ambler & Holitza, 2012). This is achieved through regular cadences of work, known as Sprints or iterations, at the end of which teams must present a potentially ready to release product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology is described as “iterative” and “incremental.” The waterfall method assumes that every requirement can be identified before any design or coding occurs. Hence, in the waterfall model, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited. When a team stops and re-evaluates the direction of a project every two weeks, there’s time to steer it in another direction. This “inspect-and-adapt” approach to development greatly reduces development costs and time to market.(Ambler & Holitza, 2012)

Agile methodology can be applied to develop many kinds of systems, including web-based applications, mobile applications, business intelligence (BI) systems, life-critical systems, and embedded software (Wikipedia, 2014). Organizations, including financial companies, retailers, healthcare organizations, manufacturers, and government agencies have adopted agile approaches.(Smith, 2010)

My Experience with Agile and User Stories

I am working on a encryption project and the team I am working with uses Agile methodology, As I studied Agile as a part of my CS200W course, it helped me lot to execute Agile methodologies while working on a real time project. We converted the requirements from customer into user stories. User stories, as explained below, precisely state what the business needs to do. As the requirements are precisely defined, the overhead associated with rework for changed requirement substantially decreases. I have personally experience this while working on encryption project. Let me quote example user story. As a user of encryption project

  • I want to store the information on my disk drive securely
  • I want the encryption to complete within maximum of 60 second window, irrespective of volume of data
  • I want to be able to encrypt the data on secondary disk and/or removable disk

What are User Stories?

A User Story is nothing but one or more sentences in everyday or business language, which will define what a user does or needs to do as part of his or her job function.User stories are used with Agile software development methodologies as the basis for defining the functions a business system must provide, and to facilitate the management of requirements. It captures the ‘who’, ‘what’ and ‘why’ of a requirement in a simple, concise way, often limited in detail by what can be hand-written on a small piece of paper. Here are some examples of User Stories. (Smith, 2010)


Figure 1.2 : User Stories (Smith, 2010). Retrieved from

As a user of banking software I want to

  • Check my account balance
  • Transfer money across continents
  • Pay my telephone bills online

As a user of Vehicle Insurance software I want to

  • Check my insurance claim history
  • Add a driver to my insurance
  • Pay my insurance bills

As shown in figure 1.2, a user story is  used for planning and developing the software. Acceptance test is performed at each stage in development. Iteration Planning can easily be done with the help of user stories.


Agile Methodology Blog(2011). Agile Methodology. Retrieved from

Wikipedia(2014). Agile Software Development. Retrieved from

Smith (2010). Garren Smith Blog. Retrieved from

Ambler & Holitza (2012). Agile For Dummies®, IBM Limited Edition.  Hoboken, NJ : John Wiley & Sons, Inc.