Subscribe by Email


Thursday, May 30, 2019

The Communication Loop: Why Keeping Project Managers Informed is Key to Project Success

In the fast-paced world of project delivery, especially within the intricate web of software development and IT, effective communication isn't just a nicety; it's the lifeblood of success. Recently, a seemingly minor oversight on my part served as a potent reminder of this fundamental truth, highlighting how easily crucial stakeholders can be left out of the loop and the potential ramifications of such an omission. It all started with an email from another Program Manager (PgM). While her official title might have been slightly more junior than mine, we both fulfilled the same vital role within our respective teams – and in the trenches of project execution, it's the role and responsibilities that truly matter, not the hierarchical label.

Her team was responsible for delivering certain modules that our team consumed for a larger project. We had a history of successful collaboration, and the coordination between our teams had generally been smooth. However, with a new request on the table, one of our senior developers initiated a discussion directly with a senior developer from her team. This technical dialogue continued for some time between these two experts, focusing on the nitty-gritty details. Eventually, our developer looped me into the email chain. I reviewed the progress, added my comments regarding schedules, dependencies, and broader project alignment, and proceeded with the discussion. My critical mistake? I didn't take the elementary, yet crucial, step of ensuring the Program Manager from the other team was also included in this evolving conversation.

It was about a week later that she discovered she was out of the loop on discussions concerning features, potential delivery timelines, and work that her team would ultimately be tasked with executing. Understandably, she sent me an email (and I'm sure had a similar conversation with her developer) politely but firmly inquiring why she hadn't been included in these critical discussions about a delivery her team was accountable for. I had no "great answer" for this oversight, other than to acknowledge the mistake and affirm that she absolutely should have been part of the conversation from a much earlier stage.

This incident, though resolved amicably, underscores a tricky yet persistent point in project collaboration: at what stage, and to what extent, should various stakeholders, particularly Program or Project Managers (PMs), be involved in ongoing discussions?

The Shifting Sands of Involvement: Team Dynamics and Established Norms

The dynamics of when a PgM or PM steps into detailed discussions can vary significantly from one team or organization to another. There's no single "right" moment that universally applies.

  • Developer-Led with Later PM Engagement: In some highly experienced or autonomous teams, developers might carry technical discussions quite far, hashing out feasibility, initial approaches, and even preliminary estimates amongst themselves. The PgM might only be brought in when concrete scheduling commitments are needed, resource conflicts arise, or formal agreements need to be documented. This often works well when the scope is well-understood by the developers and the project has a history of smooth execution.

  • Early and Continuous PM Involvement: In other groups, or for projects with greater complexity, ambiguity, or cross-functional dependencies, the PgM or PM might need to be involved from the very outset of any significant discussion. They might facilitate initial requirement clarifications, ensure alignment with broader program goals from day one, and proactively identify potential roadblocks.

It’s crucial to understand that the point at which a PgM/PM typically enters detailed discussions is not necessarily a reflection of a team's "maturity" or "value system." More often, it's simply a reflection of how the working dynamics and communication protocols of that particular group or interacting groups have become established over time. Sometimes these established norms work efficiently; other times, as my recent experience showed, they can lead to unintended communication gaps.

Why the Program/Project Manager's Involvement is Non-Negotiable (At Some Point)

Regardless of a team's specific dynamics, there is no denying the fact that the Program Manager or Project Manager does need to be involved at a certain stage. Their perspective and responsibilities extend beyond the purely technical, encompassing a range of factors that developers, however skilled, may not have full visibility into or authority over.

Here are just a few compelling reasons why their inclusion is critical:

  1. Strategic Alignment and Prioritization:
    A PgM often has a broader view of the overall program or portfolio of projects. They understand the strategic objectives and can ensure that new requests or proposed solutions align with these higher-level goals. At an extreme level, as you rightly pointed out, the team may have been directed by senior management to focus on entirely different critical work, making them unable to cater to a new request, no matter how technically sound. Only the PgM might have this overarching visibility.

  2. Resource Management and Conflict Resolution:
    This is a primary responsibility of any PgM/PM.

    • Scheduling Conflicts: A developer on one team might agree to a timeline with a developer on another, unaware that their own team's PgM has already committed those resources to a different, higher-priority task.

    • Resource Conflicts: Is the required expertise available? Are team members already over-allocated? Are there dependencies on shared resources (e.g., testing environments, specialized equipment)? The PgM is typically the one tracking these allocations and is in the best position to identify and resolve such conflicts, often through coordination with other PgMs or managers.

  3. Budgetary Oversight:
    Many technical discussions can lead to solutions with varying cost implications (e.g., using a new licensed tool, requiring additional cloud services). The PgM is usually responsible for managing the project budget and needs to be aware of any decisions that could impact it.

  4. Dependency Management:
    Software projects rarely exist in a vacuum. There are often dependencies on other teams, third-party vendors, or infrastructure changes. The PgM tracks these external dependencies and ensures they are managed to avoid bottlenecks.

  5. Risk Management:
    Early discussions might reveal potential technical risks, scope uncertainties, or external dependencies. A PgM is trained to identify, assess, and plan mitigation strategies for such risks. Keeping them informed allows for proactive risk management.

  6. Stakeholder Communication (Broader Audience):
    While developers might communicate effectively with their technical counterparts, the PgM is often responsible for communicating progress, issues, and decisions to a wider range of stakeholders, including non-technical business users, senior management, or even clients. They need to be party to the core discussions to fulfill this role accurately.

  7. Scope Management:
    As technical discussions evolve, there's always a risk of "scope creep" – where well-intentioned additions or changes gradually expand the project beyond its original objectives. The PgM plays a crucial role in managing scope, ensuring that changes are evaluated, approved, and their impact on schedule and resources is understood.

  8. Tracking Agreements and Action Items:
    As highlighted, once discussions reach a certain stage, especially if they involve multiple people or teams, there's a clear need for regular interactions and for somebody to meticulously track the agreements made and the action items arising from these meetings or discussions. This formal tracking is a classic PgM/PM responsibility, ensuring accountability and progress. Without it, valuable decisions can be lost, and momentum can stall.

The "When" and "How": Best Practices for Inclusive Communication

So, how do we avoid the "missed CC" scenario and ensure the right people are in the loop at the right time?

  • Err on the Side of Inclusion (Initially): It is almost always better to include the relevant Program/Project Manager (from all involved teams) in initial discussions or as soon as a request starts to solidify beyond a very preliminary technical query. As suggested, "it is best if the person gets included and they then can figure out their level of involvement at different stages of the discussion." A good PgM will appreciate being informed and can choose to monitor passively, delegate follow-up on certain threads, or step in more actively as needed. They can always opt-out of threads that become too granular for their immediate attention, but they cannot opt-in if they are unaware.

  • Establish Clear Communication Protocols: For recurring inter-team collaborations, it's beneficial to have agreed-upon communication protocols. This might include:

    • Always CC'ing respective PgMs/PMs on initial requests or significant updates.

    • Defining clear points of contact for different types of queries.

    • Establishing regular inter-team sync-up meetings led or attended by the PgMs.

  • Developer Responsibility: Encourage developers to proactively include their PgM/PM when discussions start to involve timelines, resource commitments, scope changes, or potential impacts on other projects. It’s not about micromanagement, but about shared awareness.

  • Use Centralized Communication Tools: Utilizing project management software (like Jira, Asana, Trello) or shared communication channels (like Slack, Microsoft Teams dedicated channels) can help keep discussions visible to a wider relevant audience, reducing the chances of someone being inadvertently excluded from an email thread.

  • The "No Surprises" Rule: A good guiding principle for any team member is to ensure their PgM/PM is never surprised by a major development, commitment, or roadblock. This fosters trust and allows the PgM to manage expectations effectively with other stakeholders.

  • Regular Check-ins, Even for Technical Threads: Even if a technical discussion is ongoing primarily between developers, a brief summary update to the PgMs at key junctures can be invaluable.

My Learning: The Value of the Elementary Step

My oversight in not including my counterpart PgM was a simple lapse, an "elementary step" missed in the flow of a busy project. Yet, it highlighted a critical truth: the project's health depends on these connections. Her being out of the loop could have led to misaligned expectations for her team, potential scheduling conflicts that would only surface later, or her team being blindsided by commitments made without their managerial oversight. The potential "boo-boo" mentioned, and the subsequent "uncomfortable words with the boss," are very real consequences that can arise from such communication failures, eroding trust and efficiency.

Conclusion: Weaving a Stronger Web of Collaboration

In the complex tapestry of software development and project management, ensuring that key stakeholders – particularly Program and Project Managers – are kept consistently in the communication loop is not just good manners; it's a fundamental prerequisite for success. While the exact timing and depth of their involvement may vary based on team dynamics and project specifics, the principle of proactive inclusion should always be favored.

The Program Manager acts as a vital hub, connecting technical execution with strategic goals, resource realities, and stakeholder expectations. By ensuring they are informed, we empower them to navigate conflicts, manage risks, and steer the project effectively. My recent experience served as a valuable, if slightly humbling, reminder that even the most seasoned professionals can benefit from revisiting these elementary principles of communication. It's through these conscious acts of inclusion that we build stronger teams, foster more transparent collaborations, and ultimately, deliver better outcomes for everyone involved.

Further References & Learning:

Books on Project Management, Communication, and Team Collaboration (Available on Amazon and other booksellers):

"A Guide to the Project Management Body of Knowledge (PMBOK® Guide)" by Project Management Institute (Buy book - Affiliate link): The standard reference, with extensive sections on stakeholder management and communication planning.

"The Five Dysfunctions of a Team: A Leadership Fable" by Patrick Lencioni (Buy book - Affiliate link): Highlights the importance of trust and communication in team effectiveness.

"Making Things Happen: Mastering Project Management" by Scott Berkun (Buy book - Affiliate link): A practical and insightful guide to project management, emphasizing communication.

"Agile Project Management with Scrum" by Ken Schwaber (Buy book - Affiliate link): Details communication and roles within the Scrum framework.

"Peopleware: Productive Projects and Teams" by Tom DeMarco and Timothy Lister (Buy book - Affiliate link): Focuses on the human elements of software development, including team dynamics and communication.

YouTube Videos Explaining Project Communication and Stakeholder Management (too many to show here, just search for these topics below):

  1. Search "Project Management Communication Plan": Many PMP training channels and project management experts cover this topic.

  2. Search "Stakeholder Management in Projects": Understanding who to keep in the loop and why.

  3. Search "Effective Communication for Project Managers": Tips and techniques.

  4. Search "Agile Communication Practices" or "Scrum Daily Standup Purpose": For insights into communication within Agile teams.

  5. Search "Avoiding Common Project Management Mistakes": Communication gaps are often high on these lists.

  6. Channels like:

    • Project Management Institute (PMI) Channel: Official talks and resources.

    • Adriana Girdler - Project Management & Leadership Coach: Practical tips for project managers.

    • Praizion (YouTube channel by a PMP trainer): Detailed explanations of PMBOK concepts.

    • Business and leadership channels that discuss effective communication and teamwork.




Wednesday, April 24, 2019

The Relay Race: Strategic Resource Allocation for Continuous Product Versioning

The process of resource allocation—specifically, the strategic deployment of skilled people—is undeniably one of the trickiest yet most critical aspects of product development. Given the high costs associated with human capital, particularly in the tech industry, it demands careful, proactive planning. However, as any seasoned project or program manager knows, even the most meticulous plans can be thrown into disarray by unforeseen circumstances, shifting priorities, or the inherent complexities of creating and evolving a product.

For one-off, standalone projects, the resource allocation puzzle is, in some ways, slightly simpler. A defined project has a start and an end, with a schedule that dictates when specific resources (developers, testers, designers, etc.) are required. Team members are assembled, allocated for the project's duration (either fully or in a staggered manner, gradually ramping up their involvement), and then typically disband or move to new projects upon completion.

However, the dynamics change significantly when we consider ongoing product development, where new versions of a product are released in periodic cycles. Let's, for simplicity, imagine a product with an annual release cycle, perhaps shipping every October. In this scenario, the resource requirements are far from static throughout the year; they ebb and flow with the different phases of each version's development. Furthermore, and this is the crux of the challenge, work on the next version often needs to commence before the current one has even shipped. This overlap creates a delicate balancing act for resource allocation, akin to a relay race where the baton must be passed smoothly to ensure continuous momentum.

The Rhythmic Demands of a Product Version Cycle

During a typical year-long development cycle for a product version, the demand for different types of resources fluctuates:

  1. Initial Phase (Requirements & Early Design):

    • At the start of the cycle, as requirements for the current version are being finalized and initial high-level design work begins, the need for a full complement of development and testing resources might be lower. Product managers, UX designers, and architects might be more heavily engaged.

  2. Peak Phase (Development, Test, Fix):

    • As the project moves into active development, coding, and integration, resource needs escalate significantly. This is where the phrase "all hands on deck" becomes most applicable. The bulk of the development team is intensely focused on building features, while the QA team ramps up its testing efforts, leading to a cycle of defect identification and fixing. This period often sees the highest resource utilization for the current version.

  3. Tapering Down Phase (Stabilization & Release Preparation):

    • As development and feature testing start to wind down for the current version, and the focus shifts to final bug fixing, performance tuning, documentation, and release preparation, the intense coding effort might lessen.

The Crucial Overlap: Planning for Tomorrow While Delivering Today

It's precisely during this tapering down phase for the current version that the product team must simultaneously initiate substantive work on the  This is not just a "nice-to-have"; it's a strategic necessity for maintaining a competitive edge and a consistent release cadence. Activities for the next version that often need to start before the current version ships include:

  • Identification of New Features: Brainstorming, market research, competitive analysis, and initial feasibility studies for potential new features.

  • Addressing Critical Fixes (from a backlog): Identifying major architectural improvements or refactoring efforts that couldn't be accommodated in the current release but are crucial for the next.

  • Customer Interaction and Feedback Collection: Actively engaging with customers (through surveys, interviews, user forums, beta programs) to identify their most pressing needs, pain points, and desired enhancements for future versions. This feedback is invaluable.

  • Early Prototyping and UX Design: Even the use of more complicated requirements and workflow design involving prototyping, developing sample user interfaces, and exploring new interaction paradigms is something that takes considerable time and creative effort. If these exploratory design and feasibility activities are delayed until after the current version has shipped, it will inevitably eat into the already tight development and design timeline for the next cycle, potentially leading to rushed decisions or compromised quality.

The Resource Allocation Conundrum: Balancing Present and Future

This overlap presents a significant resource allocation challenge. The problem lies in assigning some of your most accomplished developers, experienced architects, and insightful testers to this forward-looking effort, even while there's still a pressing need for their expertise on critical defects, final integration testing, and release support for the current version. These senior resources are often the ones best equipped to tackle the ambiguities of new feature exploration or the complexities of architectural planning for the future.

How do successful teams manage this delicate balancing act?

  • Acknowledging the Need for Parallel Streams: The first step is recognizing that these two streams of work – finalizing the current version and initiating the next – must run in parallel for a certain period. This needs to be factored into overall capacity planning.

  • Strategic Assignment of Key Personnel: Not everyone can or should be pulled into next-version planning simultaneously.

    • Lead Developers/Architects: A small core group of senior technical staff might be tasked with leading the initial technical feasibility, architectural spikes, and high-level design for key new features of the next version.

    • Product Managers & UX Designers: These roles are often heavily involved in the early stages of the next version, defining the "what" and "why," and exploring user experience concepts.

    • Select Testers: Involving experienced QA leads or testers in early design reviews and prototype evaluations for the next version can help identify potential usability or testability issues much earlier.

  • Fluidity in Resource Allocation (The Art of the Juggle):
    This is where skilled program/project management, in conjunction with technical leads and product management, becomes critical. As you astutely observed, teams that have been working on multiple versions over the years have learned how to do this. The amount of resource allocation often needs to be fluid.

    • Partial Allocation: Individuals might split their time, dedicating a certain percentage of their week to next-version planning while still being available for critical current-version tasks.

    • Phased Transition: Some team members might transition more fully to the next version's work earlier than others, especially once their primary responsibilities for the current version are substantially complete.

    • Task-Based Switching: People might move between focusing on the current version and the next version even during the course of a single workday. For instance, a developer might spend the morning on a critical bug fix for the upcoming release and the afternoon exploring a new technology for the subsequent version.

  • Minimizing Chaos: The Managerial Tightrope:
    While fluidity is necessary, it's crucial that these shifts are managed carefully to avoid excessive context switching and team member burnout. The intention should be that "these changes are not too chaotic, since that could unnerve even the most rational of people."

    • Clear Communication: Team members need clear communication about their shifting priorities and how their time is expected to be divided.

    • Defined Responsibilities (even if temporary): Even if someone is splitting time, having clarity on what they are accountable for in each stream of work is important.

    • Protection from Overload: Program/project managers and leads must be vigilant in protecting team members from being pulled in too many directions simultaneously or being overloaded with conflicting demands. This requires careful workload management and prioritization.

    • Trust and Empowerment: Empowering senior team members to manage their time effectively between these concurrent demands, within agreed-upon priorities, can foster a sense of ownership.

The Role of Leadership in Navigating the Overlap:

The successful navigation of this resource allocation challenge heavily relies on the coordinated efforts of key leadership roles:

  • The Program/Project Manager (PgM/PM): Orchestrates the overall plan, monitors resource utilization, facilitates communication between the "current version" and "next version" efforts, and manages risks associated with resource contention. They are key in ensuring that the "fluster factor" is minimized.

  • Technical Leads (Dev Lead, Test Lead, Architect): Provide technical guidance for both streams, help identify which team members are best suited for early next-version work, and ensure that technical decisions for the next version are sound. They play a crucial role in mentoring team members who are splitting focus.

  • The Product Manager: Drives the vision and feature prioritization for the next version, ensuring that the early planning efforts are focused on the most valuable initiatives. They work closely with UX and engineering to define what needs to be explored.

These leaders need to work in close concert, constantly communicating and adjusting the plan as needed. Their ability to "handle this process carefully, being careful not to fluster the people working on this too much," is indeed paramount. When managed well, it can work "just fine," leading to a smooth transition and a well-prepared start for the subsequent development cycle.

Benefits of Proactive Next-Version Resource Allocation:

  • Reduced Time-to-Market for Future Versions: Starting early on requirements, design, and technical feasibility for the next version significantly shortens its overall development cycle.

  • Higher Quality Next Version: More time for thoughtful design, prototyping, and technical exploration leads to better-architected and more user-friendly features.

  • Improved Team Morale and Skill Development: Allowing experienced team members to work on new challenges and innovative features for the next version can be highly motivating and provide opportunities for skill growth. It prevents stagnation.

  • Better Risk Mitigation for Future Features: Early feasibility studies and prototyping for complex new features can identify and mitigate risks before significant development investment is made.

  • Continuous Innovation: Ensures the product doesn't just get maintained but actively evolves to meet changing market demands and customer expectations.

Conclusion: The Unseen Engine of Continuous Improvement

Resource allocation for the next product version, while the current one is still in its final throes, is a complex but essential discipline in the world of iterative product development. It’s the unseen engine that drives continuous improvement and ensures that a product doesn't just meet today's needs but is also well-positioned to meet tomorrow's.

It requires a delicate balance – the focus and intensity to ship the current release with high quality, coupled with the foresight and strategic deployment of key talent to lay the groundwork for future success. While the "all hands on deck" mentality is crucial for critical phases of an imminent release, a wise organization also knows when to strategically assign some of its best minds to scout ahead, design the next blueprints, and ensure that the relay baton is passed seamlessly. With careful planning, fluid management, clear communication, and a leadership team adept at managing these concurrent demands, this challenging balancing act can indeed "work just fine," paving the way for a sustained rhythm of innovation and delivery.

Further References & Learning:

Books on Product Management, Project Management, and Resource Allocation (Available on Amazon and other booksellers):

"Inspired: How to Create Tech Products Customers Love" by Marty Cagan (Buy book - Affiliate link): Focuses heavily on product discovery, vision, and strategy – all crucial for planning next versions.

"The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback" by Dan Olsen (Buy book - Affiliate link): Discusses iterative development and focusing resources on validated learning.

"Project Management for The Unofficial Project Manager" by Kory Kogon, Suzette Blakemore, James Wood (Buy book - Affiliate link): A practical guide to project management fundamentals, including resource planning.

"Strategic Management of Technology and Innovation" by Robert A. Burgelman, Clayton M. Christensen, Steven C. Wheelwright (Buy book - Affiliate link): Covers broader topics of managing innovation and product lifecycles.


Facebook activity