What is Agile Methodology?
Agile is an iterative approach of software development methodology using short iterations of 1 to 4 weeks. Due to this, the development process is aligned to deliver the changing business requirement. Using Agile methodology, the software is distributed with few changes and fastest speed. Instead of single-phase development of software that takes 6 to 18 months where all the requirement gathering and risks management factors are predicated initially, Agile methodology adopts a process that frequently feedbacks the workable product is delivered after 1 to 4 weeks of iteration.
Roles in Agile
There are two different roles in Agile methodology. These are the Scrum Master and Product Owner.
1. Scrum Master
The Scrum Master is a team leader and facility provider who helps the team member to follow agile practices, so that they can meet their commitments and customers requirements.
The scrum master plays the following responsibilities:
2. Product Owner
The Product Owner is one who runs the product from a business perspective. The Product Ownerplays the following responsibilities:
Every agile team contains self-sufficient team with 5 to 9 team members and an average experience ranging from of 6 to 10 years. The agile team contains 3 to 4 developers, 1 tester, 1 technical lead, 1 scrum master and 1 product owner.
The Scrum master and Product owner are considered as a part of Team Interface, on the other hand remaining members are the part of Technical Interface.
How an Agile Team plan their work?
An Agile methodology is not a specific set of ceremonies or specific development techniques, rather, it is a group of methodologies that demonstrate a commitment to tight feedback cycles and continuous improvement. An Agile team works in iterations to deliver the customer requirement and each iteration takes 10 to 15 days.However, the original Agile Manifesto didn't set the time period of two-week iterations or an ideal team size.
Each user requirement is planned based and their backlog prioritization and size. The team decides to how much scope they have and how many hours available with each team to perform their planed task.
What is a user requirement?
The user requirement defines the requirements of a user as functionalities.
There may be of two type of functionalities:
During software release planning, a rough estimate is given to a user requirement using relative scale as points. During iteration planning, the requirement is broken down into tasks.
Relation between User requirement and Tasks
When the requirement is completed
The Agile team decides what task should be done. There may be different criteria for it:
What is Software Acceptance Criteria?
Acceptance Criteria are defines as the functionality, behavior, and performance require acceptance by a product owner. It defines what is to be done, so that the developer would know when a user requirement is completed.