Show all posts
6 years ago

The Lean Team

Why do teams gel? Why some teams are trustful, enthusiastic and passionate; while other teams are apathetic and boring? There is no recipe to build a great team. You can’t add 5 grams of trust, 3 grams of fire, pour in some communication and boil till ready.

Why we need teams at all?

Working Alone

Team adds some new qualities in comparison with individual. When you program alone, you don’t need trust. Of course, you most likely trust yourself, otherwise you need  medical help. Besides you don’t need communication skills, if you speak to yourself very often you need medical help as well. All you need as a lonely programmer is problem solving, technical skills and passion to move forward. However, these are not enough to work effectively as a team.

If you work alone, you are free to make any decision fast. You have zero overhead: no meetings, no discussions, no phone calls, no questions.

neo

If you work as a group of people (I mean, team), everything is not that shiny. Suddenly, you have to visit meetings. You have to participate in various discussions about technical issues and solutions. You have to answer questions and sometimes you have to do things you disagree with. Is that all so awful? Yes, it is.

So, why people do form teams? Simply, to solve problems that can’t be solved by a single person. Team is a necessity and it suddenly brings more formality to problem solving:

You have to communicate to have aligned vision. Otherwise you will solve two parts of the problem differently and solutions will not fit.
You have to coordinate work. Otherwise you will have huge delays and inefficient process.
You have to find common language to understand each other.

Team brings an additional overhead.

Working as a Team

In general, an effective team reduces overhead to minimum and lets people really solve problems and focus on main activities (I mean development). If we think about team from this interesting angle, we can easily find good practices to  improve team’s efficiency:

  • Less people. Small team has less overhead.
  • Common language. All should understand each other as quickly as possible. That is why offshore teams have huge problems.
  • Less meetings. Ban all meetings and activities that don’t help to solve problems.
  • Minimum people on meetings. Invite only those people who can really bring value to problem resolution
  • Team isolation. It is generally a bad idea to have 2 teams working on different projects sit in one room.
  • Fast communication channel. In general, the goal is to have less communication. Really. It is. It means if you have to discuss something, you should do that using the fastest available way, and it means in person talk most likely near a whiteboard.

avatar

But. Improving team’s efficiency, we can easily decrease team’s creativity. It may happen that team will solve problems quickly, but these solutions will not be the best. It may happen, that some unstructured chats about stupid things cause a genius idea. We can’t predict what will help us to find a really cool solution. Most likely we should not strive for complete rigid team that communicates only about problems and solutions. There should be a slack, and it is always there. People instinctively feel that unstructured chats are good and helpful sometimes.

Trust

You can’t have a good team without trust. Why? Simply because trust reduces communication time and helps to solve problems quickly. Imagine a team where people don’t trust each other. You immediately have political games, suspicious questions, indirect wording and rounded phrases. You have hidden conflicts, but polite discussions on a surface.

If you come and see this team in action, you will be astonished by stupid decisions and dumb solutions. Everybody’s goal is to cover his ass in such an environment.

Trustful team doesn’t spend time on all that shit. Discussions are hot and straight to the point. People can even scream on each other sometimes, but if they trust each other it does not really matter. They critique bad decisions fearlessly and don’t hesitate to provide fresh ideas.

Trust saves time on communications and leaves more time to do the real job.

Passion

We all saw people with extinct eyes. We all saw boring and semi-dead teams that work from 9 to 7 and can’t wait to leave the office. Nobody wants to work in this place. But still many do. I personally can’t understand why people do that. I don’t accept any usual arguments like stability, money, habit. I can’t work in a boring place on boring projects. It is not fun, it is not interesting, it is not valuable.

Passionate team is built from passionate people. That is it. They really care about what they do, they focus on real problems, they do everything to improve things. Passion is an ultimate team’s engine. No passion — no drive.

Wrap Up

Great software development team is built from passionate skilled professionals that trust each other. They collaborate effectively to solve problems and improve team work.

  • http://www.andrewfuqua.com Andrew Fuqua

    I like that you mentioned slack. Some processes like eXtreme Programming seem to wring the slack out of a team. You have to be intentional about putting slack back in. I like DeMarco's book on this topic.

  • http://www.andrewfuqua.com Andrew Fuqua

    I also like your comment on passion. Jared Richardson's book Career 2.0 (http://agileartisans.com/main) says that if you lack passion at your job, change your job. If you stay there you are (1) robbing someone else who could be passionate in the position of a neat opportunity, (2) robbing yourself of some fun and learning experiences at some place new, and (3) robbing the company of a more passionate employee.

  • https://www.targetprocess.com/blog Michael Dubakov

    Very nice points. Fully agree!

  • Lindsey Niedzielski

    Great post. I really like your idea of banning all meetings that don't solve problems, more people should consider this when scheduling meetings. I agree that sometimes creative ideas come from idle chatter, there just has to be a delicate balance. We have a community for IM professionals (http://www.openmethodology.org) and have bookmarked this post for our users. Look forward to reading your work in the future.

  • Lindsey Niedzielski

    Great post. I really like your idea of banning all meetings that don't solve problems, more people should consider this when scheduling meetings. I agree that sometimes creative ideas come from idle chatter, there just has to be a delicate balance. We have a community for IM professionals (http://www.openmethodology.org) and have bookmarked this post for our users. Look forward to reading your work in the future.

  • Lean Management

    Thanks for the post
    (http://lean-management.pl/)

  • http://www.cmoe.com/teamwork.htm teamwork

    Teamwork certainly involves a lot of things.  Whether the person has enthusiasm at work or his ability to communicate effectively among the team, it is important not to take for granted all issues, whether big or small.

Get started for free

Sync up your teams with a visual project management tool that adapts to your organization and gives you transparency across different projects and departments. Visualize every step of the way.

Get started