Agile is a software development methodology to build a software incrementally using short iterations of 1 to 4 weeks so that the development process is aligned with the changing business needs. Instead of a single-pass development of 6 to 18 months where all the requirements and risks are predicted upfront, Agile adopts a process of frequent feedback where a workable product is delivered after 1 to 4 week iteration.
A Scrum Master is a team leader and facilitator who helps the team members to follow agile practices so that they can meet their commitments. The responsibilities of a scrum master are as follows −
To enable close co-operation between all roles and functions.
To remove any blocks.
To shield the team from any disturbances.
To work with the organization to track the progress and processes of the company.
To ensure that Agile Inspect & Adapt processes are leveraged properly which includes
A Product Owner is the one who drives the product from business perspective. The responsibilities or a Product Owner are as follows −
Every agile team should be a self-sufficient team with 5 to 9 team members and an average experience ranging from of 6 to 10 years. Typically, an agile team comprises of 3 to 4 developers, 1 tester, 1 technical lead, 1 product owner and 1 scrum master.
Product Owner and Scrum master are considered to be a part of Team Interface, whereas other members are part of Technical Interface.
An Agile team works in iterations to deliver user stories where each iteration is of 10 to 15 days. Each user story is planned based on its backlog prioritization and size. The team uses its capacity − how many hours are available with team to work on tasks − to decide how much scope they have to plan.
A Point defines how much a team can commit. A point usually refers to 8 hours. Each story is estimated in points.
Capacity defines how much an individual can commit. Capacity is estimated in hours.
A user story is a requirement which defines what is required by the user as functionality. A user story can be in two forms −
During release planning, a rough estimate is given to a user story using relative scale as points. During iteration planning, the story is broken down into tasks.
The team decides what done means. The criteria may be −
Criteria defines the functionality, behavior, and performance required by a feature so that it can be accepted by the product owner. It defines what is to be done so that the developer knows when a user story is complete.
Requirements are defined as