Process
A Look at How the Cogs Turn

Every project is different, so the process should be too. We'll use enough structure to keep expectations clear, communication open, and the work moving forward—without making things more complicated than they need to be.

How the Process Works

Every project is a little different, but working together shouldn’t feel mysterious. I’ll make sure you know what we’re working on, what comes next, what decisions need to be made, and where the project stands along the way.

For larger projects, we’ll break the work into manageable milestones with clear expectations, regular communication, and opportunities to review what’s taking shape. The goal isn’t to bury you in process—it’s to give us enough structure to keep the project moving while leaving room to learn, adjust, and make good decisions along the way.

Sometimes simple really is simple.

If you need a landing page, a small website, a quick fix, or another focused piece of work, we don’t need to turn it into a major production. We’ll figure out what you need, agree on the work, and get it done. I use as much process as the project needs—and no more.

Bigger projects benefit from a little structure.

When a project spans multiple features, decisions, or weeks of development, a little structure makes everyone’s life easier. We’ll establish milestones, decide how we’ll communicate and review work, and make sure there’s always a clear next step.

The process below describes how I generally approach those larger projects. It’s a framework, not a set of rules. We can adapt it to the work, your team, and the way you prefer to collaborate.

Discovery Phase

Before we decide what to build, I want to understand what you’re trying to accomplish. Discovery is where we’ll talk through the idea, the people who will use it, the problem it needs to solve, and anything you already know about how it should work.

You don’t need to arrive with a finished specification. Part of my job is asking questions, identifying the things we still need to figure out, and helping turn what may still be a rough idea into something we can make decisions about.

Planning in General

  • Conversations & Interviews
  • Requirements Gathering
  • Flexible Engagement
  • Regular Updates
Turning the idea into a plan.

Once we understand the problem, we’ll start turning what we’ve learned into a practical plan. Depending on the project, that might be a lightweight list of priorities or a more detailed roadmap with features, milestones, assumptions, and estimates.

The important thing is that we both understand what we’re building, what matters most, and what the next step looks like. The plan can evolve as we learn more—it just gives us a shared place to start.

Conversations & Interviews
Start by listening.

Every project starts with a conversation. I want to understand what you’re trying to accomplish, what’s working today, what’s frustrating you, and what a successful outcome would actually look like.

For larger projects, that may mean talking with several people—business owners, users, managers, or technical teams—because they often see different sides of the same problem. I’m not looking for everyone to arrive with the answers. These conversations help us uncover the questions we need to ask before deciding what to build.

Requirements Gathering
Turn what we learn into something we can build.

Once we understand the problem, we’ll start identifying what the solution actually needs to do. That includes the important features and workflows, but also priorities, constraints, integrations, technical considerations, and anything else that could affect the work.

Requirements don’t have to become a giant specification document. A small project may need little more than a clear list and a conversation; a complex application may benefit from much more detail. The goal is simply to give us enough shared understanding to make good decisions and move forward with confidence.

Flexible Engagement
Work together in the way that makes sense.

Every client and project is different, so I’m comfortable adapting how we work together. We can work directly, or use an established platform such as Upwork when its contracts, milestones, payments, or other protections make it a better fit.

Whichever approach we choose, I want the important things to remain the same: clear expectations, straightforward communication, visibility into the work, and no surprises about what happens next.

Regular Updates
You shouldn’t have to wonder what’s happening.

I don’t want to disappear into a development black hole and return weeks or months later with something you’ve never seen. Regular updates give you a chance to see what’s taking shape, ask questions, provide feedback, and make sure we’re still headed in the right direction.

The frequency and format can fit the project. What matters is maintaining enough communication that assumptions don’t go unchecked and problems don’t have time to become expensive. You’ll know where things stand, what I’m working on, and what’s coming next.

What does “done” look like?

Before we start building, we should have a shared understanding of what we’re trying to accomplish. That doesn’t always require a formal document. For a small project, it may be as simple as agreeing on a few clear goals and deliverables.

For larger projects, we’ll spend more time defining scope, assumptions, priorities, constraints, and how we’ll know the project has succeeded. The amount of documentation should match the complexity of the work—the important part is making sure we’re solving the same problem.

Project Plan

  • Project Proposal
  • Project Charter
  • Statement of Work (SOW)
A plan we can actually use.

For larger engagements, the project plan brings the important pieces together: what we’re building, what’s included, how the work will be organized, and what we’re working toward next.

