BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles The Role of Project Managers in Agile

The Role of Project Managers in Agile

This item in japanese

Agile, as per books does not talk of role of manager but talks of a coach/facilitator. This article first explains the role of project manager in general in any industry and then tries to map it with the role of coach/facilitator in Agile. During this discussion, the article also tries to widen the scope of being a coach/facilitator.

Before we discuss the role of project manager in Agile, let's first see why managers are required at all in any industry.

  1. People are not perfect

    Working with human minds is very complex. No two brains in the world can think alike. Like two fingerprints can never match, style of work of two individuals can never match even 90%. Let's appreciate the beauty of nature who created so many individuals but all different. But business goals remain “one and same” for all stakeholders. People here mean all the stakeholders involved in the project in various capacities like (a) project team members (b) business users (c) management and financiers. People are required to be managed everywhere in every project to:

    1. Keep them aligned with project goals and fine tune their style of work.
    2. Bring best out of them.
    3. Help them stay focused and motivated.

    If everyone in the project is perfect - no project in any industry would ever fail, no need of any software development methodology be it Waterfall or Agile, perfect people would anyway make it a perfect project.

  2. Controlling the change

    Change is the only constant in life. Everything can change be it tangible (e.g. requirements) or intangible (e.g. people).

    1. Requirements are like wind that always blows (means change).
    2. People's experience and exposure is changing every day [e.g. my experience tomorrow will be +1 day as compared to today]. This can bring change to my:
      1. Aspirations
      2. Skills
      3. Commitment
      4. Attitude
      5. Any other soft or hard skill
    3. Business is dynamic and market is changing every minute. With this, customer expectations may change.
    4. With change and innovation happening in technology every minute – software project environment, architecture and design and development processes may change.
    5. Resource movement is inevitable in long projects.
    6. In terms of mathematics, planning is a function of time. Howsoever perfect planning you do be it at program level, project level or sprint level – it may lose its validity tomorrow. Every attribute in planning (any sort of planning at any level) has an expiry date which can be as close as tomorrow. When everything is changing constantly and unexpectedly, how can yesterday's planning be valid tomorrow.

      In this context, role of manager is:

      • To keep the people continuously motivated and engaged with the project.
      • Working out resource movement with a realistic transition plan with minimum impact on business.
      • Keep an eye on the plan, let the plan evolve with time and accordingly take extra steps to manage the impact and change.
      • Since team members and plan – both are dynamic, keep communicating to stakeholders about impact and mitigation.
  3. Communication causes gaps and conflicts

    1. Communication is root cause of all happiness and also of all conflicts.
    2. It's an ART that always requires diligence and must be thought through to think ahead how the message will be perceived by the audience, does it offend anyone, does it has necessary weight to communicate the message well and strongly. Very few people in the world possess this ART.
    3. People in development are generally too focused in technology thereby ignoring (knowingly or unknowingly) this fine art.

      A project manager controls the communication to large extent. S/he should also delegate some responsibilities to other team members as and when they are comfortable to pick it up.

  4. Processes are not perfect

    1. No process is ideal (e.g. software development methodology be it Agile or waterfall has gaps, no ideal process to define customer-supplier relation piously and if there is, it's almost impossible to carry it in true spirits)
    2. Even if a process works absolutely fine with one person or in one situation, it may terribly fail with another person in different context

      Manager is expected to let the team focus on results and not too much worry about process. “Processes are for us, we are not for processes” – which means following process is not the end goal but it is just a tool to achieve certain results. See manager along with the team to decide what part of the process is the best for this project and apply only that one.

  5. Processes not implemented properly

    1. Process implementation always means more work, more diligence, more tracking which any development team in general tends to avoid. Process overhead is considered an evil by many people.
    2. It's rare to know that a particular process in a project has been implemented 100% in true spirits for the entire duration of the project.

      Any process violation which may lead to indiscipline and impacting the project adversely, manager should intervene and ensure high degree of compliance for all of the good practices.

If all of the above 5 reasons are false than no industry would ever need managers. But unfortunately, all of the above 5 exists in every industry, every company, every project and every sprint. The investors and shareholders must get good returns on their investment (RoI) in any project. Hence there needs to be someone who can balance out these things and still help achieve business objectives of the project. All of the above mentioned five attributes are non-technical in nature which can be best addressed by applying management practices. And the person who performs this role and brings management practices into a project is called ‘manager' in corporate world. But it does not mean managers have any magic pill to make the above PERFECT but they help the people and processes to fine tune, to monitor and apply lateral thinking management concepts to come up with creative solutions so that above five does not impact the business goals to large extent. A subset of this role is described as coach/facilitator in Agile terminology.

Agile coined a new term called ‘self-organizing team'. I am personally a big fan of self-organizing team. It works fine many times especially in those cultures where people display very high standards of responsibilities and duties in public life. This is because people carry forward these high standards to office also and become a perfect match for ‘self-organizing' team. To have every employee working in a self-organizing mode is the dream of all corporate. But like all human beings are different and unique hence not everyone can be eligible to be fit into ‘self-organizing' team. e.g. every doctor cannot become surgeon or dentist or orthopedic but still every doctor is useful to the society. Similarly it's impossible to expect from everyone to work in a ‘self-organizing manner'. Though same individuals (who does not fit into definition of self-organizing) can still be great contributor provided handled differently. This is where role of project manager becomes very useful who with little or more (depending upon individual) supervision can extract the best work from a team member. Agile uses the term ‘coach/facilitator' for this kind of role. Again, this role would work fine when people deviate a little from being self-organizing. In following 3 scenarios, coach/facilitator may have to widen his scope.

  1. People who deviate too much from being self-organizing (e.g. highly unstructured, highly unfocused, emotional etc.)
  2. People's soft skills are not aligned to business needs (e.g. inability of being proactive, afraid of speaking, poor communication, poor time management etc.). Lack of these soft skills would never allow true potential to translate into performance.
  3. People infected with corporate evils (e.g. back-biting, jealousy, showing off work with shouting, holding the knowledge, sycophancy etc.). Technically these people can still be made productive provided a strong manager (not coach) controls these people with constant monitoring and nips these evils even before they start impacting the team dynamics.

My intention here is that we should have high degree of acceptance for all professionals. But the way to handle and bring best out of an individual is different for everyone. There is no one rule of thumb that can be applied to everyone by default. This is something organizations need to introspect. There are very good techies in all countries who can be very good contributor but may not be self-organizing. This is where coach/facilitator would move more towards being project manager. These people may make mistakes, may need guidance and supervision, and may be missing on soft-skills and so on. Within the limited scope of coach/facilitator, it will become nightmare to align these kinds of people with Agile and get the work done. I have full respect for all kind of people and strongly believe these people can also be great contributor but you need to widen the scope of coach and give him some kind of authority to tell strongly ‘dos and don'ts'. This is where role of project manager becomes useful. The following table demonstrates a few other areas where need of project manager is felt.

Sr.No.

Fact

How Agile helps

Where Agile does not help

(here manager can help!)

Remarks

1

People are not perfect

Having daily status keeps them focused and product owner (PO) keeps the requirements aligned with business.

1. If focus is in right direction?
2. If product owner (PO) changing goals in every sprint?
3. If accountability is really being shared? What if everybody thinks other person is more accountable because he has more experience or more knowledge?
4. Are people hiding incompetency on the name of Agile?
5. Is team really self-organizing?
6. Are people finding outward reasons as an excuse or really improving?
7. If one individual in the team is trying to take all the credit thereby disturbing team dynamics?
8. If someone is holding all the knowledge and not sharing with team?

A manager with lateral thinking can devise innovative ways to manage imperfections.

Coach can tell how to do things in right manner but what if people don't follow? E.g. what if team does not take feedback from product owner after the demo? Is it acceptable or to be enforced?

2

Controlling change

Agile welcomes new requirement at the beginning of each sprint and scrum master prevents scope creep during the sprint.

1. If Scrum master playing its role properly?
2. If tester is doing its job at right time? 3. If people's soft skills and commitment is changing? 4. If customer suddenly starts disbelieving in Agile? 5. If customer suddenly starts expecting unrealistic things?

Agile takes care of change in priority of requirement which is only one part.

Product Owner (PO) using his influence can add the story even in the middle of the sprint and team does not know how to handle it?

Intangible changes cannot be addressed by any methodology.

3

Communication is not proper

Agile provides opportunity to communicate every day in stand ups. Also creates a platform to speak his/her mind during retrospectives.

1. If team really raising impediments?
2. If team is proactive to communicate everything?
3. If communication is well understood by audience?
4. If there is language or cultural barriers in our communication?
5. If distributed communication is a bottleneck? If user experience is good?
6. If all emails are replied and replied as per expectation and with good quality?

Corporate communication is a very different subject then knowing programming and also very tough one.

Management studies explain fine art of communication.

Soft skills cannot be addressed by any process.

4

Processes are not perfect

Agile helps in software development.

Every methodology has its limitations and at the end of the day, it's people who have to make the project success.

Bad Agile is worse than no Agile.

5

Processes not implemented properly

Agile is a process whose implementation is dependent on people.

1. Are people following processes?
2. Can processes be improved?
3. What subset of processes is appropriate for my project?
4. Where are exceptions and when it is ok to deviate from process?

A small example - in Agile, is team doing excess pair-programming?
When a best practice is really the best practice for my project?

A project manager can extend his/her role beyond being a coach/facilitator if things are going wrong. S/he can control those team members who are not Agile by nature or by intentions. I would like to address 3 common myths prevalent in the industry. These myths are more prominent in the context of Agile.

Myth#1: Managers have magic pills.

Reality: Dealing with human minds is very complex and most challenging. There is no science, it's a pure ART. Whatever you do, there will still be people who are unmanageable and there will be changes uncontrollable. In my humble opinion, a good manager can:

  1. solve 50% of problems completely,
  2. partially solve 15% of problems,
  3. can make 15% of problems looks like no impact problem or out of scope by making them explicit with the help of communication,
  4. 20% problems are such that they always remain (some people in a certain context and some changes can never be managed). We must accept this.

Please note that above figures is only an expression of my experience and not based on any scientific study or research.

Managers are also human beings who are as imperfect as anyone else. Management is a different concept with holistic approach. It's a different profession all together that is designed to manage people and processes with imperfections. People with a good experience and study of this subject can bring a lot of value.

Myth#2: Managers always curb freedom.

Reality: May be true for some bully managers. But in reality, a good manager creates an environment that enhances performance thereby bringing BEST out of people. A manager with experience and vision may curb team's freedom temporary but it has an objective that eventually helps people only. Sometimes people are not able to visualize that far ahead because of (a) lack of experience (b) working in extreme comfort zone (c) arrogance that always has side effect of shortening the vision (d) any other unquoted reason.

It may also be the case that incompetent people have fear of being exposed and hence, they feel managers curb freedom. People who have zest to perform should raise their bars, use manager's experience to plug gaps and work closely with him/her thereby taking more responsibility and let the manager rest in peace.

Myth#3: Manager should not have authority.

Reality: Some countries and cultures by default inculcate responsibilities and duties in public life. The authority is not required in these cases, a coach/facilitator would work perfectly fine in these kinds of environments. But concept of authority is more relevant in those societies which are still evolving and yet to reach a maturity level. In order to control any of the above 5 reasons (mentioned at the beginning of this article), any manager has to have authority in those environments. A manager without authority would be like a car without fuel. Studies have revealed that human mind by psychology (especially in adulthood) is like a hard iron bar which is very difficult to bend. In order to shape the iron into a beautiful vessel, authority is required. The moment, whole world becomes so diligent, responsible, mature and high performance in a self organizing manner – all management institutes would be closed globally.

Conclusion

Agile is a very good software development methodology that helps iron out some of the wrinkles of the traditional waterfall process. But Agile is not a trump card for the success of the project. It's the same people who have to work and perform. When it comes to people, it's always a challenge to deal with. This world (hence people) is full of problems and imperfections. Scientist tries to help the society by innovating technology. Similarly, management is a profession that helps people succeeds in business goals or professional goals despite working within constraints. No methodology can make a manager redundant until unless executed by perfect people. A process is a set of guidelines. When there is a process there is deviation; when there are people – there are problems. To manage people and problems and control deviation or changes – every project has to take help of management profession. At the same time, managers are also human beings. They belong to the same world made of imperfections. Certain management decisions may also fail. Stakeholders must accept this. In certain environments, managers may need authority to apply certain measures in the best interest of the project. These measures may find resistance among team members and hence in order to apply them – sometimes a coach/facilitator works fine and in some other context, a manager with authority would work fine.

About the Author

Vinay Aggarwal is a delivery manager with Xebia IT Architects, India. He has 11 years of experience in IT industry. He holds bachelor's degree in Engineering. He is a PMI certified project manager (PMP) and Certified Scrum Master (SCM) also. He has worked in companies like IBM and Accenture in the past. He has a very good experience in both waterfall as well as Agile (Scrum) methodologies. He believes in lateral thinking and applies management concepts to handle various delivery challenges.

Rate this Article

Adoption
Style

BT