We are often asked why Disciplined Agile (DA) has a team lead role instead of Scrum master or project manager. The answer is three-fold: different types of teams require different types of leaders, leadership responsibilities vary based on the type of team they are leading, and DA strives to be agnostic wherever possible. Let's explore the implications of this strategy.
Team lead is what is known as a meta role. What we mean by this is that there are different types of team lead depending on the situation, as depicted in Figure 1. Think of team lead as a place holder for a more specific type of lead. So, a scrum master is a team lead of a Scrum team, a project leader is a team lead of a project team, a sales manager is a team lead of a sales team. At times, the team will choose to stick with the name “team lead” for the role due to their way of working best fitting that description.
Figure 1. Types of team leads.
As I said above, there are three reasons for taking this approach with the team lead role:
The end result is that you may see some DA teams with a senior scrum master as the team lead, some DA teams with a project leader as a team lead, some DA teams with a functional leader in the role of team lead, and some teams with someone who is simply the team lead. Just like your way of working (WoW) should be fit for purpose, so should your approach to roles and responsibilities.
As you can see from the above diagram, the primary roles of Disciplined Agile (DA) teams are similar to those of Scrum. In Scrum, the product owner decides what will be built and in what order. In DA we recognize that architecture is a key source of project risk and someone needs to be responsible for ensuring the team mitigates this risk. As a result, DA explicitly includes Agile Modeling’s role of architecture owner. The architecture owner is the person who owns the architecture decisions for the team and who facilitates the creation and evolution of the overall solution design. The person in the role of team lead will often also be in the role of architecture owner, assuming they have the skills and capacity to fill both. This isn’t always the case, particularly at scale, but it is very common for smaller agile teams.
The responsibilities of the architecture owner include:
One of the key reasons for having this role in DA is that the architecture owner, like the product owner, has a say in work items that are added and prioritized in the work item list (backlog in Scrum parlance). While business value is certainly a prime determinant of priorities, completing work related to mitigating technical risks is also important. Additionally, in DA the aim is to deliver consumable solutions, not just working software. As such, sometimes it is necessary to add work items that are technical in nature, for example related to error logging/monitoring. Or perhaps work items need to be added to improve the continuous integration and deployment processes.
We have found that the concept of having both product and architecture owners ensures that the solution addresses both functional and quality requirements such as usability and supportability adequately. In fact, on my current project, I worked with the product and architecture owners to negotiate their priorities such that the iteration underway includes not only a selection of high priority stories, but also a set of technical work items related to hardening the solution in preparation for entering the Transition phase of delivering the solution to the stakeholders. Without a specific role of architecture owner, it can be difficult to escalate important technical work into the work item list. As a result it is often done subversively without the knowledge of the product owner which is not a healthy practice, or worse it never gets done resulting in a poor quality solution.
Scott has written a good article that describes the architecture owner role in more depth. You can view it here.
Why does DAD not have an explicit role for an Analyst? Without question classically trained analysts bring much needed soft skills and a structured approach to requirements elicitation and negotiation which may not be present in the other roles such as a product owner or a developer. However, having these skills alone is not enough in an agile and lean world.
Unfortunately, professional organizations tend to encourage us to seek specialization and certifications over being cross-functional team members, which will be far more effective and valuable in the future. This is not to say that these organizations do not deliver value in developing and maintaining standards of professional conduct and capability. Attaining certifications (that require some degree of commitment and experience beyond a 2-day workshop) demonstrate commitment to a professional specialty. This is admirable but I would suggest that this base of knowledge is just the start of being an effective team member on an agile project. We should look outside our area of specialty to learn all we can about other aspects of software development.
It is my belief that in the near future, analysts will need to be competent testers if they intend to prosper in their profession. An increasingly important skill is the ability to write requirements as executable tests. My advice to analysts is to learn as much as you can about agile testing and seek opportunities to write your requirements as tests wherever possible.
For Business Analysts that are not interested in moving more toward the testing end of the spectrum there is another way to go. Analysts can be good Product Owners, representing the customer on the project and by managing the scope and priorities. In this role they can use their elicitation and facilitation skills to gain a clear understanding of what the customer needs (vs. wants).
Another potential career path is for the BA to move more into the area of traditional management consulting. Often it is the business process that needs to be fixed, and this is where traditional Business Analysis skills will always be needed.
In my opinion, one career path for analysts is going the way of the dinosaur though. And unfortunately this career path is often the status quo. Traditional projects expect Business Analysts to document business processes and requirements in batch up-front in a linear, waterfall fashion. They then must obtain sign-offs before actually proceeding with implementing any of the requirements. Subsequent changes to those requirements are discouraged, unless through a formal, time consuming and wasteful Change Request process. This model clearly is flawed, and eventually most companies will change their approach. High ceremony and bureaucratic organizations such as government will be the slowest to adapt, but private companies in a competitive environment will adapt their requirements capture approach to a more agile alternative or risk being left behind by their competitors that will be more “agile” in adapting both their business processes and the solutions that support them.