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.
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
A Product Owner is the person who drives the product from business perspective. The responsibilities or a Product Owner are as per the following −
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.
Product Owner and Scrum master are considered to be a part of Team Interface, though other members are part of Technical Interface.
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.
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 defines how much an individual can commit. Capacity is estimated in hours.
A user story is a prerequisite which characterizes what is required by the user as functionality. A user story can be in two structures −
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.
The team decides what done means. The criteria may be −
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.
Requirements are defined as