In this chapter, you'll find recommendations to manage **upstream** effectively.
In order for requirements to meet the DOR (Definition of Ready), they go through a defined lifecycle.
For a pure backend platform development program, the upstream flow will be: Requirements Sign Off -> Solutioning -> Solution Signoff
For an End to End platform development Program (both Backend and Frontend), the upstream flow will be: Requirements Approval -> UX/VD Creation -> UX/VD Signoff -> Solutioning -> Solution Signoff
The following recommendations can help you manage upstream effectively.
1. Rather than tracking over emails or in excel sheets, create tasks in JIRA/ADO to track every single upstream activity – their status should be tracked throughout the upstream readiness cycle.
2. Define dates for completion of each upstream activity.
Access a Sample Upstream Delivery Plan
3. Track closures against the dates.
4. Raise alarms/escalate to leadership and client upfront if readiness dates are not met.
5. Emphasize reducing the cycle time/number of iterations required to get the requirements “Ready.”
6. If the client requires you to solution “dirty,” raise it to the client. The requirement can be optimized/refined to enable an optimized solution. Do NOT compromise on a stop gap solution, or you risk technical debt later.
7. Avoid starting development till DOR is met. If it must be started to consume Engineering capacity, have this signed in writing with the client that any changes post development start will be taken as CR.
8. NFR is part of functional deliveries. Do not park them in the future, or they will need a complete code rewrite.
9. Follow Ideal Epic/Feature structure:
10. Make each story as granular as possible to enable independent development and testing.
Access an Upstream Readiness Tracker