Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

After a recent heated debate over Scrum, I realized my problem is that I think of management as a quite unnecessary and redundant activity in a fully agile team. I believe a mature Agile team does not require management or any non-technical decision making process whatsoever. To my (apparently erring) eyes it is more than obvious that the only one suitable and capable of managing a mature development team is their coach (who is the most technically competent colleague with proper communication skills). I can't imagine how a Scrum master can contribute to such a team.

I am having great difficulty realizing and understanding the value of such things in Scrum and the manager as someone who is not a veteran developer but is well skilled in planning the production cycles when a coach exists in the team. What does that even mean? How on earth can someone with no edge-skills of development manage a highly technical team? Perhaps management here means something else?

I see management as a total waste of time and a by-product of immaturity. In my understanding a mature team is fully self-managing. Apparently I'm mistaken since many great people say the contrary but I can't convince myself.

share|improve this question
28  
nothing can replace good management, inanimate objects can replace poor management. –  Ryathal Sep 25 '12 at 17:52
    
@Ryathal Thanks for the larf, so true. –  Jimmy Hoffa Sep 25 '12 at 18:00
26  
Even if the team is self-managing, you want a manager to keep the other managers from interfering with the self-managing team. –  Wyatt Barnett Sep 25 '12 at 18:53
4  
You need to define what kind of management, Scrum Master? Project Manager? Product Manager? Director? Just because you can't see what they are doing for you and your team doesn't mean they are useless to the organization. You work for a place of business and the people with the money on the line need to know whats happening on the ground. Management is for them, not necessarily for you. –  maple_shaft Sep 26 '12 at 2:39
    
@WyattBarnett You can have a very intimidating senior dev that everyone is afraid of, and thus stay out of your team's business. It worked awesome in my last job. We got so much done! –  MrFox Sep 26 '12 at 16:24
show 2 more comments

8 Answers

You're making a number of mistakes here.

The first one is assuming that a Scrum Master is a manager. They're not. They're basically an administrator-cum-facilitator. They make sure things happen on the Scrum schedule, but they don't have to tell you how to, if you're a fully-mature Agile team. It mostly just happens.

But they don't monitor the quality of your work or sign your holidays off or anything like that. Nor do they manage the product or project; that's done by other people.

The bigger mistake you're making is assuming that you can go from the situation you've described in other questions ("Developers are far from capable of doing agile programming practices at the moment. No unit tests, no pair programmings, no CI (huh? what is it?) ... you get the idea.") to "fully-mature Agile team" overnight. That's simply not possible. Forget it. Don't even try.

If overnight results is what you want, look to more structured project-management approaches. And hire some managers.

If the business wants you to be Agile, it takes time, it takes culture change. And yes, at first, when you're in the Chaotic Stage of improvement, it's going to require management. Whether that be an individual or a group, someone's going to have to make some decisions.

You need a person or group to be responsible for taking a look at the bigger picture, explaining the current situation to both the developers and the business, and explaining the options you have for improvement, figuring out what the business needs and then guiding people through it.

It's going to be a long time before you can call yourselves a fully-mature Agile team and self-manage. Most teams never get there.

share|improve this answer
    
I might be missing something, but at the end of your reply, are you agreeing with the OP in that a fully mature agile team doesn't require management? I'm not sure I understand how the answer to this question could ever possibly be so - surely an agile development team is still just one cog in the business, which will also include: Finance, Marketing, Business Development or, at a more abstract level: Leadership, direction and getting customers to pay money? Someone has to pull these components together. Management is necessary. Always. –  LordScree Sep 25 '12 at 21:16
1  
@LordScree: Self-manage is a specific term that means a team manages their own day-to-day behaviour and duties, without supervision. Not the bigger picture. (businessdictionary.com/definition/self-managed-team.html) I hope that's what the OP meant, though I understand why people have reacted as if he said they don't need any management at all. –  pdr Sep 25 '12 at 21:28
    
Good explanation, thanks. –  LordScree Sep 25 '12 at 22:13
    
You may be a fully agile team but are you in a fully agile organisation? As an agile consultant we often refer to the PM's as shit shields as they protect us from all sorts of weird and wonderful stuff from outside of the dev team, in fact we (the devs) often dont hear about a lot of the silly ideas that come fro the clients until well after the fact. –  Chris Lee Oct 10 '12 at 10:07
add comment

In my understanding a mature team is fully self-managing.

