In this blog we will cover the following topics:
- What is Agile?
- Scrum Framework Definition
- The Benefits of Agile Development
- The Scrum Team: what to expect when working as a Part of a Scrum Team
- Scrum VS Other Agile Approaches
- Agile and Scrum at FDM
What is Agile?
Agile is a method of working which revolves around continual development and collaboration. The Agile environment brings flexibility, allowing teams to choose the best tools for their particular product. Operating within guidelines but choosing their boundaries. It encourages teamwork, self-organisation and accountability within a team.
Most significantly, this method allows for the ability to be responsive to change. For example, the Agile way of working facilitates any changes that might occur in customer requirements in a timely manner. It also ensures that a company can supply an ongoing responsive product release in smaller iterations.
An Agile mindset is necessary to create and develop high-performing teams, who in turn deliver value quickly to their customers, leading to quicker returns on investment.
The 12 Principles of Agile:
- Satisfy the customer
- Embrace changing requirements
- Deliver working software within a short timescale
- Collaborate across teams and eliminate silos
- Create a motivated environment to empower team members and provide them with the support they need to complete projects successfully
- Face-to-face interactions for improved communication
- Meet customer expectations with functioning products
- Maintain sustainable development
- Continual technical excellence
- Keep it simple to maximise efficiency
- Self-organised teams offer most value
- Reflect on your work regularly to continuously improve
Scrum definition
What is Scrum? Scrum is a simple framework to allow effective team collaboration on complex problems. Scrum encourages members to learn from experience and continuously improve. It involves specific values, commitments, events and artifacts, which all ensure the seamless running of a project.
The Scrum Framework is based on Empiricism and Lean thinking. However, it is not only used to develop software for businesses; it’s also widely used in hardware development, marketing and business operations, among other things, including SpaceX.
In short, Scrum begins with a Product Owner ordering work into a Product Backlog, which contains a prioritised list of work for the development team. The Scrum team then executes the work in increments, otherwise known as Sprints. Sprints are timeboxed to one month or less, helping break the project down into smaller tasks. Once a Sprint is complete, the team takes time for reflection to collate project feedback before moving onto the next Sprint. A Sprint is regarded as a complete Increment of the product, providing the customer with a value at every stage. Here’s a simple breakdown of the process:
The Benefits of working in an Agile way utilising Scrum
Agile and Scrum provide a range of benefits for all parties involved in the process, including development teams, customers and vendors. These include:
Enhanced quality output
Scrum developers have a clear definition of requirements, take on regular feedback and continuously improve. As such, they ensure a seamless process and produce higher quality products. Scrum teams use ‘The Definition of Done’, DoD, a pre-agreed set of quality measures that must be met for an item to be considered done and ready for release. Ensuring the project is completed to the highest standards; the DoD covers everything from development and testing to integration and documentation.
Higher customer satisfaction
The Scrum framework fosters a close relationship between the Scrum team and clients to ensure better communication, reduction of risk and understanding of project requirements. The team aim to provide the clients with a valuable product at the end of each Sprint. Clients are given the opportunity to provide their feedback at every stage to ensure they are completely satisfied with the end result.
Decrease time to market
Scrum helps encourage faster delivery times in comparison to traditional working. Because developers are provided with a prioritised list of tasks to create a functioning product it is more likely that a feature is produced at the end of each Sprint. Meaning clients do not have to wait for the whole project to be complete in order to release to the market.
Increase return on investment
Scrum projects produce a higher return on investment as value is hopefully delivered to the customer every 2 to 4 weeks. Additionally, the Scrum framework involves constant evaluation and corrections which reduces risk and prevents errors which could be costly and time-consuming.
Boost team morale
A Scrum team is self-managing, which enables members to arrange themselves in roles most suited to their strengths, they can be more experimental, creative and innovative in their work. Daily scrums can also help to reduce friction or frustrations between team members caused by miscommunication. In addition, the sustainable and disciplined nature of the Scrum framework means that teams are less likely to experience burnout from excessive workloads or irregular periods of intense work.
More product control and governance
Throughout a Scrum project, team members have the opportunity to constantly reflect and improve, resulting in better control over product performance. With every Sprint, the product can be refined according to stakeholder feedback and any issues can be addressed before the end product is delivered. .
Improve project progress visibility
All project timelines and budgets are based on real performance data and provide a realistic goal to work towards. As a result, the Scrum team is able to provide clients with better visibility across the project, increasing customer satisfaction but also helps keep progress on track internally. Daily scrums are key for identifying any potential impediments and providing solutions.
Reduce risk
Scrum follows an adaptable process which enables teams to easily incorporate changes on an ongoing basis and mitigate risks to prevent project failure. Traditional development teams can often waste time and money without demonstrating value and providing ROI as there is less evaluation and correction throughout the project. Whereas, with Scrum, a tangible product is produced after every Sprint and any failed products can be discontinued early.
Here is a brief overview of a Scrum Team:
Product Owner
There is only one Product Owner per Scrum team, who is accountable for the Product. They are knowledgeable about the product and business requirements and accountable for maximising the value of the work generated by the Scrum team. The Product Owner articulates the intent by having a clear product goal that is communicated with the Scrum team.
Scrum Master
The Scrum Master is a true leader to those within the Scrum Team and is accountable for the Scrum team’s effectiveness and for the promotion of Scrum within the wider organisation. They ensure that individuals internal and external to the team understand the theory behind Scrum, best practices and Scrum values.
The Scrum Master has two accountabilities:
- Enacting scrum as defined in the Scrum guide
- Maximising the effectiveness of the Scrum team
The Developers
The Developers are a team of typically eight or less. In Scrum teams of more than ten, communication lines can become large and muddled. The Developers work together within a time boxed period, known as a ‘Sprint’, aiming to produce a ready-to-release product, in line with the definition of “Done”. They participate in ‘Daily Scrums’ and ‘ Sprint Reviews’. At the end of each Sprint, the entire Scrum Team participates in a Sprint review to inspect the work done, how it was executed and decide what to do next, adapt the product backlog if needed, the list of all known items needed in the product.
To find out more about a Scrum Team, Events and Artefacts, please see the Official Scrum Guide.
The key to effective remote Scrum teams is communication, starting with the daily Scrum meeting. It is important to keep a set time for the daily scrum meetings and ensure everyone participates. It may also be useful to use interactive whiteboards, video conferencing or screen sharing. For this, you will need to ensure all team members have secure and reliable technology from wherever they are based.
Agile Scrum approach vs other Agile approaches
There are a range of other Agile approaches including Kanban, DevOps, SAFe and Lean, however Scrum is the most widely used. The Scrum Framework remains the simplest method that has been tested over 20 years and proven to provide maximum productivity. Like other Agile Frameworks, Scrum is particularly effective for complex systems and is adaptable depending on requirement changes, however what sets Scrum apart is its purpose. Scrum is focused on continuous improvement. Let’s look at some other Agile approaches…
Scrum vs Waterfall
Waterfall takes a linear approach to Project Management: Project requirements are gathered at the beginning of the project and a roadmap is created accordingly. Waterfall gets its name from the way each stage of the project flows into the next. One of the key differences between Waterfall and Scrum is the level of regular involvement from stakeholders.
Scrum vs Kanban
Kanban is a type of framework that uses a tool, called a Kanban board (hence the name), which visualises work processes. A Kanban board includes columns which each represent a stage in the project and contain sticky notes underneath for each task to be completed, which move across the board horizontally as progress is made.
The main difference between Kanban and Scrum is that Kanban is a workflow management tool, focusing on continuous and more fluid processes, whereas Scrum is based on short, structured work Sprints.
At FDM, we teach in multiple working frameworks, including Agile, Waterfall and Scrum. This coaching ensures our consultants are adaptable and have the ability to succeed in various working environments with our leading clients.
Agile and Scrum at FDM
FDM is leading the way in Agile working, in particular with Scrum, and provides expert coaching in Agile and the Scrum Framework to all our team members and trainees. Product Owners across FDM have introduced Scrum through multiple Agile Pods. As a result, both FDM consultants and our clients have seen first-hand how effective Scrum is in a business working environment, where flexibility and collaboration are key to achieving tangible business products and results.
If you’re looking to kickstart your career in technology, check out the FDM Graduate Programme to find out more.