Agile Methodology - Primer



Agile is a software development methodology to develop a software incrementally utilizing short iterations of 1 week to 1 month so that the development process is lined up with the changing business needs. Rather than a single-pass development of 6 to 18 months where all the prerequisites and risks are predicted upfront, Agile adopts a procedure of frequent feedback where a workable product is delivered after 1 week to 1 month iteration.

traditional-vs-agile-project-management

Roles in Agile

Scrum Master

A Scrum Master is a team leader and facilitator who helps the colleagues to follow agile practices so that they can meet their responsibilities. The responsibilities of a scrum master are as per the following −

  • To empower close co-operation between all roles and functions.

  • To remove any blocks.

  • To shield the team from any influences.

  • To work with the organization to track the development progress and processes of the company.

  • To ensure that Agile Inspect & Adapt processes are utilized properly which includes

    • Day by day stand-ups,
    • Planned meetings,
    • Demo,
    • Audit,
    • Review Meetings, and
    • To facilitate team meetings and decision-making procedure.

Product Owner

A Product Owner is the person who drives the product from business perspective. The responsibilities or a Product Owner are as per the following −

  • To define the requirements and organize their values.
  • To decide the release date and contents.
  • To play an active role in iteration planning and release planning meetings.
  • To ensure that team is working on the most esteemed requirement.
  • To represent the voice of the client.
  • To accept the user stories that meet the meaning of done and defined acknowledgment criteria.

Cross-functional Team

Every agile team should be a independent team with 5 to 9 colleagues and an average experience ranging from of 6 to 10 years. Normally, an agile team comprises of 3 to 4 developers, 1 tester, 1 technical lead, 1 product owner and 1 scrum master.

cross_functional_team

Product Owner and Scrum master are considered to be a part of Team Interface, though other members are part of Technical Interface.

How an Agile Team Plans its Work?

An Agile team works in iterations to deliver user stories where every iteration is of 10 to 15 days. Each user story is planned based on its backlog prioritization and size. The team utilizes its ability − how many hours are available with team to work on tasks − to decide how much scope they have to plan.

planning

Point

A Point characterizes how much a team can commit. A point usually refers to 8 hours. Each story is estimated in points.

Limit characterizes how much an individual can submit. Limit is assessed in hours.

Capacity

Capacity defines how much an individual can commit. Capacity is estimated in hours.

What is a User Story?

A user story is a prerequisite which characterizes what is required by the user as functionality. A user story can be in two structures −

  • As a <User Role> I want <Functionality> so that <Business Value>
  • In order to <Business value> as a <User Role> I want <Functionality>

During release planning, a rough estimate is given to a user story utilizing relative scale as points. During iteration planning, the story is separated into tasks.

Relationship of User Stories and Tasks

  • User story talks about what is to be done. It characterizes what a user needs.
  • Task talks about how it is to be done. It defines how a functionality is to be executed.
  • Stories are executed by tasks. Each story is a assortment of tasks.
  • User story is separated into tasks when it is planned in current iteration.
  • Tasks are estimated in hours, generally from 2 to 12 hours.
  • Stories are validated using acceptance tests.

user_story_relationship

When a Story is Done

The team decides what done means. The criteria may be −

  • All tasks (development, testing) are finished.
  • All acceptance tests are running and are passed.
  • No defect is open.
  • Product owner has accepted the story.
  • Deliverable to the end-user.

What is Acceptance Criteria?

Criteria defines the functionality, conduct, and performance required by a feature so that it can be accepted by the product owner. It characterizes what is to be done so that the developer knows when a user story is complete.

How the Requirements are Defined?

Requirements are defined as

  • A User Story,
  • With Acceptance Criteria, and
  • Tasks to execute the story.




Input your Topic Name and press Enter.