What are Agile and Scrum?
The history behind Agile
Traditionally, a software development firm would deliver the finished product to the customer only in its entirety. This meant that the customer could test and offer feedback very late in the product development cycle, thereby making it difficult and expensive for the software professionals to identify and fix the glitches.
Fed up with the aforementioned waterfall approach, leading visionaries in the software world created the Agile Manifesto in 2001. The key to Agile is that delivery is EARLY, in small parts (INCREMENTS), and it is frequent (ITERATIVE), so that customers can offer timely feedback, thereby enabling timely modification of the software code.
Under the Agile umbrella are different methodologies such as as Scrum, Extreme Programming, Dynamic System Development Method (DSDM), Lean Development, Feature-Driven Development (FDD), Crystal, and Adaptive Software Development (ASD). We, at Conscires Agile Practices, focus on Scrum.
What’s the origin of the term ‘Scrum’?
‘Scrum’ is actually derived from the word ‘scrummage’ from the sport, Rugby. If you’ve ever watched a rugby game, you’ve seen both teams bind together in a close-knit, shoulder-to-shoulder, three-rowed formation to restart the game after the ball has gone out of play (see photo below). This formation is called a ‘scrum’. The team uses the scrum formation to work as a unit to try and win the ball.
In 1986, Hirotaka Takeuchi and Ikujiro Nonaka, two respected Japanese business professors, wrote a paper titled “The New New-Product Development Game” in which they compared the scrum formation in rugby to an innovative, agile approach for developing new products.
That new approach is now called ‘Scrum’.
So, what exactly is Scrum?
In recognition of the dynamic nature of software development, Scrum encourages detailed planning and execution of the product release, but in an incremental fashion. That is, plans are not set in stone, as the project’s features can change based on the modified needs of the customer.
The first stage of Scrum (refer to the diagram above) is in the creation of the PRODUCT BACKLOG, which is a prioritized list of features to be built. The Product Backlog is created by the Product Owner and the items on the list are prioritized based on their business value.
Projects are divided into distinct sections known as SPRINTS, which are typically 1-4 weeks in duration. At the beginning of each sprint, a PLANNING MEETING is conducted. Here, the product owner informs the team of the items on the product backlog that she wants completed. Items in the product backlog are then broken down into smaller tasks in what is called the SPRINT BACKLOG. The team then decides and commits to how much it is capable of completing during that sprint.
Throughout the sprint, the team meets at the same time and location everyday for the time-boxed 15 minute meeting known as the DAILY STANDUP to discuss the tasks that they have performed during the previous workday, the impediments that they may be facing, and what they plan to do on the next working day. Such daily alignment allows for improvement, and if necessary, modification of the software code. The Daily Standup is facilitated by the ScrumMaster.
At the end of each sprint, the team meets for a REVIEW MEETING to review the product increment that they have built during that sprint and to see if it is in alignment with what was intended during the Planning Meeting. The Review Meeting is typically presented in the form of a demo of the new features and is attended by the Product Owner, the Scrum team, the ScrumMaster, the management, customers, and developers from other projects. Feedback and incomplete items are prioritized in the next Planning Meeting.
A RETROSPECTIVE MEETING is also conducted at the end of each sprint, where the team reflects on how to become more effective. It then then adjusts its behavior accordingly, thereby promoting greater ownership and responsibility.
This cycle of repeats itself until the project has been completed and the customer and Scrum team are fully satisfied with it.
A typical Scrum Team consists of 5-9 people and it is cross-functional, comprising of a PRODUCT OWNER, SCRUM MASTER, and development team members (programmers, testers, user experience designers, etc.). Scrum encourages teams to be self-organized such that they manage their own workload around clear goals. Everyone works together to complete the tasks that they have committed to during that sprint.
Who is a Product Owner?
This individual is the project’s key stakeholder and is typically from marketing or product management.
The Product Owner provides the vision of the end-product to the development team and creates the product backlog by prioritizing the project’s features as per the business requirements. She works with the team on a daily basis throughout the project by serving as a liaison between the customer and the team.
We offer Certified Scrum Product Owner (CSPO) training, which is certified by Scrum Alliance. We also offer non-certified training for those interested in learning more about Scrum but cannot commit to a full course or for those who want to supplement their Agile education.
Who is a ScrumMaster?
The ScrumMaster has vast knowledge about Scrum and it is his role to instill those values into the work culture of the team. Rather than directing the functioning of the team, the ScrumMaster facilitates a working environment for the self-organizing group by providing support on demand and removing organisational impediments. In short, he acts as a mentor or a servant leader.
We offer Certified ScrumMaster (CSM) training, which is certified by Scrum Alliance. Alternatively, we offer non-certified training for those interested in learning more about Scrum but are not willing to commit to a full course or for those who want to supplement their Agile education.
Scrum is very simple to understand, but it takes time and discipline to apply. To aid smoother adoption of Scrum values, we offer the following services for your company:
(i) Agile Assessment
(ii) Agile Coaching and Mentoring and
(ii) Agile Consulting