AGILE METHODOLOGIES in Software Technologies – Part – 2
This blog explains about AGILE METHODOLOGIES in Software Technologies – Part – 2 . It is illustrated very well below :
We have already about this topic in the previous blog AGILE METHODOLOGIES in Software Technologies – Part – 1 .
Definition of Done:
A Sprint is marked as Done when all the stories are completed, all dev, research, QA tasks are marked ‘Completed’, all bugs are fixed-closed else the ones that can be done later are pulled out and added in the backlog, the code review and unit testing is completed, the estimated hours have met the actual hours put up in the tasks and most importantly a successful demo has been given to the PO and the stakeholders.
Activities Done in SCRUM Methodology
1) Planning Meeting
A planning meeting is the starting point of Sprint. It is the meeting where the entire scrum team gathers, the SCRUM Master selects a user story based on the priority from the product backlog and the team brainstorms on it.
Based on the discussion, the scrum team decides the complexity of the story and sizes it as per the Fibonacci series. The team identifies the tasks along with the efforts (in hours) which would be done to complete the implementation of the user story.
Many a time, the planning meeting is preceded by a “Pre-Planning meeting”. It’s just like a homework which the scrum team does before they sit for the formal planning meet. The team tries to write down the dependencies or other factors which they would like to discuss in the planning meeting.
2) Execution of Sprint Tasks
These are the actual work done by the scrum team to accomplish their task and take the user story into the “Done” state.
3) Daily Standup
During the sprint cycle, every day the scrum team meets for, not more than 15 minutes (could be a stand-up call, recommended to have during the beginning of the day) and state 3 points:
- What did the team member do yesterday?
- What did the team member plan to do today?
- Any impediments (roadblocks)?
It is the Scrum master who facilitates this meeting. In case, any team member is facing any kind of difficulties, the scrum master follows up to get it resolved. In Stand ups, the board is also reviewed and in itself shows the progress of the team.
4) Review Meeting
At the end of every sprint cycle, the SCRUM team meets again and demonstrates the implemented user stories to the product owner. The product owner may cross verify the stories as per its acceptance criteria. It’s again the responsibility of the Scrum master to preside over this meeting. Also in the SCRUM tool, the Sprint is closed and the tasks are marked done.
5) Retrospective Meeting
The retrospective meeting happens after the review meeting.
The SCRUM team meets, discusses & document the following points:
- What went well during the Sprint (Best practices)?
- What did not go well in the Sprint?
- Lessons learned
- Action Items.
The Scrum team should continue to follow the best practice, ignore the “not best practices” and implement the lessons learned during the consequent sprints. The retrospective meeting helps to implement the continuous improvement of the SCRUM process.
SCRUM Activity Tools
There are several tools that can be used extensively for tracking the scrum activities.
Some of them include:
Advantages of Agile model:
- Customer satisfaction by rapid, continuous delivery of useful software.
- People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other.
- Working software is delivered frequently (weeks rather than months).
- Face-to-face conversation is the best form of communication.
- Close, daily cooperation between business people and developers.
- Continuous attention to technical excellence and good design.
- Regular adaptation to changing circumstances.
Even late changes in requirements are welcomed.
Disadvantages of Agile model:
- In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
- There is lack of emphasis on necessary designing and documentation.
- The project can easily get taken off track if the customer representative is not clear what final outcome that they want.
- Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.