An Introduction To Agile Scrum
A long time ago, in the early 90s, the software development process was pretty cumbersome and slow, with heavy documentation. The first stage of the project would stretch to months with hundreds and hundreds of pages of documentations that people hardly read.
This led to disputes, especially when the requirements of the projects changed, costs escalated, and people were confused as to what was expected. This led to problems, problems and at the end of it, a solution.
And that solution came in the form of Agile. There are several Agile Methodologies in use today, like Scrum, XP, Kanban, Lean and so on.
In this article, you will learn all about being Scrum while working on a project.
Agile is a set of principles, a software methodology that would help you deliver a good software project. These principles themselves are based on the Agile Manifesto, containing the following:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
The technology helps in bringing the competitive edge that you have been looking out for.
Scrum is an Agile methodology, and the term was coined from the game of “rugby”, wherein each player join together to bring success to his team. The technique follows all the principles mentioned in Agile Manifesto, and the following concepts as well – Sprints, Product Backlogs and Daily Standups. Before getting into those, let’s look at the three different, but distinct roles that Scrum recognises.
2. Product Owner
The product owner holds the key role in the business, and his responsibility is to devise ways to bring maximum ROI to the company. He has to direct the team towards activities that are valuable to the project, and must possess the judgment to prioritise items and the less important ones in the backlog. It is the product owner who represents the customers, and at the same time answers the team member’s questions.
3. Scrum Master
Scrum Master takes on the role of steering the team towards higher levels of performance and cohesiveness. The team delivers a product, and the scrum master delivers a top-performing, highly organised team. He is also responsible for helping all the members in the team to learn and apply scrum and agile practices. He also guides them through roadblocks. He is a part of the team, and not the boss, but is highly superior in knowledge and skills.
4. Team Member
Every successful high-performing agile team has a lot of power over the work they do. They organise themselves, collaborate constantly and decide on the tools and techniques. Every team member strives to deliver the correct offering during each sprint, so the end product is shippable, and without any errors. So sometimes, while working within their realm of expertise, they have to work outside of their area too.
5. The sprint cycle
The sprint cycle is all about the process in which you do your project. The project is broken down into small chunks, known as iteration. Each part of the project must be finished within a certain period of time. And at the end of the sprint cycle, if everything is followed correctly, you will have a shippable project. It is ideal to have a shorter sprint cycle as it helps the team deliver value to their business.
How a team works in Scrum
Usually, a team works in short sprints of two weeks, but there are teams that work on one-week sprints as well, and some are month long. In a Scrum project, there are certain ceremonies to be taken care of. Here they are:
a) Daily Standups
Daily standups are short, informal meetings that everyone in the team participates. They will each talk about their contribution to the project, what they are planning to do next, and whether they are facing any problems in the project. These meetings provide the best opportunity for team members to communicate and collaborate well with each other.
b) Sprint Showcase
Sprint Showcase is also a meeting the takes place after every Sprint. Just as the name sounds, this is a ‘showcase’ where completed User Stories are protected to the stakeholders.
c) Product Backlog
The Product Owner owns the Product Backlog, and a place where you prioritise items. Thus it is the cumulative list of desired deliverables the client demands. So it will also have details on documentation, bug fixes, anything and everything related to shipping the product.
Product Backlog is also known as , Story. In the sprint meetings, you will go through thorough discussions on how to improve your stories in the product backlog, especially stories for future sprints. Those stories that have already been completed will be in the sprint backlog.
d) Burn charts
Burn charts are literally charts that display the relation between time and scope. It shows the team the work they were able to complete over a period of time, and the amount of work left to do.
A couple of examples of how certain companies are using Agile
Apple developed a radical shift in the way technology was understood and they took risks that nobody ever did. The company is already famous in the industry for having a very favourable work environment where amidst pressure and deadlines, people work with collaboration and innovation. Steve Jobs was the Product Owner, with no middle managers. They worked in short, iterative cycles, and once they start designing, building and testing a product, they start the process all over again.
Google is another company that follows the ideals and policies of Scrum and Agile technology. However, it does depend on the team, and the product to be developed. The company uses test-driven / feature flag-driven development process to compartmentalise risk and test scalability.
Agile Scrum is now far popular than the Waterfall method where the main rule was “code first, test later. In the Agile Methodology, it is Code and Test Together, and that has been greatly helpful. The reason why developers can test their product from time to time, makes this method one of the best in the market, because there is continuous customer feedback. It is said that the three main pillars of Scrum – Transparency, Inspection and Adaptation can make your project complete.
Picture Source: Flickr.com/ Delest/ Silveira
The author: Reema Oamkumar is engaged as a thought leader at www.Software-Developer-India.com which is a part of the YUHIRO Group. YUHIRO is a German-Indian enterprise which provides programmers to IT companies, agencies and IT departments.