Agile Principle #6
by Mark Ewer , No comments
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
In this age of digital communications it is important to remember that your team needs to actually speak with each other. Twitter, Facebook, LinkedIn, Blogs, and Chat rooms are all useful and can greatly improve your overall team communication but they still can’t fully replace the power of a conversation.
Practice 6.1 – The Daily Standup
One of the easiest and best ways to encourage communication is to use a Daily Standup meeting. The point of a daily standup is to get the team talking and motivated. Like the pre-game huddle for a sports team, your team needs to see each other, connect on a human level, be motivated and focused to achieve. This means the daily standup really needs to be the first thing your team does each day. Here are the Mark Ewer recommendations for the daily standup:
- Start your meeting 3 minutes late. Gather your team and allow them to talk to each other for a couple of minutes before the meeting starts. There is power in letting the team say “good morning” to each other because this builds moral.
- Once the meeting starts, ask that only one person speak at a time. You don’t want a design session; you want a daily check-up. I like to use a Kanban board for task tracking. I ask the person speaking to walk to the board or take control of the webinar and update the board with their changes from yesterday.
- Once you start using a daily meeting, the team members will start to “hold” their discussions until the daily meeting. This will naturally result in the discovery of design conversations that your team needs to have. Don’t have them during the daily meeting. Instead, schedule a time during that work day to have the discussion.
Practice 6.2 – Design Meetings
Make it part of your normal workflow to have a design session meeting between the product owner and the developer that will implement a feature right before the developer begins coding. I call this a “Pre-Production Meeting”, but the point is to get the person that will accept the completed work to talk to the developer that will perform the work just before starting. While this conversation is a good form of requirements elaboration that helps the developer to understand what is expected, it is a also a way to build trust between the developer and the product owner.
Software developers tend to be a little introverted and sometimes we need help to feel comfortable with talking to team members. A pre-production meeting where the product owner and the developer talk one-on-one is a good way to break down that communication barrier and make the developer and product owner feel more comfortable working with each other.
Practice 6.3 – Use Video Teleconferencing for Distributed Teams
Face-to-Face conversation is hard when your teammates are not in the same building or state or country. So, you should use Video Teleconferencing (VTC) to overcome this when working on distributed teams. Get everyone on the team a VTC account and use it for all conversations. I find this to be very effective for design meetings because you can just open the application and use the VTC’s white boarding tools to mark up the application UI. Plus, most VTC systems support a recording feature so the developer can use the conversation as a requirements document supplement during the development.
Agile Principle #12
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts i...
Agile Principles #11
The best architectures, requirements, and designs emerge from self-organizing teams. This agile ...
CQRS System Design
I recently had the opportunity to design and build a system for a major automotive parts sales co...
Agile Principle #10
Simplicity--the art of maximizing the amount of work not done--is essential. One of the often ov...