I treat the plan as a living reference rather than a document we create and forget. As we learn more, priorities may change and better ideas may emerge. When they do, we’ll talk about them, understand the impact, and update the plan together.

The purpose isn’t paperwork. It’s making sure neither of us has to guess where the project stands or what happens next.

Project Proposal
Let’s make sure the project makes sense.

A project proposal takes what we’ve learned so far and turns it into a clear picture of the work we’re considering. Depending on the project, it may outline the goals, proposed solution, scope, estimated timeline and cost, important assumptions, and anything else we should understand before deciding to move forward.

Think of it as our starting agreement about the direction of the project—not a prediction of everything we’ll discover along the way. If the project changes significantly, we’ll document those changes, discuss their impact, and make sure we’re both comfortable with the new direction before adding substantial work.

Project Charter
Give the project a shared sense of direction.

For larger or more complex projects, a short Project Charter can capture the bigger picture: why we’re building something, what we’re trying to accomplish, what’s inside and outside the initial scope, and who needs to be involved in important decisions.

The charter isn’t intended to describe every feature or technical detail. It’s a reference we can return to when priorities compete or new ideas emerge and ask, “Does this still support what we set out to accomplish?” For smaller projects, we may not need one at all.

Statement of Work (SOW)
Be clear about the work we’re agreeing to do.

A Statement of Work describes the work we’re actually committing to: scope, deliverables, responsibilities, timeline or milestones, and estimated costs. Its purpose is to make expectations clear before significant work begins so neither of us has to rely on assumptions about what’s included.

For an iterative project, we don’t necessarily need to pretend every detail is knowable on day one. We can define the work we understand, identify assumptions and unknowns, and refine future work as we learn more. When something meaningfully changes the agreed scope, we’ll discuss the impact before moving forward.

Design Phase

Some projects need thoughtful design work before—or alongside—development. This is where we’ll explore how the application should be organized, how people will move through it, what information they need, and how the pieces of the system fit together.

Depending on the project, that might include wireframes, application architecture, interface design, data flows, or a shared visual language. We don’t need every answer before development begins, but making the important decisions early can save a lot of time and rework later.

The right amount of design.

  • Digital Architecture
  • UI/UX Design
See it before we build it.

Design gives us a chance to turn ideas and requirements into something more concrete. We can explore workflows, organize information, test assumptions, and make decisions about how the application should behave before those decisions become expensive to change.

Not every project needs a formal design phase. Sometimes a sketch, conversation, or quick prototype is enough. Other projects benefit from detailed wireframes, architecture, and interface planning. We’ll use the tools that help us make better decisions without creating process for its own sake.

Digital Architecture
Figure out how the pieces fit together.

Before building a complex application, it can be useful to map out the systems, data, integrations, infrastructure, and other components that need to work together. This gives us a clearer picture of the whole application and helps expose dependencies, unanswered questions, and potential problems while they’re still relatively easy to address.

The amount of architecture work depends on the project. Sometimes a simple diagram is enough; larger systems may benefit from more detailed data flows, infrastructure planning, or technical documentation. The goal isn’t to design every technical detail in advance—it’s to understand enough of the system to make informed decisions as we build.

UI/UX Design
Make the application make sense to the people using it.

UI/UX design is where we work through how people will actually experience the application: what information they need, how they’ll navigate it, how important actions should behave, and how the interface communicates what’s happening.

Depending on the project, that might involve wireframes, prototypes, visual design, reusable interface patterns, or simply working through a difficult workflow together. The goal isn’t just to make the application look polished. It’s to reduce friction, make complicated tasks easier to understand, and give development a clearer picture of what we’re trying to build.


Development Phase

This is where the plan starts becoming working software. Rather than disappearing for months and returning with a finished product, I prefer to build in manageable pieces so you can see progress, try what’s taking shape, and provide feedback along the way.

Development is iterative. We’ll build, review, test, learn, and adjust as necessary. That gives us opportunities to catch problems early, respond to new information, and make sure we’re still building something useful—not simply following a plan because we wrote it down months ago.

Development Strategy

  • Iterations
  • Iteration Review & Plan
  • Development Cycles
  • Review & Approval
You'll see it taking shape.

Each development cycle focuses on a manageable piece of the project. I’ll build and test the work, we’ll review what’s been accomplished, and we’ll decide what needs to happen next.

That rhythm gives you regular visibility into the project instead of asking you to wait until the end to discover whether we’re on the right track. It also gives us room to refine ideas as the application becomes real—because sometimes the best decisions become obvious only after there’s something we can actually use.

