What Is a Good Management Model in Agile Software Development?
The author of this article is EPAM Senior Software Engineer William Martín Chávez González.
Introduction
“One of the things I learned this past decade is that Agile software development is the best way to develop software. But I’ve also learned that old-style management is the biggest obstacle to the adoption of Agile software development around the world,” writes Jurgen Appelo in his book titled Management 3.0: Leading Agile Developers, Developing Agile Leaders.
We are living in an era of digital transformation that demands an agile and flexible response to change. Every day, organizations deal with uncertainty in the requirements of their customers and in the customers’ perception of the quality of the software products and services that they use. The software industry is a complex one, requiring emergent practices. And innovation and adaptability are crucial for success.
One of the most important reasons why Agile methodologies have been adopted by the industry is that they can effectively deal with systemic uncertainty by creating a hierarchy of values, as stated in the Agile manifesto:
- “Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan”
Some software teams and organizations, however, are led by individuals who may not fully comprehend their complexity. Those leaders may not recognize the imperative to transform their leadership style, skills, and tools accordingly. Instead, they continue managing organizations and teams based on a causal determinism (cause-effect) mindset built on a hierarchical structure that, according to Jurgen Appelo in his book “Managing for Happiness: Games, Tools, and Practices to Motivate Any Team,” “consists of parts” and “improvement of the whole requires monitoring, repairing, and replacing those parts.” That explains why these leaders continue managing teams using a “coercive” leadership style that commonly works best in chaotic environments where urgency necessitates immediate action to save the organization’s operations.
Management 1.0
Daniel Goleman described the “coercive leadership style,” sometimes known as the “traditional leadership style,” as one that demands immediate obedience and waits until the right moment for saying “I told you …”. It is a goal-oriented style, motivated by initiative and self-control, well suited to a crisis phase, in which novel practices and deep changes need to be performed quickly and without question. But it is a style that almost always has a negative impact on the organizational climate.
Jurgen Appelo called that coercive leadership model “Management 1.0,” or “doing the wrong thing,” in which “organizations are managed like machines, with their workers treated as gears and levers.” According to Appelo in “Managing for Happiness,” that means: “more assignments to ‘best performers’ while getting rid of the bad ones,” which promotes “competition and politics instead of collaboration and shared purpose.”
Another symptom is when bosses who are on vacation regularly check their workers’ assignments since they assume that the workers would be partying in the bosses absence instead of doing their job. That old-school mindset does not fit well with current realities in which transparency and a collaborative organizational network-based structure (“treating employees like adult human beings”) is more effective in achieving success than establishing a classic superior-subordinate hierarchical structure.
Management 2.0
What improvements have managers in the software industry been making until now? Some have started to recognize that “people are the most valuable assets” of an organization.
Despite that recognition, an approach referred to by Jurgen Appello as “Management 2.0,” or “doing the right thing wrong” is still being used. This management style involves a manager who sticks strictly to the organizational hierarchy and forgets that human beings usually don’t like top-down control and mandatory improvements. Within this approach, 1:1 meetings are conducted with employees for individual goal setting. Although this could be considered a good idea — to manage people and their interests — the key is the way managers do it. They should be managing the system around their people instead of managing the people directly.
Why you shouldn’t apply Management 1.0 and 2.0 styles on a project
After reviewing those two management styles, you might ask: “How can I know if I am doing the right thing wrong, or worse, if I am doing the wrong thing?” To help you answer that, let’s analyze some scenarios I have encountered in my experience working in the software development industry:
Issue 1: Where is the Product Owner? Is there one?
It sometimes seems like there are no product owners, and that priorities are instead set by managers, who command and demand priorities that, unfortunately, are not always based on business value, but on what the manager considers the value to be.
Management style: 1.0 (Doing the wrong thing).
Issue 2: Lack of vision and reactivity in response to change.
Generally, everyone knows what to do but not why they should do it. The only measurement of progress is the completion of specific tasks, not reaching a business value or goal. In the “task completion” model, the team doesn’t know what impact completing a task will have on the business.
Management style: 1.0 (Doing the wrong thing).
Issue 3: Daily Scrum meeting resistance.
It may seem that team members are not willing to attend daily scrum meetings: they don’t join on time, don’t show up at all, or don’t share clear and useful updates. The reason may be that team members feel that the discussions are not relevant, or that they are being micromanaged in these meetings.
Management style: 1.0 (Doing the wrong thing).
Issue 4: Wrong or inappropriate communication and feedback.
When a sprint finishes, there should be a retrospective meeting that helps the team understand how to improve as a team. Instead, managers often set 1:1 meetings to establish goals for each employee individually, but not to improve the system overall.
Management style: 2.0 (Doing the right thing wrong).
How can managers cope with such challenges?
Management 3.0
Management 3.0, or “Doing the right thing,” can be the appropriate solution, in which organizations are considered to be complex and adaptive systems. Jurgen Appelo describes this style of management as “taking care of the system instead of manipulating the people.” Or, in other words, improving the environment so that “it keeps workers engaged and happy is one of the main responsibilities of management; otherwise, the organization fails to generate value.”
A good management practice is the one that:
- engages people and encourages their interactions,
- enables them to improve the system, and
- helps to satisfy the needs of the clients.
Conclusion
The software industry is a complicated one, so it’s important to create an environment in which Management 3.0 principles and practices can be followed and improved. Tools like Kudo Box and Kudo Cards help motivate people with better rewards. They not only positively recognize the behavior of an individual or a group of team members in their work, but can increase the intrinsic motivation that people need to conduct themselves properly. This reward practice is performed by all coworkers (not only by managers), and is a part of the Management 3.0 approach of making all employees responsible for supporting management.