Sep 10, 2013

Agile development methodology: theme, epic and user story

Agile Development Interview Questions and Answers

Agile Development methodology Q1 - Q6 Agile Development methodology Q7 - Q16 Agile methodology: theme, epic and user story Pros and cons of agile development methodology and principles

This blog post extends and compliments Agile methodology or practices interview questions and answers

Q. What is the difference between agile theme, epic and story?

  • A theme is an objective that may span projects and products. Themes can be broken down into sub-themes, which are more likely to be product-specific. At its most granular form, a theme can be an epic.
  • An epic is a group of related user stories. An epic needs to be broken down into a user story before it is sized using fibonacci number (eXtra Smal [XS=1 pt] Small [S = 2 pt], Medium [M = 3], Large (L = 5), XtraLarge (XL = 8) , XtraXtraLarge [XXL = 13pts],  XtraXtraXtraLarge [XXXL = 21 pts] ) and introduced into a sprint. The sizing is similar to the T-shirt sizes. These points are also known as the velocity points to monitor progress.
  • A user story is an Independent, Negotiable, Valuable, Estimatable, Small, Testable requirement, which is abbreviated to “INVEST”. Even though stories are independent, they have no direct dependencies with other requirements and user stories may be combined into epics when represented on a product road map. User stories need to be defined prior to sprint planning in ABC (Accelerated Business Case) sessions where the development teams, QA (i.e. testing) teams and product managers can use them to discuss, size and prioritise at sprint-level. User stories will often be broken down into tasks during the sprint planning Process unless the stories are small enough to be consumed on their own. Tools like "MindMap" is used to capture the stories in the form of COS (i.e. Condition Of Staisfaction).  
  • The sized cards are prioritized interms of its value add to achieve the MVP (Minimum Viable Product) defined by the product manager and the business owners.

Q. How is an agile project monitored for progress?
A. Any one who has worked on an agile project would have come across thes key terms:

  • Colocation
  • Frequent delivery
  • Daily standups
  • Timeboxed tasks

The best evidence that a software project is on track is working software, preferably deployed to production.

Secondly, a burn down chart is used to present the progress to the management. Each sprint is basically 2 weeks and this is plotted on the X axis. The Y axis will have the velocity points. In each Sprint depending on the team size, a number of sized up cards are picked and the individual points are added up. For example say, 40 points. This chart is about how quickly you burn through the stories. These graphs can be plotted manually or via tools like Excel spreadsheet or JIRA.

Velocity is the key to agile project management.

Q. What are different roles in an agile project?

Mandatory roles:

Team lead:  This role, called “Scrum Master” in Scrum or team coach or project lead in other methods
Team member: This role, sometimes referred to as developer or programmer, is responsible for the creation and delivery of a system.  This includes modeling, programming, testing, and release activities, as well as others.
Product owner:  The product owner is responsible for the prioritized work item list
Stakeholder:  is anyone who is a direct user, indirect user, manager of users, senior manager, and operations staff member.

Optional roles that are typically adopted only on very complex projects 

Technical experts: Sometimes the team needs the help of technical experts, such as build masters to set up their build scripts or an agile DBA to help design and test their database.
Domain experts:  Sometimes the product owner will sometimes bring in domain experts to work with the team
Independent tester: to validate functional and non-functional testing. For example, security testing, performance testing, cross browser compatibility testing, etc.



Post a Comment

Subscribe to Post Comments [Atom]

<< Home