Define Your Initial Project Scope
Deploying agility at scale is an incremental process: scope by scope, each experience will allow your company to learn as it goes and improve continuously as it progresses.
You should ideally select a lightweight framework from the agile frameworks at scale covered in the second part of this course so that your teams can incorporate the primary principles of agility at scale at their own pace.
Organize a Workshop to Decide on Your Division Strategy
But why is this division necessary? After all, each team could just as well implement any functionality!
Maybe so. But in reality, this is too complicated to do as part of a complex solution that involves different applications and several programming languages. Your developers cannot have a command of all languages or how all of your applications operate. 😅
To identify a division strategy, I suggest you hold a dedicated workshop organized in three consecutive key stages:
Let's go over the details of this workshop together. 😀
Identify the Constraints in Your Scope
First of all, map out all the applications involved in your scope and identify the level of dependence between your applications.
This map of applications will help you make a selection that limits dependencies between your teams.
How do I determine the level of dependence? Are there criteria for this?
Yes, indeed! Here, once again, you must ask the right questions:
Does changing the first application often mean changing the second as well? This means that they are heavily intertwined and that there is a high level of dependence.
Do the applications exchange data via web services? In that case, the level of dependence is medium.
Do the applications exchange only limited data via web services? In that case, the level of dependence is low.
Next, you should identify the members of your system and their applicative, functional, and technical knowledge:
Name | Role | Applicative knowledge | Functional knowledge | Technical knowledge |
Marc Dupont | Developer | Fidelio UX-Booking | Loyalty products | Java Angular JS |
... |
|
|
|
|
Identify Your Strategies for Dividing up the Scope
There are several possible division strategies. For each of them, describe the advantages and disadvantages.
The advantages of your strategies may be:
Optimizing time-to-market.
Optimizing development costs.
Maintaining functional coherence.
The disadvantages of your strategies may be:
A high degree of dependence.
A lack of functional coherence.
A risk of having one Product Owner across several teams.
Development cost overruns.
Choose the Best Division Strategy
In light of the constraints in your scope and the advantages and disadvantages of each division strategy, you can now make an informed choice that will be in line with the business strategy. From this, you derive the sub-scopes that emerge from your strategy.
Sub-scopes |
Business customers |
Private individuals |
New customers |
Put Together Your Teams
Now that you have chosen your division strategy, you can determine the following for each sub-scope:
The list of functionalities that you think you'll need to develop by the end of the year.
The associated workload.
Based on this, you can deduce the number of developers required per sub-scope, the total number of teams that need to be set up, and the distribution of sub-scopes across the teams.
You gather all of your developers together to host a “job fair” workshop for them.
Here’s how you can organize it:
Identify a Product Owner and a Scrum Master for each of your teams.
Ask each Product Owner to present their functional scope to the developers.
Also, ask each Scrum Master to present the technical challenges that will have to be overcome and the technical skills required.
Your developers can then sign up for the team of their choice. 😃
This workshop is a great way to kick off an exciting adventure as a group!
Over to You!
Thanks to your persuasive reasoning, the sponsor of SoEasyHotel and their HR Director have really engaged with agile transformation. SoEasyHotel now has all of the prerequisites to launch its transition to agility at scale comfortably!
Help SoEasyHotel Define Its Initial Scope for Implementation
Now you need to help the company choose the first project scope in which to put this into practice and assemble the teams.
In your opinion, what is the most suitable scope for SoEasyHotel to implement initially and why?
Support SoEasyHotel in Defining a Division Strategy
The HR director has two division strategies in mind:
A first strategy based on a technical division.
A second strategy based on a functional division.
1. What strategy will you opt for and why?
Following the division into sub-scopes, here is an assessment of the work to be done and of the number of developers required over the coming year:
Sub-scopes | Number of developers |
Loyalty points management (allocation and withdrawal) | 7 |
Customer status management and associated benefits | 4 |
Loyalty card management (creation and follow-up) | 3 |
The last two sub-scopes contain a lot of dependencies.
2. Indicate which team falls under which sub-scope with an x in the table below, and note the number of developers per team in the last column.
Fidelio | Sub-scope 1 | Sub-scope 2 | Sub-scope 3 | Number of developers |
Fidelio Team 1 |
|
|
|
|
Fidelio Team 2 |
|
|
|
|
... |
|
|
|
|
Answer Sheet
You can consult the answer sheet to check the recommendations you would have made to SoEasyHotel.
Let's Recap!
You should preferably begin with an initial functional scope that requires a small number of teams.
Holding a workshop with all the stakeholders allows you to identify the best strategy for dividing up your scope.
The resulting sub-scopes are distributed among the teams that you can assemble via a "job fair" workshop.
In this first section, you have prepared your transition to agility at scale. Well done! It's time to begin the second part of the course. But, first, let's test your knowledge with a quiz.