Let's assume for a moment you're correct. I don't know one way or another, so let's not discuss it.

The issue comes that even a self-managing team ends up with someone with good social and political skills that can represent the team to other departments. Someone who keeps track of what everyone is doing, when they're taking vacation, etc. Someone who handles HR bullshit and budgeting. Someone who argues with the QA and PM groups so that the rest of the team doesn't have to. Someone who mediates the inevitable interpersonal squabbles between developers. Someone to schedule meetings and keep morale up.

This person is a manager.

share|improve this answer
3  
+1. Human nature abhors a power vacuum, and groups of people always end up gathering into the same basic, hierarchical structure one way or another. Someone will end up managing things, whether or not they're officially called "manager". –  Mason Wheeler Sep 25 '12 at 20:08
    
@MasonWheeler Though not always true, I grant that this is an extreme case of people who are practically alien-smart, but Valve does show self-managing can not only work, but it can scale. Again though, these people are alien-smart businessweek.com/articles/2012-04-27/… –  Jimmy Hoffa Sep 25 '12 at 20:16
1  
@Jimmy: There are still leadership roles on each team, as the article explains. They don't remain the same from one project to another, but the basic structure is still there. It's always there in any social organization large enough to require it; only the details are different. Groups that try to consciously subvert this basic rule tend to become massive failures that waste a huge amount of potential. (For the most relevant example to modern times, look at Occupy Wall Street.) –  Mason Wheeler Sep 25 '12 at 20:27
1  
I think what you're saying that a manager always exist, but they are not necessarily in a formal leadership position. Am I understanding you correctly? –  Lie Ryan Sep 26 '12 at 10:30
1  
@LieRyan yes. There is always someone who does the work, even if they don't have the title. –  Telastyn Sep 26 '12 at 11:32
add comment
  • You arrive home one day and you pay check does not...
  • You want to take leave, but the team is too busy and has been for a year...
  • Your wife or child is sick and needs you to cut back to 20 hours a week
    for 6 months.
  • The finance department has called for a budget cut and someone has to go.
  • The coffee machine broke and no-one can fix it.
  • Your team is so good there are no defects to fix and no features to add, you have run out of work - what to do now.
  • The customer won't pay for work done
  • The customer wants more work done than you can achieve and is prepared to pay for it.

I don't see anything in this list that has not happened to me in my career. I don't see anything in this list that needs highly technical skills resolve. I see lots of stuff in this list that needs specific skills that, frankly, most developers do not have, and good managers do, no matter what they have managed in the past.

Stop bagging managers - recognize you have a set of skills and they have a different set. All of these skills are needed in any organization. You will do their job just as well as they will do yours. It is rare to have someone good at both jobs, it is rarer to have someone good at both that can do both simultaneously. What happens without a manger is things slowly erode into a state of disfunction. If you are lucky, its recognized early enough, a manager is hired, and all of a sudden problems disappear as if by magic, and you are left to get on with the job you are paid for rather than playing silly office politics (speaking from experience here).

share|improve this answer
add comment

I see management as a total waste of time and a by-product of immaturity.

Wow. You haven't worked with any good managers lately, have you? (We've all worked with bad ones).

I have seen people occasionally make the mistake of assuming anything they don't fully understand is easy.

(Business folk are especially guilty of this - have you ever received poor quality specifications AND a deadline set in stone?)

In most businesses the development team exists as a part of a larger whole. Managers exist as an interface between the team and the rest of the company. A good manager will work that relationship in both directions, ensuring the team gets what they need (requirements, office space, new computers, recognition, bonuses, etc) as well as communicating the (ever changing) priorities that come out of the corner office.

The corner office exists for a lot of reasons, most of which aren't relevant to this post.

Remember that most managers are making the best decisions they can with the information available to them which may not be the same as the information available to you.

If you had a fully mature development team that was part of a fully mature company that had fully mature customers and nothing ever changed, you might possibly eliminate the need for most management. The term for that is Utopia.

Good luck with that.

ps - read Don't call yourself a programmer - excellent advice, and explains better than I how the rest of the business world views us.

