Be alive in an Agile environment
How to survive in an agile culture
Introduction
In software development industry, agile is the mostly used software development methodology nowadays. It was designed to make your life easy. But most of the time, people will be struggling with agile. In this article I have given few tips to overcome the issues you are facing.
Content
- What is Agile?
- Why Agile?
- Agile practices
- Daily activities
- Backlog grooming activities
- Mid sprint review activities
- Sprint closure activities
- New sprint starting activities
- Quarterly planning activities (PI planning activities)
- Best practices
- Is agile a headache?
1. What is Agile?
Agile is an approach by which a team can manage a project by breaking it up into several stages, involving constant collaboration with stakeholders, continuous improvement and iteration at every stage.
2. Why Agile?
- Stakeholder Engagement
- Transparency
- Early and Predictable Delivery
- Predictable Costs and Schedule
- Allows for Change
- Focuses on Business Value
- Focus on Users
- Improves Quality
3. Agile practices
- Quarterly planning
- Sprint planning
- Daily stand ups
- Mid sprint review
- Backlog grooming
- Sprint review and demo
4. Daily activities
First one is daily stand up. This is the place where you need to say what you have done on yesterday and what will be doing today. If there are blockers for your work, you should also raise that in here. You need to be very brief on this update. Don’t waste too much time to explain. The best time allocation for one person should not go beyond 30 seconds.
Keep a track on the things which you are doing everyday.
For that, what I usually followed is, maintaining a work-log for a day. Here is a sample work-log.
This should not be prepared on the end of the day (I know end of the day you will never ever create this kind of work-log). This work log should be updated while you are doing your works. As an example, if you participated for a meeting you can update it in your work-log once the meeting is over. So that, you will be having the correct sequence in the work-log.
Communicate blockers in advance
If you are having blockers, update it in the blockers column and at the same time update you team members also. You can use team channel, email or face to face communication for that. And you need to track the time you lost due to that blocker.
5. Backlog grooming activities
In backlog grooming, we will be focusing on the next Sprint user stories and tasks. As a team, we will go through each item and get all the business requirements and technical direction to work on them. Then the team should do the estimation for those user stories and tasks. For the estimations, we can use pointing poker. All the team members must vote for a size. If the sizes are different, the lower and higher sized people should raise their explanations on the respective sizes. Finally all team members must agreed to a similar size and then it will be updated as the size for that particular user story/task.
Do actual sizing
After sizing the all stories and tasks of the next sprint, team need to look at the total size of the sprint. If it is beyond team velocity, Business analyst/product owner/team can decide what story or task to move to the subsequent sprint. If the total size is lower than team velocity, team can decide what stories/tasks can be added from the backlog.
Update due dates
Apart from the sizing, it is always better to put due dates for the stories/tasks. It will help you to release features independently as well as it can use to verify the sizes are correct or wrong.
6. Mid sprint review activities
In mid sprint review, team will get together and discuss about the status of the current sprint works. The items which is having a risk of spillover can be discussed. Further, team can adjust the development plan in-order to achieve the sprint goals. In addition to that, team can take action items for the blockers and dependencies to proceed with sprint commitments.
The risks should be communicated
The important thing is you can communicate risks for your stories and tasks. Risks might be a blocker or a dependency. May be you will take an unplanned leave. The idea is that whatever slow-down your development should be raised at earliest. And the team lead or project manager should take necessary action items to overcome those issues.
7. Sprint closure activities
Sprint review
In sprint review meeting, team will show what has completed on the current sprint and what will be spillover to the next sprint. For the completed features, team will do a demo to the product stakeholders. So that, stakeholders know what is implemented and they can give comments and suggestions.
Sprint retrospective
Here, team get together and discuss about the previous sprint on below topics
- What went well?
- What did not go well?
- Improvements?
In this meeting project manager will be taking down the action items and do followups to accomplish those.
8. New sprint starting activities
Resize the spillovers
There may be some stories or tasks which will be spilling over from the previous sprint. So those items should be resized if team has already done some amount of work.
Re visit the sprint items
All the team members need to re-visit the new sprint before start. Team needs to agree to the scope and workload of the sprint. If you think the sprint is a overloaded sprint, you need to raise your voice.
Add sub tasks for the new sprint items
Developers can add their sub tasks and the testers can add their sub tasks for the new sprint items.
Remember to update due dates
Due dates are important because we need to release features as soon as we can. As I explained previously, due dates are help to understand the workload also.
9. Quarterly planning activities (PI planning activities)
Derive user stories from epics
Here is the place where you can see the road map of the product for the coming 3 months. Product owner will provide epics and Business analyst will be breaking down them to user stories. Development team can also help for that.
Estimate user stories and placed them in sprints
The stories will be discussed and sized by the development team. After that those stories will be added to the sprints by considering the velocity, holidays and planned leaves of the team.
10. Best practices
- Always keep a record of what you are doing
- Accurate estimations for the stories/tasks
- Raise the risks at earliest
- Plan the works upfront
- Adjust the strategies with the current situation
- Trust the team
11. Is agile a headache?
Sometimes you might think that agile is a headache.
The real problem is not the agile, the real problem is the way you are trying to solve the issues.
Sometimes you may hear your project manager says “Guys you have to put additional effort” or “You might have to work on weekends”
If it is so, the actual problem is the poor project management. It doesn’t mean the whole responsibility should go to the project manager. But the way, the leadership has taken to drive the project is not working. That is why you have to put extra effort.
Sometimes you may hear that “IT companies are not like Government offices/other companies which operates 8 hours.”
For that, the simple answer is the labor law.
In Sri Lanka, according to THE SHOP AND OFFICE EMPLOYEES ACT NO.15 OF 1954
Working hours on any one day shall not exceed 8 hours, and
In any one week shall not exceed 45 hours.
This rule is not applicable to any person who holds an executive or managerial position in a public institution.
Simply for all of these questions you should raise your voice as a team to solve these issues. If all the stories cannot be delivered in the given time frame, as a team lead you can alert that early. Don’t try to take all the stories and try to deliver, even-though you know that it is impossible. Also don’t try to impress the management by showing that you have delivered the all of planned features by burning your team. That is not a good leadership quality.