How it works
The first thing you'll get is a detailed list of deliverables—what I'm doing, why, in what order, and exactly what you'll have in hand when it's done.
Before I start making any recommendations—or even evaluating one line of code—I’ll learn as much as I can about the business behind it. I’ll set up a meeting with stakeholders and ask a lot of questions. At this stage, I’m working to quickly get up to speed on:
How your business works, and the market it competes in
How your software works
What’s working well, and what isn’t
Where your customers are getting frustrated
How much of your dev team’s focus is being drained by bugs and support tickets
What patterns are showing up in them
How your tech stack fits together
How your infrastructure is built out, and what you spend on it
… and likely much more, based on your business and software details.
Then I’ll get to work. I’ll spend several days looking through your infrastructure and code, setting up a local dev environment for testing if possible. Along the way, I’ll talk with your developers to get their perspective too.
Once I’m satisfied that I’ve got a solid feel for your software, its internals and how it’s coded, I’ll start building a plan. If your contract includes triage, I’ll focus on a stabilization plan first, get stakeholder approval, then implement it.
After that, the focus is long term: what’s going to get your business on the right track and keep it there? This is not a simple to-do list. It’s a detailed, stepped plan, with anticipated benefits and challenges outlined. I’ll typically take a few days to build out this plan, refine it through a few passes, and add execution details.
When I’m happy with this plan, I won’t just drop the document in your email and flee. I’ll schedule a final meeting with you and your stakeholders so I can walk you through it and answer all of your questions. At the end of this meeting, I want you to feel like you’ve got a clear path in hand that you can start implementing tomorrow.
At this point I’ve got a good understanding of your software, so this work can easily flow into a follow-up implementation contract.