Create Your Own Flexible Agile Hybrid
“We work under Agile principles”: this is a common phrase to hear from different IT-companies. However, do they really follow the main ideas of this popular technique and enjoy the flexibility of processes? Let us find out, why SCRUM and Agile are not the same things, and why Agile Hybrid approach is becoming even more widespread.
Agile is the philosophy of building up a development approach that is flexible and responsive to change. So it is defined in the Agile Manifesto (https://agilemanifesto.org/). However, a closer look at the working process of a company using Agile reveals that they have just implemented one of the best-selling Agile-frameworks – without trying to enhance company’s responsiveness to the dynamic business environment.
Solid SCRUM for large iterative projects
SCRUM is one of the well-known frameworks or Agile approaches. This methodology is formalized strictly enough by one of its creators, Jeff Sutherland: the details of the formalization are described in The Scrum Guide (http://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf). Specific terminology aside, SCRUM is an iterative-incremental software development model with a defined iteration length (1, 2 and more weeks).
| || |
From experience: SCRUM works great for products that are still not in the real use. When you need a highly intensive functionality delivery, introducing SCRUM does not make the process more flexible. Your team may be content with the steady workflow and process formalization, but a slow progress in implementing the necessary functionality compels you to use other methods.
Kanban for small and urgent tasks
This is another well-liked Agile framework, based on handling one high-priority task at a time.
| || |
Besides, Kanban imposes higher requirements on automated testing and continuous integration tools, also making it more difficult to use.
Agile Hybrid – perfect methodology for a specific project
Under close scrutiny, the disadvantages of one of the two above-mentioned techniques (delivering functionality in releases and continuous integration) are compensated by the advantages of the other.
The pros and cons of each method gave way for Agile Hybrids, combining either different Agile methodologies or components of a methodology in one process. The main idea of this approach is to design the process according to the needs of a specific project. What’s important, Agile Hybrid is not imposing. It does not try to squeeze the team into limits, allowing for experiments and flexibility.
SCRUM with Kanban elements is one of such hybrid frameworks that provides for delivering big user stories in releases. Meanwhile, stubbed functionality is being delivered continuously according to the pre-set product’s priorities. Such methodology is more demanding to a team, it’s internal communications and management tools. However, the result speaks for itself: the development process actually responds to change and the team remains highly productive.
An example for creating Agile Hybrid
Consider a team of qualified professionals, including programmers, project managers, operations engineers and quality engineers. They work remotely from each other. The team is about to support several taken over projects remaining under development and at the same time to launch new projects of different scope from scratch.
Due to the lack of direct contact within the team, the different work speed and technical issues classical SCRUM can give many problems in this situation. Indeed, supporting old projects demands immediate implementation, while developing new ones does not mean continuous integration.
In this case, hybrid Agile is the best choice for the team:
- give up sprints and go for short releases: this will allow for equal work speed on different projects;
- split the whole team into two equally functional sub-teams to organize efficient communications;
- abandon the “Scrum of Scrums” practice: the whole cross-team coordination can be carried out by project managers;
- implement and use the continuous integration technique actively, with operations engineers being made responsible for its management
This working method is given only as an example. In real life, you need to analyze team skills: mastery of CI-tools by operations engineers, test automation skills of quality engineers etc.
Create your own Agile Hybrids
The values promoted in Agile Manifesto are based on team’s characteristics, the skills of the participants and their specific tasks. Agile is focused on creating a participant-oriented process. Using a specific framework, be it SCRUM or Kanban, does not necessarily bring success. No matter how popular a working method is, bear in mind flexibility, convenience and efficiency.
Do not hesitate to make your own Agile hybrids, introducing the best-proven practices to your work.