The reason agile doesn't work in companies is because the business function isn't adequately represented in project teams.
If you remember how an agile team is composed, the agile team is made to be autonomous in decisions and in the execution of project activities, in fact there should always be a business representative who basically decides on the functionalities to be developed and the priority of the developments.
Now, while it seems easy to have a business representative within agile teams, in practice it is neither easy nor assumed that if a business representative is present, this person has the skills, experience and authority to decide which features to use. develop and their priority.
In reality, the business representative within the agile team could decide on the features to be developed and their priority only if he is the product manager that the team is developing.
Suppose a team is developing the native application for a retailer and the native app product owner is assigned to the agile development team. Well, when the product owner is confronted with the decision-making choices relating to the application to be developed, he will find himself in the position of having to ask for opinions and authorizations for every single relevant decision that has an impact on the other organizational functions with which the app it will necessarily have to interact.
Let's take some examples to clarify the dynamics:
- We have to decide on the graphics of the app -> You have to contact the art director or the image office of the company to have the sign off on the graphics of the app -> The agile team must wait for the appropriate approvals.
- We have to decide on the payment methods to activate on the app -> We need the financial director to approve the payment methods and make the configurations
- We need to decide on the contents of the app catalog -> We need the merchandising director to define which products to sell
and so on.
All of these hitches can be adequately managed with initial planning work and stakeholder management activity which is normal practice in a project managed in waterfall mode.
Clearly, for complex projects, a planning method must be adopted rolling wave planning or more simply to adopt some best practices such as keeping a list of activities that are not completely defined and analyzing their dependencies to understand if these can have an impact on the total duration of the project.
The tools that traditional project management methodologies make available to manage these situations are:
- Open questions (log)
- Issue list (log)
- Definition of blocking and non-blocking activities
- Project requirements document
- Product requirements document