WELCOME
In 2016 the Information Systems Group (ISG) approached the programs we supported with a simple question, “How are we doing?” The responses surfaced opportunities for improvement:
- Speed of delivery
- Quality of delivery
- Communications
- Transparency
At that time we made a conscious decision change our delivery model from a phase-gate waterfall approach to a model that was much more agile.. We started changing the culture in ISG and challenging our processes to ensure they provide value and help us deliver for our stakeholders. We also started collaborating with our stakeholders more frequently throughout the development process. We started to require short feedback loops and increased transparency.
This CCSQ Agile Handbook outlines behaviors and practices we expect to take place in our agile way of working. It includes strategic themes that are important to CCSQ. roles and responsibilities in our agile organization, and procedural standards for managing work items to support enterprise metrics, and guidance on meetings & ceremonies.
Lastly, the handbook includes helpful resources for individuals trying to understand how CCSQ is delivering solutions in an agile manner. It talks about how we approach scaling our agile practices for large programs and how we try to reduce overhead on smaller programs.
By no means have we mastered agile, and we are continually striving to get better, but this handbook is a reflection of where CCSQ is on our agile journey. Our hope is that the content hereafter helps individuals understand how CCSQ delivers the solutions for our user community and what our expectations are for CMS employees and contractors alike. As we continue to grow and learn, this handbook will continue to evolve.
SCALED AGILITY
Agility is built upon the Agile Manifesto 1 and Scrum 2 is the preferred framework at CCSQ for practicing Agility. While Scrum provides guidance for a single team, most programs are made up of multiple teams. In this case, the Scrum framework does not explicitly address how to coordinate multiple teams that have dependencies and impediments with other teams. It does not address the overall Vision 9 and alignment of the teams to work on the most valuable items in the backlog. The Scaled Agile Framework 3 takes the principles and practices of Agile and Scrum and applies them to a larger program that is a Team of Teams. This Team of Teams is called an Agile Release Train (ART) 5.
Before a program makes a decision to scale beyond a single team, it must be certain that the scaling is absolutely critical to success. Scaling Agility is based on the Manifesto for Scaling Agility 4. This is an extension of the Agile Manifesto, with a similar structure of values and principles.
If, and when, the Program scales, the Scaled Agile Framework 3 is used as the framework for organizing people and managing the work. Key positions such as the Release Train Engineer (RTE) 6, and an Agile Coach 7 should be filled. The Implementation Roadmap 8 provides a step-by-step guide to transform a Program to Scaled Agility.
AGILE ROLES
Agile Roles clarify responsibilities, expectations, interactions, and outputs from everyone in the organization. Since teams are self-organizing, roles are not about hierarchy and command/control, but about working together to align on value creation and remove impediments.
While there are a wide variety of Agile frameworks used in the industry today, the frameworks deployed at CCSQ are Scrum, Kanban, and SAFe. Scrum 1 and Kanban 3 typically have roles defined at the team level and SAFe 2 has roles defined at the program level.
References
1 - Scrum Guide https://scrumguides.org/scrum-guide.html2 - Scaled Agile Framework (SAFe) https://www.scaledagileframework.com/
3 - Kanban https://www.atlassian.com/agile/kanban
Function | Role | Responsibilities | Ceremonies to Attend | Organization | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Business Owners | Stakeholder Stakeholders provide the business problem to be solved and the value desired. They are the customer, or represent the customer. |
| CMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Solution Management TeamSolution Management 1 has content authority for the Solution Backlog. They work with customers to understand their needs, prioritize Epics & Capabilities, create the Solution Vision and Roadmap, define requirements, and guide work through the Solution Kanban.
| Solution Management Team Member The SMT Member plays a similar role to the Product Manager, but at the large solution level and has content authority over Epics & Capabilities, instead of Features. Responsibilities include working with portfolio stakeholders, customers, ARTs and Solution Trains to understand needs and build and prioritize the solution backlog. They coordinate and align with each other to create and maintain the vision, roadmap, solution Kanban, and solution demo activities. They set the priority order of epics and features to align with goals of CCSQ. Because the SMT is made up of several members, it is important that all team members are available for critical meetings and working sessions. SMT usually consists of the ISG Program Manager, Business Owners from other Groups (i.e. SOG, QSOG, iQIIG, QMVIG, etc.), and a Systems Lead/Systems Architect (ISG). It is also common for the SMT to include a Security Officer (SO) or some other Security Lead Role. Both the Systems Lead/Systems Architect and Security Officer members can inform the SMT on non-functional requirements that help determine priorities and scope. |
|
| CMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Architect The System Architect/Engineering role defines a shared technical and architectural vision for the Solution/Product under development. That includes analyzing technical trade-offs, determining the primary components and subsystems, identifying the interfaces and collaborations between them, defining higher-level functional Nonfunctional Requirements (NFRs), and guiding Enablers through the Solution/Program/Product Kanban. |
| CMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Product ManagementProduct Management has content authority for the Program or Product Backlog. They are responsible for identifying Customer needs, developing & prioritizing Features, guiding the work through the Program Kanban and developing the program Vision and Roadmap for their product. | Product Manager Product Managers provide product expertise needed to make strategic product decisions. They analyze user needs and lay out a product vision based on customer demands. They have content authority for defining and prioritizing product features, which are the why, when, and what of the product that the engineering team builds. |
|
| CMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Program Support Team |
|
| Non-ADO Support Contractors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Agile Release TrainThe Agile Release Train (ART) is a long-lived team of Agile teams, which along with other stakeholders, incrementally develops, delivers, and where applicable, operates one or more solutions in a value stream. | Release Train Engineer (RTE) The Release Train Engineer (RTE) is a servant leader and coach for the Agile Release Train (ART). The RTE's major responsibilities are to facilitate the ART events and processes and assist the teams in delivering value. RTEs communicate with program stakeholders, escalate impediments, help manage risk, provide program metrics, and drive relentless improvement. Although ARTs are composed of self-organizing and self-managing teams, trains don't drive or steer themselves on autopilot. That responsibility falls to the RTEs, who operate most effectively as servant leaders. They have a solid grasp of how to scale Lean and Agile practices and understand the unique opportunities and challenges associated with facilitating and continuously aligning a large development program. |
|
| Non-ADO Support Contractors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Centers of Excellence/Coaching Support At the program level, there may be members of various Centers of Excellence embedded with the ART. These members are experts in various disciplines. They bring knowledge, experience, and an outsider's view to help the ART execute and deliver value. These members will coach on various topics, provide formal and informal training, and help analyze ART performance and value outcomes. To request support for a coach, contact the Lean-Agile Center of Excellence (LACE) | Agile Coach Agile Coaches bring a unique expertise and experience to assist in the transformation and execution of a large program. In SAFe, these are SAFe Program Consultants. Certified SAFe Program Consultants 13 are change agents who combine their technical knowledge of SAFe with an intrinsic motivation to improve the company’s software and systems development processes. They play a critical role in successfully implementing SAFe. SPCs come from numerous internal or external roles, including business and technology leaders, portfolio/program/project managers, process leads, architects, analysts, and consultants. |
|
| Non-ADO Support Contractors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TeamsAgile Teams are cross-functional groups of 5 to 11 people who have the responsibility to define, build, test, and where applicable deploy some element of Solution value - all in a short iteration timebox. In a SAFe context, agile teams also include some specialized teams such as Systems Teams for DevOps & Integration, as well as HCD teams and Shared Services teams to support specific overarching functions or skill sets needed for program success. These teams are aligned within the ART to support the delivery of solution value. | Product Owner The Product Owner (PO) is a member of the Agile Team responsible for defining Stories and prioritizing the Team Backlog to streamline the execution of program priorities. The PO has a significant role in quality control and is the only team member empowered to accept stories as done. The PO has ownership over their team's backlog. |
|
| Application | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Scrum Master Scrum Masters are servant leaders and coaches for an Agile Team. They help educate the team on Agile practices, ensuring that the agreed Agile process is being followed. They also help remove impediments and foster an environment for high-performing team dynamics, continuous flow, and relentless improvement.
Upcoming EventsThe LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Scrum Master TrainingThere are three courses that specifically give you the skills for being a Scrum Master. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Product Owner TrainingThere are four courses that give you the skills needed for Product Owner. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Systems Architect TrainingThere are four courses that specifically give you the skills for being a Systems Architect. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Product Manager TrainingThere are two courses that give you the skills to be a Product Manager. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Product Manager TrainingThere are three courses that specifically give you the skills for being a Solutions Management Team Member. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Team Member TrainingThere are four courses that give you the skills needed for being a Team Member. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
OKRs TrainingThere is one course that gives you the skills for OKRs. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
DevOps TrainingThere are two courses that give you the skills for DevOps. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
SAFe Basics TrainingThere is one course that gives you the skills for SAFe Basics. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Scrum Basics TrainingThere are three courses that specifically give you the skills for being a Scrum Master. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
Coaching Corner
LACE Coaches are available for various topics to deep dive into your specific needs.
The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
User Story ClinicJoin LACE coaches and your peers at CCSQ to work on real world user stories from your backlog. The LACE offers all of these courses as either public or private. Public means that anyone, CMS and ADOs in CCSQ, can attend on a scheduled date. Private is an offering for members of your program on a date that is negotiated. Public courses are listed in the LACE Upcoming Events. If you don't see a course on the LACE Upcoming Events, you can contact the LACE to schedule a private course, or to request that a public course be scheduled.
|
|
| Application Development Organization (ADO) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Team Member (Developer, QA Tester, UX Researcher/Designer, DevOps Engineer, etc.) Agile Teams are cross-functional groups of 5 to 11 people who have the responsibility to define, build, test, and deploy, some element of Solution value—all in a short Iteration timebox. Some teams are skillset focused, such as DevOps and UX. These are also Agile Teams that have a Scrum Master, Product Owner, and backlog. They follow the Scrum and SAFe frameworks for ceremonies and artifacts. |
|
| Application Development Organization (ADO) |
References
2 - Scaled Agile Framework - Enablers https://www.scaledagileframework.com/enablers/
3 - Scaled Agile Framework - PI Planning https://www.scaledagileframework.com/pi-planning/
4 - Scaled Agile Framework - System Demo https://www.scaledagileframework.com/system-demo/
5 - Scaled Agile Framework - Inspect and Adapt https://www.scaledagileframework.com/inspect-and-adapt/
6 - Scaled Agile Framework - Architectural Runway https://www.scaledagileframework.com/architectural-runway/
7 - Scaled Agile Framework - Program Increment https://www.scaledagileframework.com/program-increment/
8 - Scaled Agile Framework - Iteration Review https://www.scaledagileframework.com/iteration-review/
9 - Scaled Agile Framework - Iteration Planning https://www.scaledagileframework.com/iteration-planning/
10 - Scrum Guide - Daily Scrum https://scrumguides.org/scrum-guide.html#daily-scrum
11 - Scaled Agile Framework - Iteration Retrospective https://www.scaledagileframework.com/iteration-retrospective/
12 - Scaled Agile Framework - Business Owners https://www.scaledagileframework.com/business-owners/
13 - Scaled Agile Framework - SAFe Program Consultant https://www.scaledagileframework.com/safe-program-consultant/
14 - Scrum Inc. - Self organizing teams https://www.scrum.org/resources/blog/about-self-organizing-teams
MEETINGS
Everyone loves meetings, right?
Meetings aren't inherently bad, but they have the stigma of interrupting and delaying work. In Agile, meetings are part of the work. Therefore, each meeting in an Agile framework has a specific purpose, agenda, attendees, and expected outcomes. Other meetings not described or suggested by a framework MAY OR MAY NOT be important to accomplishing work. Joining meetings in which you are not required MAY OR MAY NOT be valuable to you and the other participants.
Attend meetings judiciously. Add "extra" meetings judiciously. ALWAYS have an agenda and a timebox, and come away with action items.
Learn more about meetings here.
ARTIFACTS
REFERENCE
TOOLKIT
AGILE EDUCATION