Having cards on the wall is one of the most basic agile practices. Writing index cards or post-its and sticking them on the wall is fun and makes the work place look cool and organized at the same time. What we can’t forget, though, is that just having them there doesn’t make any team agile. And we can tell something is going wrong…
- When people work on features that are not on the wall
- When there are no priorities for the cards
- When people don’t work on the highest priorities first
- When people work on more than one card at the same time
- When just one person can tell the current state of a card
- When people don’t have a clear definition of Done
- When people have to be told what’s the next card they should be working on
- When the wall is not constantly updated
- When just one person updates the wall
- When people can’t tell how they are doing by simply looking at the wall
These are clear signs that the wall is not being as helpful as it could. And if these issues are not being worked on along the way it may not take long before people start questioning the use of the wall in the first place.
Work
Agile, Coaching
How do you tell if a team is agile? If the last years trying to follow the principles of the manifesto taught me something is that in a good software project people want to be accountable.
We’re knowledge workers. What we deliver is a direct result of the perception of the problems we are exposed to. Yet, there are a lot of people trying to escape from the responsibilities our job requires.
Some of these responsibilities include:
- Design decisions (TDD)
- Impact of our changes on the rest of the project (CI)
- Sharing knowledge and the code where it’s represented (PP/Standards)
- Making sure what is delivered has any value (Reviews/Frequent Releases)
In this context there’s no room for peonage. Our job is basically to make decisions all the time and being agile is about making sure we can answer (and answer well!) for our actions.
That’s why I agree with Patrick Kua’s post about this topic. We have to understand the business problems and the possible solutions. We have to help each other to build something. We can’t stop learning. We can’t be limited by our normal role. And most important: we have to care.
Work
Agile, Coaching, Craftsmanship, Teams
Sometimes in a project:
- People are treated as mere “resources”, being part of the project only to work on predefined activities and nothing else.
- The managers want to be sure that everyone is doing exactly what they think it’s the best, and forget that people can have good ideas.
- People prefer to work on tasks defined by someone else because they don’t want to be responsible for their work.
Having self managed teams is a good way to change this reality but to make people capable of managing their own work is a tricky task. With that in mind, the principles I consider most important to achieve it are:
1) Shared vision
The first step to build a self managed team is sharing the project goals. A good start is to define SMART (Specific, Measurable, Achiveable, Realistic, Timed) goals and to make sure that the goals make sense for the whole team.
2) Commitment
Once the vision is clear, the next step is to build the commitment. When the members of the team agree to work to achieve the defined goals, the perception of the their actions changes and they start thinking about the best solutions to get closer to the goals.
3) Trust
If people trust each other, a bond is created and there’s no reason to control other people’s work. On the contrary, people start helping each other.
4) Support
Every self managed team needs an “interface” with the rest of the organization. That’s why one or more people should be able to help when the solution to a problem depends on external factors. These people should be considered part of the team since they share the vision, are committed and trust the other members of the team.
Conclusion
Although these principles look very simple, they’re forgotten all the time. And they’re usually replaced by micromanagement, which on top of wasting people’s time frequently becomes the biggest cause of stress to the team.
Work
Agile, Coaching, Teams