Touching on something different I would like to write about my vision of a good Agile Scrum environment. I have worked at a few places during my career as a developer that have implemented their own version of an Agile Scrum environment that I have enjoyed working within.
I would like to say that there is no strict way to apply an Agile Scrum environment to your workplace. Work with your teams, get feedback and create an environment that works best for you.
What is Agile?
An Agile environment is a company that encourages project teams to utilise the principles and values of the Agile methodology to implement Agile project management.
The four pillars of Agile environment methodology are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
I have found in my career that companies with an Agile environment typically accept and promote change, innovation, and process improvement. These companies have a continuous productive flow even if the original plan of action has taken a drastic turn.
What is Scrum?
The Scrum methodology describes a set of meetings, tools, and roles that help teams structure and manage their work. This helps teams work together by encouraging them to learn through their experiences, encourage self-organisation while working on a problem, and reflect on their successes and issues to continuously improve.
Let go briefly through the key parts of the Scrum Methodology to give you an understanding of what they are.
The roles within a scrum team help ensure the sprints are delivered on time and the development team can work smoothly without interruptions.
- Development Team – The core of the team, the development team are a group of people with the skills to achieve the work of the sprint.
- Product Owner – The insider who knows how the business is run and represents the upper management, can confidently set the goals and objectives for the development team.
- Scrum Master – Best described as a servant leader. They are involved in the whole scrum process, helping the product owner define the objective, the development team deliver the objective, and support the scrum team to improve and become more optimised while also helping the company understand what the scrum team are doing. The scrum master applies a leadership style but is also the main drive for the team to work together.
A sprint is a short period of time (usually 1-2 weeks) that the Scrum team sets to complete an agreed amount of work. Sprints are a core part of the Scrum methodology, by using sprints you allow your agile team smoother development of software without hiccups.
Sprint Planning Meeting
Sprint planning begins at the start of a Sprint and goes for a maximum of 2 hours. The goal of sprint planning is to clarify what tasks can be achieved over the next sprint in collaboration with the whole Scrum team.
For a successful sprint planning session the following is required:
- Objective – The product owner describes the objective of the next sprint. The development team decides what tasks can be done within the time of the coming sprint to achieve the objective.
- Tasks – The development team plans the work needed to deliver the sprint objective. The end sprint plan is a result of the discussion between the development team and product owner based on priority and effort required.
- People – You need to have both the development team and product owner. The development owner is required to set the goal and quality they require. The development team needs to understand what is considered fulfilment of the goal.
- Overview – Using a product backlog for sprint planning is a great way to get an overview of tasks that could be in the next sprint. The scrum team should also look at existing work done to understand their capacity.
- Goal – Is is important that after a sprint planning session that the team can describe the goal for the next sprint and what tasks are required to work towards that goal.
Daily Stand-up Meeting
A Daily stand-up is conducted in the morning and should not last more than 15 minutes. The goal is to quickly inform the scrum team of what’s going on while avoiding going into too much detail. Each member should answer the following questions during the stand-up.
- What have I completed yesterday?
- What will I be working on today?
- Do I have anything blocking me from doing my work?