≡ Menu
Pawel Brodzinski on Software Project Management

Leader of a development team

When you have at least two developers working on one project, you should have a leader – an individual responsible for whatever will come from development process. Project functionality, project quality, project completeness and I don’t treat these factors only as a function of code. You can have perfectly functional, complete code with extraordinary quality, but unless it satisfies customers’ needs it’ll be nothing more than a perfect example how to spectacularly waste a time.

Thinking about development phase in a software creation process, you can imagine several different tasks that should be completed depending on a project size, a team size, given amount of time etc. Even if you think about development in a big scale project, with a design team, a quality assurance team, project, product and program management, still you can have perfectly developed something different than you wanted to. Someone just has to be responsible – leader of a development team, a lead developer or whatever you call it.

Why don’t just leave the team with a design document and trust that they’ll do it right? If you allowed it, you’d probably find the part of project made as easy as possible (of course from developer’s point of view), the part made as a developer always had been doing that, and the part made in a way, that would allow a developer to learn something new. Certainly not something that would stick together and not something your client would like to buy. Developers tend to do their work in a way they like, not a way it should be done. That’s another reason you should have the lead developer, the one you’ll punish for your failure. OK, just joking.

The lead developer should be someone who feels customer needs, someone who can put himself in customer shoes, yet he feels all the technical details and constraints of the project. Yes, it’s hard to find this sort of developer, but the bigger your project is, the more important for you is to have one.

Software development process isn’t like democracy. Imagine, you allow your developers to vote how the particular function should be implemented. Yikes, I don’t want to see what they would have developed. However, much worse is anarchy. In democracy at least a majority manages (better or worse), in anarchy everyone works like they want, and most likely no one cares about what customers would like to have (and buy). What more – you’d probably get a pack of components that just don’t fit. A regime that’s left is authoritarian, and this one is the best for software development. That’s why the best developers should be from Russia. Well, some of them actually are. Ideally, when a dictator er… the lead developer listens to ideas from his team, but he should be able to override his teammates’ decisions.

The quality of your project depends (among others of course) on the quality of your lead developer. So you’d better have a good one.

in: software development, team management

6 comments… add one

  • Piotr Ukowski May 29, 2006, 4:59 pm

    I know you a little bit, we’ve been working together some time ago. And I’m quite surprised of what I have read.
    Your method is probably efficient. But where is the place for humans? Yes, I still think, that developers are humans :). With very strong (“dictator”) project leader you will lost creative employees. In my opinion it is much better to have project leader with authority, than project leader ruling authoritarian. But it is much more difficult…
    Of course every project needs the decision-maker. But every decision has to be make with THE TEAM.

  • Pawel May 30, 2006, 1:19 am

    If you manage let’s say team of developers you need a leader. Do you allow every single developer to vote? Or you rather listen to them but you make your decision alone? Hey, that’s not democracy…

    Like I said – it’s ideally when the leader listens to the team (that’s make him better leader), but the responibility doesn’t lie on the team.

    You should make decisions with the team, but not the team is decision-maker. The leader is.

    I think we talk about the same situation, but we look from slightly different perspective.

  • Piotr Ukowski May 30, 2006, 1:29 pm

    I don’t agree that the responsibility doesn’t lie on the team. If you think so, you make a big mistake. How do you want to build motivation without responsibility?

    Making decisions is not a dictatorship. Dictator who listen to people is better but it doesn’t make this system more efficient.

  • Pawel May 30, 2006, 2:10 pm

    Ask yourself why people keep coming to you asking you to make a decision? I think because they’re not able (or just doesn’t want) to take the responsibility.

    Try to explain last of testers why he is responsible for a product roadmap you have agreed. Have you asked him what does he think about that? So why he should be responsible for the roadmap?

    A good leader is the one, who let others think they MADE (and propose) a decision, which was made earlier by him. That’s one of things I learnt from my mentor. You should agree with that one. And I could hardly call it a democracy.

  • Piotr Ukowski May 30, 2006, 11:03 pm

    Yes, it’s hard to call it democracy but still it is not a dictatorship :). Good leader doesn’t force people to make decisions because it is his responsibility. But he must let them participate in deciding or at least, as your mentor said, to let them think that they are doing it.

    I’m not saying you’re completely wrong. I’m saying you are one step too far.

  • Pawel May 31, 2006, 11:02 am

    Letting someone to think he’s participating in decision-making while decision is made by someone else (the leader) is clever authoritary, but still authoritary.

    I thing we look at the same situation, but call it different. Or maybe there is no regime that perfectly suits to leading the team. Nevertheless I still think that in this case we’re closer to authoritarian rules than to democracy.

    However you’re right in one thing being strictly a dictator is not the best way to lead a team. Certainly not in the long run.

Leave a Comment

Next post:

Previous post: