Disciplined Agile Roles at Scale

Collaboration between different roles

In Disciplined Agile Delivery 1.x we defined ten roles that occur on delivery teams, five primary roles and five secondary roles. The five primary roles (Stakeholder, Team Member, Team Lead, Product Owner, and Architecture Owner) occur on delivery teams regardless of the situation faced by the team.  The five secondary roles (Specialist, Independent Tester, Domain Expert, Technical Expert, and Integrator) are typically needed when delivery teams face one or more tactical scaling factors.

When you scale agile strategically to address the needs of IT, new roles appear.  This article addresses the following topics:

Disciplined Agile IT Roles

With Disciplined Agile 2.0 we expanded the scope of the framework to address strategic agility at scale issues faced by organizations that want to be agile across their entire IT department.  This included the addition of process blades to address key capabilities such as Enterprise Architecture, Portfolio Management, and Product Management to name a few.  In doing so the specialist roles such as Enterprise Architect, Portfolio Manager, and Product Manager emerged. The following table summarizes these roles and their responsibilities.

Table 1. Disciplined agile roles that appear at scale.

Role Responsibilities Process Blade(s)
Chief Architecture Owner
  • Leads the architecture team within a program
  • Effectively a Team Lead for the Architecture Owners within a program
  • Mentors and guides the architecture owners within a program
  • Guides the Architecture Owners through negotiating technical dependencies within a program
  • Works closely with the enterprise architecture team
  • Often takes on the role of Architecture Owner on one or more delivery teams
Program Management
Chief Product Owner
  • Leads the Product Owner team within a program
  • Effectively a Team Lead for the Product Owners within a program
  • Works closely with the Program Manager to allocate work between sub-teams
  • Mentors and guides the product owners within a program
  • Guides the Product Owners through negotiating functional dependencies
  • Works closely with the product management team
  • Often takes on the role of Product Owner on one or more delivery teams
Program Management
Community of Practice (CoP) Lead
  • Guides CoP members in gaining new knowledge
  • Provides career guidance to CoP members
  • Organizes training and certification opportunities for CoP members
Continuous Improvement
Database Administrator
  • Operates, supports, and evolves existing legacy data sources
  • Collaborates with delivery teams, ideally as a member of those teams, to ensure that data sources are developed and evolved in a quality manner
Data Management
Data Manager
  • A Functional Manager who leads the data management team
  • Effectively a Team Lead of the Database Administrators
  • Leads the long term refactoring of legacy data sources
  • Guide data-oriented activities within the organization
  • Collaborate with delivery teams to ensure that data quality is maintained and enhanced across disparate data sources
  • Leads the development of data-oriented guidance
Data Management
Enterprise Architect
  • Collaborates closely with senior stakeholders to develop the technical roadmap for the organization
  • Provide direction to architecture owners, often taking on the role of architecture owner on delivery teams
  • Collaborates with delivery teams to ensure that they understand and leverage the existing infrastructure and follow the appropriate roadmap(s)
  • Collaborates with the Operations Manager to understand the current operational environment and to evolve the technical roadmap
Enterprise Architecture
Functional Manager
  • Builds high-performance IT delivery teams
  • Has authority over a specific group of professionals (such as Product Owners, Team Members, or Support Engineers)
  • Provides career guidance and management to their group
  • May have People Management authority over a collection of delivery teams
  • Ensures there is the right number of people available with the skills to fill the specific job function (e.g. the Functional Manager for the POs ensures your organization has enough POs available to staff your delivery teams)
  • Note: This is a “super class role” in Disciplined Agile. Examples of “sub class” roles are Data Manager, Operations Manager, Release Manager, and Support Manager
People Management
Human Resource Manager
  • Responsible for the overall People Management effort
  • Helps teams to identify, evaluate, and hire new team members
  • Facilitates the organization of teams within your organization
  • Guides and supports career management activities
  • Facilitates staff evaluation and assessment activities
  • Facilitates capacity and succession planning
People Management
Governor
  • Coordinates and oversees your IT Governance effort
  • Ensures that IT Governance is as light-weight and flexible as possible
IT Governance
Operations Engineer
  • Runs and monitors the existing solutions and IT operational infrastructure
  • Works with delivery teams to help them to understand and leverage the existing infrastructure and to deploy their solutions into it
Operations
Operations Manager
  • Functional Manager who leads the operations team
  • Effectively a Team Lead of the Operations Engineers
  • Manages change within the operational infrastructure
  • Plans for and mitigates operational disasters
  • Guides the development of operational guidelines
  • Collaborates with the Enterprise Architecture team to help them to understand the current operational environment and to evolve your organization’s technical roadmap
  • Collaborates with the Release Manager to streamline the overall Release Management process
Operations
Portfolio Manager
  • Leads the identification of new potential delivery endeavors/initiatives/projects, collaborating closely with Product Managers
  • Initiates experiments to explore the viability of potential endeavors
  • Oversees ongoing delivery teams
  • Plans IT capability, collaborating with Human Resource managers to do so
  • Manages relationships with vendors
  • Guides and mentors Program Managers (if any)  and Team Leads
  • Works closely with the IT Governance team and is often a member of it
Portfolio Management
Process Engineer
  • Guides the development of common standards and guidelines
  • Helps teams to document their processes, often due to regulatory requirements, in a concise manner
  • Monitors process improvements made by teams
  • Promotes communication of process improvements and learnings across teams
Continuous Improvement
Product Manager
  • Develops and evolves the business roadmap
  • Explores and prioritizes potential product ideas, collaborating with your Portfolio Manager to do so
  • Manages functional dependencies between products
  • Markets products both internally within your organization and externally
  • Provide direction to Product Owners
  • May take on role of Product Owner on delivery teams
Product Management
Program Manager
  • Organizes sub-teams within the program
  • Coordinates the activities within a large delivery team (program)
  • Collaborates with Product Owners to allocate and organize work amongst sub-teams
  • Collaborates with Architecture Owners to negotiate technical dependencies
Program Management
Release Engineer
  • Works with delivery teams to help them release their solutions into productionDevelops and evolves release management guidance
Release Management
Release Manager
  • Functional Manager who leads the release team (if any)
  • Effectively a Team Lead of the Release Engineers
  • Coordinates the multitude of solution releases into production across all delivery team
  • Facilitates the determination of whether a solution is production ready
  • Guides the development of common release practices
  • Manages the release schedule
  • Collaborates with the Operations Manager to streamline the Release Management process
Release Management
Reuse Engineer
  • Harvests, develops, evolves, and supports reusable assets
  • Works closely with delivery teams to harvest potentially reusable assets and to integrate existing reusable assets into their solutions
Reuse Engineering
Support (help desk) Engineer
  • Helps end users to understand and work with the solutions provided by IT
  • Identifies potential enhancements to existing solutions
  • Addresses most end-user requests for help
  • Escalates difficult problems to operations or delivery teams as appropriate
Support
Support Manager
  • Functional Manager who leads the support (help desk) team
  • Effectively a Team Lead of the Support Engineers
  • Manages the escalation process
  • Works closely with stakeholders to ensure that the support team provides proper levels of service to them
Support

 

Why So Many Roles?

The reason why there are so many roles at scale is due to the breadth of activities that occur outside of delivery.  There are eleven “non-delivery” process blades and each of those blades introduces one or more specialist roles: for example, the Portfolio Management blade introduces the role of Portfolio Manager and the Operations blade introduces Operations Manager and Operations Engineer.

 

The Danger of Defined Roles

The primary danger of having defined roles is that they will be perceived as positions.  When this happens the natural tendency is for people to start adding activities around the position so as to make it more important.  In the case of a management position the tendency is to increase the number of people reporting into the position so as to increase the influence of the manger.

It is important to realize that we are describing roles, not positions, in this article.  Any person may take on one or more roles and they will change the roles that they take on over time.  Any given role will have zero or more people fulfilling it at any given time, and that will also evolve as needed.