Agile and scrum for a smoother delivery

Agile & scrum principles

Software projects can be difficult to manage especially because the client’s demands can change overnight, so without an efficient management strategy the project is doomed to fail, that’s where Agile comes in handy. Agile is a project management approach, it consists of breaking the project into small chunks, every check is called an iteration, after each iteration, we deliver a part of the final product. With Agile we simply divide and conquer.

There are many Agile frameworks, in this article we are gonna focus on “Scrum” because it’s widely adopted and very efficient.

Agile project management methodologies

In 2001 a group of 17 software development savvy met to talk over software project management methods, after a thorough discussion, the ‘Software Development’ Manifesto emerged. This manifesto became the basis of all modern agile methodologies. 

It consists of 4 values:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan.

Agile projects are broken down into short development cycles (sprints).

Each sprint is by itself a project, and has a backlog, and consists of design, implementation, testing, and deployment stages. After each sprint, a product increment is delivered.

Agile development Cycle

There are many agile frameworks, Each one has its own set of applications and distinguishing characteristics. The most popular frameworks are Scrum, Kanban, Lean, and XP. In the next section, we are gonna talk about Scrum because it is the most dominant one.

Scrum

Rugby scrummage

Scrum is an agile development framework, It takes its name from the world of rugby, scrum is short for scrummage. The basic principle is to always be ready to reorient the project as it progresses. It is a dynamic and participative approach to project management. The scrummage is an essential phase of the game in rugby. It allows the game to start again on a new basis. The meeting in the Scrum method relays the metaphor.

Scrum concepts:

Scrum development cycle

Sprint :

This is the essential phase of product development. Limited in time, but not exceeding one month, its goal is to produce "something" presentable to a customer. The Scrum method proceeds by iteration. It is indeed the right method to, theoretically, always remain in phase with the defined need and the customer's expectations.

Backlog:

A list of customer needs classified by priority, indicating the order in which they are to be completed.

Scrum Roles:

Scrum master: He makes sure that the Scrum principle is carried out as it should be, he sets the roles, the timings, and the objectives. It's a complex job, you have to be rational while being an excellent communicator turned towards others.

Product Owner: Business-oriented, he/she will share the vision of the product to be developed with the development team. He is responsible for the good execution of the project and is in close contact with the development team, marketing, and customers.

Team members: The people on this team are the ones who execute the work in each sprint. They are typically three to seven people, can be composed of different specialties and strengths, and can also be teams of people with the same job roles.

Stakeholders: Anyone who isn't on the Scrum Team but has an interest or influence in the product.

Main Scrum events:

Sprint planning: Occurs before the start of each sprint, during this meeting the scrum team members define the goal of the sprint (the potential delivery) and choose from the product backlog the list of tasks to be done during the sprint.

Daily Scrum (also called daily standup): A short daily meeting where the scrum team gathers to discuss the progression of the sprint, during the daily standup each team member briefs the others about what s/he achieved before, what s/he will be working on that day and the potential issues s/he is facing.

Sprint review: It’s held at the end of the sprint by the scrum team to present the product increment to the stakeholders.

Sprint Retrospective: Just after the sprint review the scrum team and the stakeholders meet to discuss what went well and what went wrong during the sprint, which helps the team to improve its efficiency.

Scrum advantages

  • Communication between project team members.
  • The Simplicity of the process.
  • Clear responsibilities.
  • Clear tasks.
  • Less unproductive meetings.

Scrum disadvantages

  • Hard to implement by large teams
  • Usually poorly executed causing the project to go off the rails.

Conclusion:

Scrum is proven to be the most adopted agile approach, but it’s not intended for all types of projects. For example, it will be perfectly suitable for developing a web platform, but not for building a bridge. Finally, be aware that this approach is easy to understand, but difficult to master.