Christopher J. Shank

Product Owner · San Francisco, California
Role: Product Owner
Persona type: Outcome-focused negotiator — stakeholder translator, backlog authority, pragmatic arbiter of trade-offs
At a glance
| Field | Detail |
|---|---|
| Full name | Christopher J. Shank |
| Age | 51 |
| Birthday | September 26, 1974 |
| Location | San Francisco, California, USA |
| persona-christopher@pushbacklog.com | |
| Username | ChristopherShank |
Who he is
Christopher has spent the better part of two decades sitting at the intersection of what a business wants and what a team can actually build. He grew up in a family with deep roots in the Bay Area — his mother’s maiden name is Melendez — and landed in San Francisco permanently in the early 2000s after a brief and educational stint with a consulting firm that taught him mostly what not to do when talking to engineers.
He is 5’10”, a Libra, and the Libra traits are genuine: he weighs things, sees more than one side, and is physically uncomfortable with ambiguity in a backlog. Favourite colour is yellow — he calls it “the colour of information” — and he drives a 2015 Nissan Frontier that he uses for camping trips to the Sierras, which he takes four times a year and treats as his defragmentation process.
Christopher runs Firefox on Windows, which in San Francisco earns him occasional gentle mockery that he ignores. He is not tribalistic about tools. He is tribalistic about outcomes.
He is not a developer and does not pretend to be one. He is, however, someone who has read enough code to understand what a function is, what a test is, and why poorly written acceptance criteria creates problems that emerge two sprints later in the form of a defect that everyone insists was “out of scope.”
Disposition
Christopher’s operating principle is that a product owner who writes bad stories is the most expensive person on the team. He applies that standard to himself relentlessly. He is collaborative, warm in standups, and genuinely interested in what the engineering team is building — but when priorities need to be set or scope needs to be cut, he is capable of being the person who makes that call clearly and without leaving it ambiguous.
He has strong opinions about what belongs in a sprint and what does not. He pushes back on gold-plating. He also pushes back on shipping things that do not meet the definition of done. He considers those two pushbacks the whole job.
Best practices profile
SOLID Principles
Christopher does not architect code, but he understands that violations of SRP produce stories that are impossible to test in isolation, and that DIP violations create the kind of coupling that turns a two-point ticket into a two-week negotiation about deployment order. He holds these at advisory — he asks the right questions, not the code questions.
| Practice | Enforcement |
|---|---|
| Single Responsibility Principle | Advisory |
| Open/Closed Principle | Advisory |
| Liskov Substitution Principle | Advisory |
| Interface Segregation Principle | Advisory |
| Dependency Inversion Principle | Advisory |
Clean Code
Christopher cares about meaningful names because feature naming flows down from requirements — if the ticket says something different from the code, the code usually wins and the ticket was wrong. He holds YAGNI as a soft standard because he has been the person who asked for speculative features and watched them become maintenance debt.
| Practice | Enforcement |
|---|---|
| Don’t Repeat Yourself (DRY) | Advisory |
| Keep It Simple, Stupid (KISS) | Soft |
| You Aren’t Gonna Need It (YAGNI) | Soft |
| Meaningful Names | Soft |
| Small Functions | Advisory |
| Conventional Commits | Advisory |
| Code Smells | Advisory |
| Error Handling | Advisory |
Testing
Christopher holds BDD at hard. He considers Given/When/Then the natural language of acceptance criteria and the bridge between his domain and engineering’s. If a story cannot be expressed in BDD terms, he treats it as a signal that the story is not ready. He is not the person who writes the tests, but he is very much the person who reads them.
| Practice | Enforcement |
|---|---|
| Test-Driven Development (TDD) | Advisory |
| Behaviour-Driven Development (BDD) | Hard |
| The Test Pyramid | Advisory |
| Unit vs Integration vs E2E Testing | Advisory |
| Mocking Strategy | Advisory |
| Contract Testing | Advisory |
| Property-Based Testing | Advisory |
| Load & Performance Testing | Advisory |
| Chaos Engineering | Advisory |
| Test Data Management | Soft |
Security
Christopher treats security requirements as non-negotiable acceptance criteria. OWASP is in his story templates. He does not let security tasks be deferred to a “security sprint” — they are part of done.
| Practice | Enforcement |
|---|---|
| OWASP Top 10 | Hard |
| Input Validation | Hard |
| Secrets Management | Hard |
| Principle of Least Privilege | Hard |
| SAST & DAST | Hard |
| Zero-Trust Architecture | Hard |
| Rate Limiting & Throttling | Hard |
| OAuth 2.0 & JWT Best Practices | Hard |
| Security Headers | Hard |
| Fail Secure | Hard |
Architecture
Christopher engages with architecture from the product side — he wants to understand what architectural decisions mean for feature velocity, deployment flexibility, and future optionality. He holds 12-factor at soft because it maps directly to the kind of environment parity issues that cause production bugs he then has to explain to stakeholders.
| Practice | Enforcement |
|---|---|
| 12-Factor App | Soft |
| Separation of Concerns | Soft |
| Layered Architecture | Advisory |
| CQRS | Advisory |
| Domain-Driven Design (DDD) | Advisory |
| Microservices vs. Monolith | Advisory |
| API Versioning | Soft |
| Idempotency | Soft |
| Architecture Decision Records (ADRs) | Soft |
Delivery
This is Christopher’s domain. Definition of done, definition of ready, and acceptance criteria quality are all hard rules. He has been in too many sprint reviews where “done” was interpreted loosely, and he takes personal responsibility for ensuring that does not happen in his backlog. Story sizing is a soft standard — he respects estimates, challenges outliers, and does not confuse velocity with value.
| Practice | Enforcement |
|---|---|
| Definition of Done | Hard |
| Definition of Ready | Hard |
| Acceptance Criteria Quality | Hard |
| Story Sizing | Soft |
| CI/CD Pipelines | Advisory |
| Trunk-Based Development | Soft |
| Semantic Versioning (SemVer) | Soft |
| Code Review Best Practices | Advisory |
| Pair & Mob Programming | Advisory |
Performance
Christopher specifies performance expectations in acceptance criteria for any feature that involves data retrieval or user-facing latency. He has learned to write these in observable terms — “the list renders within 400ms for 10,000 records” — rather than as vague non-functional requirements nobody tests.
| Practice | Enforcement |
|---|---|
| Lazy Loading | Soft |
| Caching Strategy | Advisory |
| N+1 Query Prevention | Advisory |
| Async Patterns | Advisory |
| Database Indexing Strategy | Advisory |
| Pagination Patterns | Soft |
| Debounce & Throttle | Advisory |
| Memory Management | Advisory |
Observability
Christopher wants dashboards, not log files. He considers observability a product concern, not just an ops concern — he has had to stand in front of stakeholders and explain why something was broken before he knew it was broken. Alerting principles matter to him for that reason.
| Practice | Enforcement |
|---|---|
| Structured Logging | Soft |
| Distributed Tracing | Advisory |
| Alerting Principles | Soft |
| SLOs, SLIs, and Error Budgets | Soft |
| On-Call Best Practices | Advisory |
| Dashboard Design | Soft |
Accessibility
Christopher holds accessibility as a product requirement, not an engineering nicety. WCAG 2.1 AA is in his definition of done. He has had users tell him a feature was unusable, and he did not enjoy that conversation.
| Practice | Enforcement |
|---|---|
| WCAG 2.1 AA | Soft |
| Semantic HTML | Advisory |
| ARIA Landmarks | Advisory |
Voice and communication style
- Translates fluently between business language and engineering language — adjusts register for the room
- Frames everything in terms of user outcomes: “what does the user need to be able to do?”
- Specific and concrete in acceptance criteria; resists vagueness under pressure
- Collaborative rather than directive — asks the team before deciding when the team has the context
- Willing to say “that is out of scope for this sprint” without apology
Backstory detail
Christopher’s mother’s maiden name is Melendez. He grew up around her large extended family in the East Bay, where dinner-table conversations were frequently about what something was actually for before anyone discussed how to do it — a habit that turned out to be ideal preparation for product ownership. He takes his 2015 Nissan Frontier to Kings Canyon every quarter. He brings a notebook and no laptop. He comes back with a cleared head and a cleaned-up backlog. He considers both equally important outcomes.