share|improve this answer
3  
That Don't call yourself a programmer article while accurate on some points, is horribly, derisively pessimistic on a number of topics. Take it with a grain of salt or else you're believing your fellow engineers are largely amoral which as a fellow engineer I find frankly insulting. –  Jimmy Hoffa Sep 25 '12 at 18:47
1  
@JimmyHoffa: +1 to that. Dan, not sure why you found that article so enlightening, but it sounds like it was written by a very bitter person who's had a decade of nothing but bad experiences and boring jobs, and I would expect his boredom came at least in part to very liberal use of copy/paste while working in CRUD applications that he didn't find challenging. –  DXM Sep 26 '12 at 5:38
    
Story of my life: receiving bad requirements and a deadline set in stone. –  Simon Whitehead Sep 27 '12 at 0:11
add comment

The job of a scrum master or a manager in general isn't to act as a dictatorial overlord. A manager's job is to make sure that his team is set up for success within the business. That includes hiring the right people, getting the right equipment, and keeping a strategic view of the product. A manager should be like a linesman, keeping the details and minutiae that aren't important to a teams success from interfering with their progress.

share|improve this answer
    
Well said. The manager should work for you, not the other way around. –  Bryan Oakley Sep 25 '12 at 22:47
add comment

Part of the problem is that "Scrum Master" is quite possibly the least-accurately titled role in all of history. "Scrum Facilitator" would be slightly more accurate, but as someone else pointed out earlier, the SM job isn't to manage the team but to make problems go away so the (self-managing) team can get on with their jobs. Yes, the scrum master is also responsible for making sure that scrum happens: tasks get updated with remaining hours, stand-ups are held and add value, burn-downs are updated and velocity is tracked and so on, but that's still a coaching and facilitating role, not a managing role.

Another part of the problem is that the folks in the corner offices want to know the answers to questions like "when can I ship the software?" and "what features will it contain?" and they're used to being able to ask a "Project Manager" those questions and get answers supported with lots of impressive-looking Gantt charts and little or no mention of uncomfortable things like the cone of uncertainty.

Under Scrum, it's feasible to start with a rough-and-ready list of the "will", "might" and "won't" features for any given ship date, but there's definitely a role for someone - probably the scrum master - in keeping the corner office up to date with the inevitable changes in those lists over time. I'm tempted to think of that activity, along with processing the resulting feedback and managing new feature requests as "management", albeit management that's different from what many, many Project Managers might have done in the past.

share|improve this answer
1  
+1 for "Part of the problem is that "Scrum Master" is quite possibly the least-accurately titled role in all of history" –  akton Sep 26 '12 at 1:52
1  
... and if they're a very senior Scrum Master, do they get to be Scrum Lord? –  MrFox Sep 26 '12 at 16:30
add comment

If you think no management is needed, who will perform the following organizational jobs, who will respond in the following situations?

  • new clients must be found. How do you sell your products? How do you advertise?
  • materials must be purchased, suppliers must be found
  • diplomatic discussions with other companies, or banks, or a government office must be led
share|improve this answer
add comment

I'm on a small team with no manager and it works. Why? I honestly don't know.

My best guess is it comes down to the type of person you are. Some people "are" computers, so they need to be fed a process. Other people are "programmers" and have the ability to create their own world and structure from nothing.

I must create a system or be enslaved by another mans; I will not reason and compare: my business is to create. --William Blake

EDIT in response to glenatron's comment:
It's more than just a dev team. We have a CEO, a receptionist who answers the phone, and an IT guy. We communicate with clients directly by email, phone, or meetings. Our main business is creating our own product and selling it, rather than hunting down contracts. But there are contracts too.

I've thought about it more and these are the reasons I think it works:
1. We primarily create our own product rather than creating someone else's.
2. We have a consistent work ethic independently without oversight.
3. We have domain knowledge.
4. Luck. A handful of people who get along and work well together.

Someone mentioned the company Valve has no management either. Valve creates their own product rather than creating someone else's. I think a product company lends itself better to self-management. There's no risk of going down a different path than the client expects because you are the client. In a game company this is especially true. Make your game fun.

You can't manage your way to fun. You can't manage your way to the original creation of art.

share|improve this answer
2  
Is your team the whole business? If so how do you address the day to day running stuff, if not how do you interface with the business to ensure you are building the right thing? –  glenatron Sep 26 '12 at 9:17
    
leave a comment for the downvote please. –  Lord Tydus Sep 27 '12 at 0:01
    
May I know why the down vote ? –  ashy_32bit Sep 27 '12 at 8:10
    
+1 to "You can't manage your way to fun. You can't manage your way to the original creation of art.". Very inspiring. –  ashy_32bit Sep 27 '12 at 8:11
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.