Iterations
Build something useful, then learn from it.

Rather than trying to build an entire application at once, I prefer to break larger projects into manageable pieces. Each iteration focuses on a clear set of priorities that we can build, test, and review before moving on to the next.

Iterations may last a week, two weeks, or simply long enough to complete a meaningful piece of work—the project should determine the rhythm rather than the calendar. Working this way gives us regular opportunities to see real progress, catch problems early, and adjust priorities as we learn more about the application.

Iteration Review & Plan
See what we built and decide what’s next.

At the end of an iteration, we’ll review what’s been completed and make sure it works the way we expected. This is your opportunity to try the work, ask questions, provide feedback, and identify anything that needs another look.

Then we’ll decide what comes next. We’ll consider what we’ve learned, review the remaining priorities, and agree on the focus for the next iteration. The goal is to keep decisions close to the work rather than committing months in advance to assumptions that may no longer make sense.

Development Cycles
From development to something you can actually use.

Features usually move through several stages before they’re ready for real users. I’ll build and test the work during development, make it available for review when appropriate, address what we discover, and then prepare the approved work for release.

The exact path depends on the project. A larger application may have dedicated development, staging, and production environments with more formal testing, while a smaller project may need something much simpler. Either way, the goal is to release changes deliberately and with enough testing and review to feel confident putting them into people’s hands.

Review & Approval
No surprises before something goes live.

Before significant work is considered complete or released, you’ll have an opportunity to review it and make sure it meets what we agreed to build. If something isn’t right, we’ll identify what needs to change and work through it before calling the feature finished.

Sometimes that review also reveals a new idea or requirement that wasn’t part of the original work. That’s okay. We’ll separate fixes from genuinely new scope, talk through any impact on time or cost, and agree on how to proceed before taking on additional work.

Launch & Beyond

  • Testing & Final Review
  • Deployment
  • Documentation
  • Ongoing Support
From Finished to Ready.

Finishing development isn’t quite the same thing as finishing the project. Before launch, we’ll make sure the application is ready for its real environment, address any remaining issues, and confirm that the pieces needed for deployment and handoff are in place.

What happens afterward depends on what you need. I can provide documentation, help with deployment, support the application after launch, or hand things off cleanly to you or another team. Either way, you shouldn’t be left wondering how the thing we just built actually works.

Testing & Final Review
Make sure it’s ready for the real world.

Before launch, we’ll take a final look at the application as a whole—not just the individual features we’ve reviewed along the way. We’ll test the important workflows, address remaining issues, and make sure what we’re preparing to release matches what we agreed to build.

The amount of testing will depend on the project, but the goal is always the same: catch what we reasonably can before your users do. Once we’re both comfortable with the result, we’ll be ready to move from development into production.

Deployment
Put it where people can actually use it.

Deployment is the point where the work moves into its production environment and becomes available to the people it was built for. Depending on the project, that might mean launching a website, deploying an application to cloud infrastructure, configuring a production environment, or releasing an update to an existing system.

I’ll plan the deployment around the needs of the project and take care of the technical details needed to get it running properly. For more complex releases, we’ll also think about backups, configuration, monitoring, and what we’ll do if something unexpected happens after launch.

Documentation
Leave behind more than working code.

Good documentation makes a project easier to understand long after development is finished. Depending on what we’ve built, that might include application architecture, setup and deployment instructions, API documentation, content-management guidance, or notes for the developers and teams who may work with the system later.

I don’t believe in creating documentation simply to fill a folder. We’ll document the things that will actually be useful so you aren’t left with a system that only makes sense to the person who built it.

Ongoing Support
Launch doesn’t have to mean goodbye.

Some projects are complete once they’re launched and handed off. Others need continued maintenance, improvements, new features, troubleshooting, or simply someone familiar with the system who can help when something comes up.

We can decide what makes sense for your project. I’m happy to continue supporting and evolving the work we’ve built together, but I also believe you should be able to take ownership of it if that’s what you prefer. Either way, the goal is a clean transition—not dependence on me just to keep your software running.

Ready when you are.

You don’t need to have everything figured out before we talk. Whether you have a detailed project plan, a rough idea, or simply a problem you know needs solving, tell me where things stand and we’ll figure out the next step together.

Use the form below, or reach me directly at mitchell@betavc.com. There’s no obligation and no need to prepare anything formal—a conversation is a perfectly good place to start.