When building a software product, you’re really constructing an iceberg.
The glossy UI with all the buttons and menus makes up the tip visible above the water. But beneath the surface lies a massive foundation of code, services, databases, APIs and infrastructure.
While customers only see the tip, the entire iceberg impacts their experience. As a PM, you have to manage the whole product.
In this post, we’ll cover tips for integrating above- and below-the-surface work to ensure your iceberg ships smoothly.
Remember: technical debt impacts customers
With an app or website, it’s easy to obsess over pixel-perfect designs and forget about technical debt piling up downstairs. But neglected architecture and infrastructure absolutely affect what users experience.
Symptoms of excessive technical debt include degraded performance, frequent outages, and scalability limits. These directly hurt customer satisfaction. Refactoring may not be glamorous, but it improves the product.
So when prioritizing features versus technical work, evaluate expected business impact before making a final decision:
- Will addressing debt reduce loading times and improve conversion?
- Will upgrading our storage improve reliability and retention?
- Will focusing more on what’s below-the-surface make those new features shine even brighter?
Run both types of work through the same product discovery process and planning rigor. Make trade-offs based on customer value, not perceived sexiness.
Validating non-functional requirements
Traditionally, teams focused on validating “non-functional” requirements like performance and security just before launch. But it’s risky to wait until the end of each release cycle to test things like:
- Site speed and scalability
- Accessibility compliance
- Authentication protections
It invites last minute crunches.
The better approach is to evaluate these abilities continuously alongside feature work. For example:
- Establish performance benchmarks, and test against them with each sprint deployment.
- Build accessibility testing into your QA automation suites.
- Conduct security audits mid-way through release cycles.
This way, you catch issues immediately and can course correct versus playing catch-up late in the game.
Tips for integrating surface and subsurface work
So how can product managers actually integrate above and below surface work into delivery cadences?
Here are some proven tips:
Promote “technical user stories”
User stories are a great way to capture small work items tied to value. Make sure to write them for technical tasks too:
- “As an API developer, I need request throttling to prevent abuse.”
- “As a site admin, I need dashboard alerts for high memory usage.”
This frames infrastructure work on equal footing with feature work.
Reserve capacity for unplanned issues
When planning sprints, assume unexpected technical work will arise and leave buffer room:
- Pad estimates on complex stories
- Keep some stories uncommitted as contingency
- Define slack time for firefighting and debt pay down
You’ll need flexibility to handle subsurface iceberg chipping without blowing up the top.
Prioritize architectural initiatives
Epics and themes that enable architectural evolution should be prioritized and resourced:
- Breaking up the monolith
- Migrating to microservices
- Decoupling tightly coupled components
Don’t let the urgency of surface features derail major subsurface improvements.
Enforce definition of done
Expand “definition of done” beyond feature requirements to include non-functional aspects like:
- Meeting performance benchmarks
- Passing security scans
- Updating documentation
- Executing integration tests
This ensures quality and architectural integrity.
The bottom line
Customers ultimately care about outcomes, not the underlying technology delivering those outcomes. But as PMs, we have to obsess over the entire product.
Managing the subsurface architecture and infrastructure is just as critical as the visible UI. By integrating the above and below work, you’ll launch technically sound products that customers love.
So don’t just manage the tip of the iceberg! Plan for the massive part hidden below the surface at all times.