The Team Lead Role in an organization that is performing Software Development using DAD is the most influential role and the role can be both challenging and fun. You do not need to be a technical expert to be a very effective Team Lead however like most professions having a strong technical background will definitely help you to connect better with the Team Members.
Here are 12 Habits from veteran Scrummasters applying Scrum. These habits have been adapted to apply directly to the DAD Framework so they can be applied to various approaches under the DAD Framework umbrella.
1. Be Disciplined in how you perform your duties. Without a doubt you must be disciplined to be a great Team Lead because your goal is to enable your team to achieve consistent, predictable results. Achieving this goal is nearly impossible if the Team Lead is not disciplined. One way to be disciplined is to establish and stick to a daily routine (think checklist) that you follow in performing Team Lead duties. An example is reviewing metrics, such as a burndown chart, daily and making adjustments in real time (such as changing the owner on a task) to the assigned work items.
2. Make decisions that are consistent with Agile Values and are Risk and Value Driven. A Team Lead needs to have a solid and broad understanding of Agile approaches and how various approaches work together to benefit the organization as a whole. Decision making based upon Agile Principles, which make real time changes in both requirements as well as techniques to construct and test software products is fundamentally different than decision making based upon a prescriptive process which requires following a predetermined approach.
Think about the captain of a ship who slows speed and changes course frequently during a voyage and the result is they ship arrives 12 hours late at next port. Was this ship captain careless? Or did he avoid an oncoming hurricane that would have put the entire crew and cargo at risk and did he also communicate his intentions to the appropriate parties to ensure that the facilities at the port could accommodate the change in schedule with minimal impact? Your Team Lead is like the ship captain; he or she knows how to make good real time decisions that balance all the competing priorities but still keeps the ship and its contents protected because he is both Risk and Value Driven and he is empowered to make decisions in real time.
Please note: a disciplined Team Lead is not a cowboy. Instead, they are an innovator that will gladly question why something needs to be done, look at all options and make recommendations or decisions on how to proceed based upon the feedback from the Team Members, Product Owner, Stakeholder, and Architecture Owner.
3. Start and Finish Daily Meeting at the same time every day. A well run daily meeting can finish in 15 minutes. The DAD Framework ask team members to forecast their work and answering the question of whether they foresee any upcoming problems. The Team Lead should ensure that the daily meeting does not digress into long discussions. A great phrase to encourage your team to use is “I am available after daily meeting to discuss this topic in detail”.
4. Communicate updates from Management and upcoming deadlines. The daily meeting is a great way to provide instructions and updates from Management as well as upcoming deadlines. You can even summarize emails that have already been sent out to reinforce key topics such as if there are new coding standards or techniques the company is encouraging to increase the quality of the products.
5. Visualize the workflow to help achieve a smooth flow of delivery. The Team Lead needs to drive adoption of this practice and should check for all the following: new work (stories or defects) assigned to your team since last daily meeting, work that is not properly planned out (missing tasks or tasks missing owners), blocks preventing Team Members from proceeding, high priority work not started, work lingering in a particular status too long. Tools can help view these details quickly but if you do not have a tool that can display this information you can solicit this input from your team. During the daily meeting you may not have time to capture all the details when you find something that needs investigation so make a note to yourself and follow up after the meeting. Visualizing the workflow is a great way to uncover work in progress (WIP) that is stalled and limiting WIP is as an essential component of Lean Principles.
6. Demo early and demo often. DAD teams will perform a demo to key stakeholders at the end of each construction iteration however there is no reason why you cannot hold a demo during the construction iteration if the product is complete and stable enough to show to a key stakeholder. Showing early demos is another way to encourage active stakeholder participation.
7. Coach don’t direct. If you find yourself doing most of the talking or worse if people are talking at you and not the team, make adjustments. You are serving the Team, not the other way around. DAD Teams are self-aware and having a leader that dominants the conversation and direction for the team could be limiting factor if Team members are not comfortable making decisions without having to consult the Team Lead.
8. Be a beacon of encouragement and positive energy. This concept supports the DAD Principle that people are the primary determinant of success for IT Delivery Projects. As a Team Lead you are a leader and if you want your team to be confident and show poise even under pressure from the schedule or production support problems you need to lead by example. Be calm, cool and collective and maintain a focus on quality work and make the right decisions that will provide business value. This can be difficult to do in a lot of circumstances but your goal should be to provide the best value you can with your team in the time you have available. If there are cultural and political hurdles that are materially affecting your Team’s ability to produce solutions that high quality and value for the business then raise these concerns with management and get them addresses. You may not always achieve the outcome you had hoped to achieve but if your Team knows you are going to bat for them they will support you and your efforts to meet the goals despite these challenges.
9. Train a backup Team Lead. A key principle of DAD process framework is to be learning oriented and this is an indicator that training needs to be a priority in for your organization to reap the full benefits of the DAD framework. The day your are out sick the your team should not notice because you have a fully trained back up Team Lead to run the daily meeting and handle all Team Lead responsibilities. A best practice is to perform training in private with team members who want to pursue this opportunity. Let them know you will help them and encourage them. Remember your role as Team Lead includes serving the Team, there is no better way to serve the team than to make sure they don’t get stalled just because your are not available.
10. Understand all the ways to bring work into an iteration as well as take work out of an iteration. One of the four statements in the Agile Manifesto is Responding to change over following a plan. The DAD Framework endorses this statement. As a Team Lead applying this practice you need to understand that if your team gets ahead of their work schedule they should know to contact the Product Owner and sign up for new assignments from the ranked stack of work items. Likewise if a Team Member is behind and will not finish you need to know how to track work that is not finished and to make sure that the Product Owner is informed so they can set proper expectations. If you have part way completed software products that need to be taken out of a release be prepared to back out code/comment out code/disable features as needed. If you have a good working relationship with your Product Owner then removing work from an Iteration should not be particularly difficult especially when the Product Owner is comfortable that your team will also pull work into an Iteration when they finish work early.
11. Master the art of story decomposition – There is no better way to set your team up for success than to ensure that stories your team is assigned to an Iteration are small enough that they can be released (not just constructed) within an Iteration. This area of expertise is one of the hardest to master. Imagine the Product Owner saying I cannot make a smaller story out of a two-way data exchange such as a consumer credit exchange between two systems. The Product Owner can argue that this story cannot be broken down any further because doing so would not provide any business value. An appropriate response from the Team Lead would be that the Team has estimated the story point of 5 points to do the complete process and you only have 3 points to assign to the team. The Team Lead can break this story down into sending and receiving and processing the consumer credit information and they could ask the Product Owner which business scenario they would like to have delivered first: sending the customer information to the credit provider or processing the results from the credit provider? If the Product Owner says both then the Team Lead can explain that you will not work on this story and instead will find another 3 point story if the Product Owner does not feel that creating 2 separate stories is appropriate. In this scenario the Team Lead is providing a good option to the Product Owner while simultaneously staying committed to following good planning practices. DAD Teams and Team members are self-disciplined because they only commit to as much work as they can accomplish.
12. Foster and environment where the Team takes credit for victory and accepts responsibility for mistakes. As Team Lead you can set the tone to ensure that blaming individuals for mistakes is not accepted. Instead, find out what actions the Team could have performed to prevent the mistake. If you are following the recommendation of the DAD Framework to have team members perform multiple roles (such as crafting requirements and testing) then you will find that team members are much more likely to provide honest feedback that can correct past mistakes. When Team Members understand that they can be completely open about what needs to change to improve processes you will see them demonstrate ownership and innovate in ways you cannot imagine. The sum of the parts is truly greater than the whole in a well run DAD Team.
Summary: An Excellent Team Lead is like a shepherd for the DAD Team that is guiding the team to achieve their Iteration Goals through performing and often repetitive set of responsibilities that will uncover areas of concern that require action and decisions making. By putting themselves in a position to make real time decisions the Team Lead can help to achieve making business value by helping the Team be effective and efficient. The Product Owner will realize the benefit from a well run Team because they will see products being delivered consistently. A Disciplined Team Lead is able to contribute to crafting and supporting the rules that govern the Software Development process in their organization and also knows when to bend and break the rules in order to help his team achieve and realize maximum business value in the form of deployed and functional working software products while simultaneously spending the least amount of time and effort to complete these products. This article was written by Craig Dewalt for Disciplined Agile Delivery.