ANDREW/
← Back to writing

MANAGEMENT / JUDGMENT & SUPPORT

Feature Progress and Shared Resources: How Does a Manager Weigh the Trade-offs?

Andrew Yuan · Management experience and principles

Based on my team structure and version decision experience, alongside my current management practice. The questions about later updates extend the reflection.

Other products already had new features, but we decided to wait. Our choice was to keep following the other teams’ develop branches or create our own branch from a stable version.

Following develop would bring new features sooner. Starting from stable would leave us temporarily behind in features.

On a feature list alone, following develop might look like the better choice. I also needed to ask which teams would have to pause their planned work to resolve integration problems.

TLs form an initial judgment and raise coordination needs early

I directly managed three teams—System, WiFi, and 5G—with responsibility for people development and delivery. They owned their respective areas and supported one another.

Here, TL means Technical Lead: the person leading judgment and work in each technical area.

Within their technical area, I expect TLs to form an initial judgment and explain their current view, blockers and support needs. An initial judgment is enough to start a discussion; several possible answers are not a prerequisite.

When cross-team work, external coordination or resources are involved, I expect TLs to raise the need early so I can help coordinate. They do not need to wait for complete information or until they cannot decide on their own.

In that version decision, we needed to compare new features, dependencies and shared development progress.

New features can carry costs across team boundaries

Following develop can bring features sooner, but updates do not necessarily reach every related repository at the same time.

When some repositories are updated and their dependencies have not caught up, builds can fail. A harder problem is a build that reports no errors while runtime behavior is incorrect, or even crashes.

These risks can involve several teams. Alongside our own debugging, we may need to help resolve other teams' build problems. Planned development may have to wait.

One team gaining a feature could mean several teams spending time on integration. That is why I cannot look only at our own progress.

Starting from a stable version also had a clear cost.

New features would not arrive immediately. Our device would lag in features behind some products already at EA, RC or GA. That gap could not be dismissed simply by saying stability mattered more.

In this decision, delaying the features mainly affected internal development and feature scheduling; it did not change our external commitments at the time.

Where does the cost of a release choice land?

What we gain

Follow develop
New features sooner.
Branch from stable
Keep the current stable baseline.

What we accept

Follow develop
Dependency and integration work from updates.
Branch from stable
A temporary feature lag; integration still lies ahead.

Who may be affected

Follow develop
Integration and debugging may consume other teams’ development time.
Branch from stable
The aim at the time was to preserve other teams’ development space.

Based on this experience and reflection: options at the time, not measured results or a universal answer.

My decision: start from stable, then assess when to update

At the time, I decided to branch from a stable version and accept a temporary lag in features.

I weighed the resources that integration and debugging might consume alongside the impact on other teams' development.

We kept two paths open: cherry-pick useful commits from develop, or wait for the other team's next version to reach EA, RC or GA before assessing an update.

EA, RC and GA are release-stage labels here. Assessing an update still requires checking what the other team has validated, along with dependencies and integration risks on our device.

Cherry-picking narrows the change scope, but it can also leave out necessary dependencies. A successful build still needs checks of runtime behavior.

Over the next few integration and test cycles, the system moved into a stable period. The other teams could continue compiling and integrating normally, and no longer needed to provide frequent support for our dependency issues. Cross-team follow-up showed that their work could keep progressing. The TL also expressed appreciation for the decision.

These are my subsequent observations from integration, testing, cross-team follow-up and feedback, not the results of a quantitative comparison. They do not mean that every issue had been ruled out.

That observation supported the choice at the time. At a different stage, changed feature needs and integration conditions could lead to a different judgment.

Choosing stable still leaves updates to manage

In subsequent version and technical proposal reviews, I began to see a change in how we worked. Earlier, I often had to fill gaps in the comparison. Later, TLs could explain the options, dependency risks, and costs before bringing their support needs to the discussion.

My role focused more on cross-team trade-offs, while we continued to make important judgments together. TLs continued tracking developments, and this division of responsibility carried through multiple updates.

For me, this was a concrete sign that the team was taking on more of the judgment involved in the work. These are observations from my experience, rather than measured outcomes, and they do not establish that any single management approach caused the change.

Looking back, a stable branch leaves ongoing work: tracking feature gaps, checking dependencies of selected commits and reserving resources for the next integration.

Extending that experience, I would bring three questions back to the discussion:

These are discussion directions drawn from the reflection, not fixed thresholds we used at the time. They help the team revisit whether the original reasoning still holds.

My current practice: set priorities and leave room to reconsider

This is my general management practice today. TLs own their technical areas; I look at the teams’ progress together, weigh trade-offs, adjust resources and coordinate externally when needed.

Before proceeding, I assess the scope of impact, recoverability, available evidence and unknowns, then weigh delivery commitments, customer and operational impact, cross-team dependencies, effort and alternatives.

Trade-offs beyond what the team can take on need a joint decision with the relevant owners. If a risk could undermine the value of delivery itself, I address the risk first and renegotiate the commitment.

Delivery commitments take priority, while I also retain capacity for necessary maintenance, platform improvements and capability development. When long-term problems threaten delivery, we need to renegotiate scope or timing to make room for improvement.

TLs track risks in their domains, and we review them together at regular intervals. Review frequency scales with risk; major changes are reported immediately. New risks or evidence, greater impact, or changed conditions during execution call for reassessment.

I discuss changes in approach with TLs based on actual evidence.

Once a direction is chosen, we clarify the costs we accept, the work that will wait and the support needed.

Context

Based on my team structure, version decision experience and current management practice, with product names and internal details omitted. The general practice does not imply that the same process was used in that incident. Dependency failures describe risks considered in the assessment, not a claim that every failure occurred in this incident. The later outcome is my observation; no quantitative validation records are provided.

— Revision note: clarified the scope of the feature delay in this decision: internal development and feature scheduling, with no change to external commitments at the time.

— Revision note: clarified direct management responsibility for three teams and the shift in TL proposal analysis and Manager cross-team trade-offs. Observations remain qualitative and do not establish causation.

Share this article