Agile SCRUM vs KANBAN
Do not use Agile SCRUM on customer implementations. With this one liner we start this blog. Why not and what should you use then?
In general, we see these days that all ERP implementations are done in an Agile way; the waterfall methodology has become an exception. But there are various Agile methodologies, the most common ones are SCRUM and KANBAN.
The method to use is important at Customer projects in our role of implementation partner (ERP/CRM implementations) but also on the ISV products we maintain ourselves as Kaya. Leading factor to determine which methodology to pick is not the methodology itself but how an organization is working and organized. Beside that the necessary skillset for building and releasing software plays a role too. Those skills are usually less present at a customer compared to a Microsoft, or other software, partner.
In case you are in full control of your resources & requirements, planning fixed (release) dates is working fine. We see this at the implementation of ISV products. So, for those using Agile SCRUM would be a good choice.
However, on Customer implementations, we as a partner are not always in full control. Some examples are:
- Decisions that requirements are out of scope (read not before go-live)
- Capacity of customer resources are hard to plan. A partner has no control over it.
- Customer must accept the solution and usually they need support on the testing as they are not used to this.
So, the planning of a customer implementation needs much more flexibility. This flexibility can be better arranged with KANBAN. To have a closer look at what KANBAN is use following link https://www.scrum.org/resources/kanban-guide-scrum-teams.
Differences between Kanban and Scrum
Most important differences between KANBAN and SCRUM are:
|Cadence Regular||fixed length sprints||Continuous flow|
|Release methodology||At the end of each sprint||Continuous delivery|
|Roles||Product owner, scrum master, development team||Stakeholder|
|Key metrics||Velocity||ead time, cycle time, WIP|
|Change philosoph.||Avoid changes during the sprint.||Change can happen|
Let us start with the Cadence. The functional confirmation of D365 F&S has a higher throughput than the development of code extensions. Beside the code extensions we also have the ISV solutions and the MS monthly updates.
This brings me to the next point. Release mythology: a code release is different from replicating a setup in a target environment.
Then we have the Roles. There are several Scrum Roles, where customers usually are not accustomed to, and the theory is that Kanban has no roles. To my opinion, this is not the case there is a stakeholder, wo defines what he needs and signs of when his wishes are realized. To a certain extend this resembles the Product owner role.
The change philosophy of KANBAN is more flexible. In case you have not started on a card, you can always put it back in the backlog. We see this happen when the Implementation gets disrupted by day to day topics or customer changes scope or priority.
The impact of using KANBAN at a customer implementation has an additional dimension. This dimension is the division between Development and Operations. In general, we can say the Partner is development and the customer is operations. This helps to determine who is responsible for what.
The next diagram narrows it even more clear on extensions to be delivered during implementation. The Partner (DEV) delivers a combined build into the asset library, it is up to the Customer (OPS) to continue from that point onwards.
|Code changes||Code changes||LCS asset||LCS asset|
|Manual setup||Manual setup||Manual Setup|
Additions to Kanban
Beside the concept of KANBAN and DEVOPS, Kaya also uses the phrase requested today, delivered tomorrow.
- When a Developer is finished, the solution is automatically available next day in TEST
- When a Tester is finished, he has in general a release candidate feature for the Customer
- The customer can almost do cherry picking on the release candidate features. The ones the customer select will be available next day in the combined build in the LCS asset library.
Are we in control?
So, are we in control? Yes! But be careful there is still a risk. This is so called work in Progress (WIP). The WIP on Acceptance is extremely important, all acceptance task must be completed before going to production. Who is responsible? The Customer (stakeholder) is responsible, but of course supported by the partner (which task should be completed first, dependencies, risks etc.). How can the Customer control it? Simply throttle on the requests that are picked from the backlog.
For other DEVOPS tips have a look at https://kaya-consulting.com/category/lcs/