What is Agile Methodology?
Agile software development is an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end-user(s). Agile Methodology advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible responses to change.
Waterfall Vs Agile
Agile and Waterfall models are two different methods for the software development process. Though they are different in their approach, both methods are useful at times, depending on the requirement and the type of the project.
Backend Vs Front End
In software engineering, the terms front end and back end refer to the separation of concerns between the app layer (front end), and the data layer (back end) of a piece of software.
Agile Scrum Process
Scrum is an agile framework of software development. It is designed for teams of three to nine members, who break their work into actions that can be completed within timeboxed iterations, called sprints, no longer than one month and most commonly two weeks, then track progress and re-plan in 15-minute time-boxed stand-up meetings, called daily scrums.
How Scrum Works
Let us see how scrum works in our everyday web development practice.
The task will be divided into smaller periods of time called sprints. A sprint is also made up of individual tasks, the most complex of which can further be divided into smaller tasks. A small task is one that can be performed by one team member in a few hours.
There is a sprint planning event that takes place in advance of each sprint. During the sprint planning, we discuss what should be achieved within the sprint and the best ways to achieve it.
The Product Owner, the Scrum Master, and the development team should all participate in the sprint planting events.
The list of tasks for your entire project is called the backlog. We create it together with the Product Owner. The tasks in the backlog have varied priorities. According to them, the tasks are pulled from the backlog and added to a particular sprint during the sprint planning. New tasks can be added to the product backlog throughout the whole development process. This is a repository where requirements are tracked with details on the no of requirements(user stories) to be completed for each release. It should be maintained and prioritized by the Product Owner, and it should be distributed to the scrum team. The team can also request for a new requirement addition or modification or deletion.
Daily Scrum meetings
The essential Scrum practice is daily morning meetings for the team. They are also called stand-up meetings because the best recommendation is to hold them while standing up — this way they don’t last longer than 15 minutes.
At Scrum meetings, tasks are assigned to particular performers. The super important goal of these meetings is to have all team members answer these questions:
- What have they done since the last meeting?
- What do they plan to accomplish before the next meeting?
- Are there any obstacles?
- Do they need any support from other team members?
Scrum meetings are an amazing way to improve team communication and collaboration, help all members stay updated, share their vision, give their input, discover what needs improvement, see better solutions, and more.
At the end of each sprint, we use the great practice of sprint reviews. The whole team gathers to describe their work and show the demos in an informal atmosphere. Questions, new ideas, feedback, and more great things happen at sprint reviews.
Sprint meetings are not to be confused with retrospectives. We hold retrospectives to look back at the completed sprint’s successes and failures. This helps us discover what should be refined during the next sprints.
In the Scrum philosophy, the role of the Product Owner is vital. This is the person who owns the product on behalf of the customer and is part of the Scrum team. The product owner directly interacts with the customer, the development team, and other main stakeholders. This role has huge responsibilities in communication and decision-making.
Who should communicate all best Scrum practices to the team, ensure they are followed, and facilitate the Scrum activities (daily meetings, sprint reviews, retrospectives)? We call this person the Scrum Master.
Process flow of Scrum Methodologies:
Process flow of scrum testing is as follows:
- Each iteration of a scrum is known as Sprint
- The product backlog is a list where all details are entered to get the end-product
- During each Sprint, top user stories of Product backlog are selected and turned into Sprint backlog
- The team works on the defined sprint backlog
- Team checks for the daily work
- At the end of the sprint, the team delivers product functionality
Kanban originally emerged from a Japanese word that means, a card containing all the information needed to be done on the product at each stage along its path to completion. This framework or method is quite adopted in software testing methods especially in agile testing.
Difference between Scrum & Kanban
Scrum Vs Kanban
|In scrum technique, the test must be broken down so that they can be completed within one sprint||No particular item size is prescribed|
|Prescribes a prioritized product backlog||Prioritization is optional|
|The scrum team commits to a particular amount of work for the iteration||Commitment is optional|
|Burndown chart is prescribed||No particular item size is prescribed|
|Between each sprint, a scrum board is reset||A Kanban board is persistent. It limits the number of items in the workflow state|
|It cannot add items to ongoing iteration||It can add items whenever capacity is available|
|WIP limited indirectly||WIP limited directly|
|Timeboxed iterations prescribed||Timeboxed iterations optional|
Explore more blogs on Development, Testing and DevOps follow the link