Setting up Program Management Framework in a Small Organization: A Case Study

Aneet Kaur Sachdeva
6 min readAug 9, 2023

--

Abstract

This is a case study to build a Program Management framework for a small organization with the focus on making Software Delivery predictable and transparent to the rest of the organization. This case study assumes:

  • There are minimal to no processes and procedures in place for delivery.
  • The team follows Scrum methodology for development and deployment.
  • More teams would be added in upcoming quarters, but the team size would be standard (up to 7 members),
  • The software is cloud based with monolith or microservices architecture. The team develops features on a regular basis and has an added responsibility for Tech Debt like code refactor, architecture upgrade, performance, compliance, scaling etc.
  • Bi-weekly scrum cycle.
  • Only internal stakeholders are taken into account. External stakeholders for partner integrations are excluded from this case study.

This tailored framework illustrates how meticulous Program Management invigorates agile Software Delivery, reflecting the organization’s commitment to sustainable success.

Strategy

To construct the framework systematically, a methodical approach is imperative. The following steps are recommended:

  1. Identify: Begin by identifying gaps and pain points in the existing processes. Pinpoint areas that require improvement and enhancement.
  2. Set Baseline: Establish a baseline by measuring the current performance metrics. This provides a benchmark against which progress can be gauged.
  3. Deliver: Initiate the implementation of Program Management operating procedures, commencing with tasks of high value and low complexity. This gradual approach ensures smoother integration.
  4. Inspect: Continuously monitor and measure the outcomes of the implemented procedures. Regular inspection provides insights into the effectiveness and identifies areas for refinement.
  5. Adjust and Adapt: Leverage the feedback garnered from inspections and adapt the procedures accordingly. Utilize this iterative process to refine and optimize the framework over time.

By diligently following these steps, the organization can systematically build a robust Program Management framework, enhancing Software Delivery processes, and fostering a culture of continuous improvement.

Figure 1: Strategy for the setup

Identify

The initial phase involves identifying issues through symptom observation. Employ the following techniques to gather pertinent information:

  • Interviews: Engage Scrum team members and stakeholders (Product, Marketing, analysts) through interviews to glean insights.
  • Anonymous Feedback: Leverage Retrospective sessions for anonymous feedback.
  • Documentation Review: Scrutinize existing documentation to unearth valuable insights.

Common challenges faced by software teams include:

  1. Dynamic Complexity: Discovery of missed scope or technical dependency very late in the development cycle, delaying the delivery.
  2. Ever changing or unclear Requirements: Requirements are not detailed enough and they change during the development cycle. Development team is making certain assumptions while developing or asking back questions that are delaying the scoping and requirements closure.
  3. Unclear Priorities: Everything is a priority or nothing is! Ambiguity in prioritization, resulting in unfocused efforts.
  4. Capacity Forecasting/Resource Constraint: Resource constraints leading to under or over utilization of resources. Absence of medium-term capacity outlook.
  5. Low software quality: Subpar software quality and prolonged testing timelines.
  6. Unrealistic deadlines: Imposed deadlines before estimation exercise are done.
  7. Business intake process not defined: Influx of requirements lacking a structured process, contributing to backlog overflow and limited grooming.
  8. Communication: Unclear communication channels causing workflow interruptions and unstructured cross-functional interactions.
  9. Unclear ownership: Delivery is a shared responsibility hence little accountability and lapses in communication.
  10. Decentralized Information: No single source of truth. Lack of a central information repository leading to information fragmentation.

Set Baseline

To assess progress, it is crucial to measure the existing baseline and maintain continuous measurement on a regular basis (bi-weekly). The subsequent metrics can be employed for this purpose:

  1. Number(#) of Epics or Stories delivered vs planned: This metric unveils forecasting trends, highlighting any deviations from the plan. It also illuminates work introduced mid-sprint, offering insights into adaptability.

2. # of tickets closed per category: Gauge the average work output of a team, facilitating precise forecasting and capacity management. This metric aids in aligning expectations and resources effectively.

3. Velocity: Gauge the average work output of a team, facilitating precise forecasting and capacity management. This metric aids in aligning expectations and resources effectively.

** Since the focus is on enhancing transparency and software predictability, the above metrics were selected. If the aim is to optimize the software development performance and delivery process, the infamous DORA metrics released by Google can be used.

Deliver

Creating a foundation of standard processes and clear guidelines is pivotal for fostering consistency and scalability. This section underscores the significance of these practices in ensuring effective software delivery. This table summarizes a few of them:

  1. Dedicated workshops or planning sessions for requirements gathering: Conduct road map planning sessions, focusing on defining requirements and design at the outset. Ensure user stories adhere to the INVEST model, embodying traits of Independence, Negotiability, Value, Estimability, Smallness, and Testability. Additionally, incorporate a priority-setting exercise involving both the Product and business domains within the workshop.
  2. User Story Mapping: It illustrates the workflow and identifies interdependencies.
  3. Ticket Templates: Enabling templates and workflows in tickets compels reporters to furnish essential information required by Scrum teams and the business.
  4. Predefined Feedback loops: It includes bi-weekly reporting, tracking and reporting metrics and conducting sprint retrospectives.
  5. Communication plan: This gives more control & visibility on inbound and outbound communication.
  6. Use of Spikes and Proof Of Concept (POCs): POCs reduce the risk by surfacing issues early. Spike helps in accurate estimations.
  7. Single Source of Truth: Creating a single view of all queued & committed tasks in task tracking software like JIRA or Azure DevOps.
  8. Priority Guidelines: Establishment of prioritization guidelines for addressing issues and defects, enabling teams to concentrate on high-priority P1 items. Empowers the team with the ability to assertively push back when necessary.
  9. Focus on Code Reviews: Conduct peer reviews prior to code merging. Implement a repository merge restriction until code review by at least two developers is successfully conducted
  10. Knowledge Base: Creation of comprehensive playbooks. Investing in tools such as Stack Overflow or AI-based chatbots that facilitate streamlined searches. This leads to reduced time spent by developers addressing commonly asked questions.
  11. Engineering Best Practices: Implementation of engineering best practices including blue/green deployment strategy, utilization of flag-based feature delivery approach, enforcement of mandatory unit and integration Tests and automation of the regression test suite.

These new processes not only address prevalent challenges but also establish a structured framework that promotes transparent, predictable, and efficient software delivery. By embracing these practices, the organization enhances its ability to navigate complexities and deliver high-quality solutions consistently.

Figure 2: High Value Low Effort Processes

Communication Plan

Ensuring efficient and impactful communication is vital for promoting seamless collaboration among teams. This facet significantly influences both delivery outcomes and expectations. Presented below is a sample communication plan encompassing Scrum teams, the product team, and the Go-to-Market team.

Figure 3: Sample Communication Plan

Inspect, Adjust and Scale

Regular inspection during retrospectives is crucial to process improvement. Adjustments can then be made and scaled to other teams. A few examples include:

  • Enhanced Collaboration: As the team expands, collaboration becomes even more vital. The communication plan must be adapted to cater to this growth.
  • Refined Planning Sessions: Adapting planning sessions to extract maximum value is imperative. Emphasize value stream mapping and attribute business value to high-priority, high-impact features.
  • Rewards and Recognition: Acknowledging the team’s contributions through rewards and recognition is essential. PMs can adhere to the established standard program developed by organizations, or alternatively, craft a new one tailored to their needs. This inclusion can seamlessly integrate within the communication plan

Conclusion

This case study centres on cultivating processes to enhance transparency and accountability. This endeavour directly contributes to bolstering the predictability of deliveries, ultimately fostering more efficient and reliable outcomes.

--

--