The Disciplined Agile Delivery (DAD)* is a people-first, learning-oriented agile approach in delivering software solutions. It aims to have teams that deliver consumable solutions, not just working software. Similar to Scrum, DAD provides a more cohesive approach, taking into consideration some aspects of software development that are deliberately omitted in Scrum. These include architecture, testing, documentation, stakeholders, etc.
With the COVID-19 outbreak, Infosit switched from 10% to 90% remote work. Our agile teams - fairly small in size and geographically dislocated - were faced with unique challenges, and DAD framework was of great help in maintaining our focus on delivering outstanding software.
What we love about the DAD is that it provides choices, not prescriptions. Following the implementation of the people-first DAD roles at Infosit, we thought it could be useful to share our experience in a blog post.
According to the DAD toolkit, there are primary and secondary roles for agile solution delivery. At Infosit, every DAD team has five primary roles regardless of the team size and the scope of tasks it handles. Secondary (supporting) roles such as specialist, technical expert or independent tester, are there to address scaling issues, and they are oftentimes temporary.
The team lead ensures that team members are focused on solution delivery and that iteration goals are achieved.
At Infosit, the team lead participates in all the activities of the delivery lifecycle. He or she is responsible for the overall delivery (scope of work, time, budget), as well as for quality standards. The latter means, for example, holding code review sessions with team members. On top of that, a team lead demonstrates features to internal and external stakeholders. Except for the quality of what the team has delivered, a good team lead is measured by the team progress and success.
A person in this role facilitates communication between team members, removes setbacks, takes care of resources, gives corrective feedback, holds regular one-on-one meetings, celebrates accomplishments and project closing. At Infosit, celebrations and one-on-one meetings are usually held in a laid-back environment, over tasty food and drinks. We will use opportunities to do it outdoors whenever possible.
A DAD team member is not necessarily a developer writing code. It can be any person on the team doing any kind of work on the project, such as estimations, analysis, architecture, planning, testing.
In our almost twenty years in business, our team setup has constantly evolved. We had different types of teams – client-oriented, project development-oriented, operational, functional (backend, frontend, UX). At present, we tend to have self-organizing teams that can deliver on the requirements from start to finish, having all the necessary knowledge and skills. Each team member is able to wear a different hat at a different moment.
Product owner is the link between the team and the stakeholders, both internal and external ones. “The voice of the customer", PO conveys the needs and desires of stakeholders to the team, simplifies requirements, and promptly finds answers to questions he or she cannot answer. A person in this role is the owner of a prioritized list of features.
At Infosit, product owners have good communications skills, they talk to stakeholders on a regular basis, and show skills in identifying the real stakeholder needs. In our experience, the stated desires and needs of stakeholders can sometimes differ from their actual needs. Uncovering real needs is a valuable skill, and we are putting a lot of effort into training POs for that.
Product owner is the public face of the team, especially on the client side. Although team leads are in charge of demonstrating features, product owners are responsible for communicating all other aspects of a delivery: agenda, project status, meeting follow-up, or other milestones with the client.
This role is responsible for the architecture decisions of the team and facilitates the creation and development of the solution design, using a method like design thinking. Architecture owner ensures that software solutions address both functional and quality requirements.
With a technical background and a solid understanding of business, the architecture owner pushes important technical work onto the prioritized work items list. In smaller agile teams, the architecture owner is very often the team lead. We have learned that it is crucial to have both product owner and architecture owner roles if you want to make sure your projects are built on solid technical foundations, which can support smooth scaling and upgrades.
The stakeholder is someone impacted by the outcome of the solution. Oftentimes, people think of stakeholders as being exclusively CEOs, gold owners who fund the project. However, this is far from true. End users, managers of end users, colleagues from other teams (customer success team, support desk, trainers, etc.) are all stakeholders on software projects.
In our many years in the IT space, we recognized the importance and value of communication with stakeholders. Having them engaged with the project from the very start is of great significance. Sometimes stakeholders are top-level managers who want to participate indirectly, via a mid-level manager. In that case, transparency and communication skills of the middleman are crucial.
On the other hand, if end users are left out or are considered irrelevant for the project, that can undermine the success or impact tremendously.
As a company, we have been using DAD for several years now, constantly learning, fine-tuning existing practices, and trying new things to transform our client's ideas into digital assets. We were happy to share our experience with DAD and projects in tourism with the IT community on several occasions, including the KulenDayz conference. If you have any questions or would like to know more about our experience, feel free to get in touch.
* People first: Roles in DAD, Project Management Institute
Ako tražite inovativnog partnera za razvoj softvera, usmjerenog na rezultate, koji će vam pomoći iskoristiti nove mogućnostiili pružiti dodatnu vrijednost vašem poslu, mi Vam možemo pomoći.