How I Work

How I Work

The Conversation Comes First

Todd Penland collaborating with a potential client

Most developers want a specification handed to them before they write a single line of code. I work differently.

The most valuable thing I do is not writing code. It is sitting down with a client, asking the right questions, and helping them figure out exactly what they need before we build anything. That process of mapping out the scope of the work, tracing the actual pathways that need to be automated, and identifying the edge cases and dependencies that only emerge through conversation is where the real work begins.

By the time we get to writing code, we both understand exactly what we are building and why.

Discovery: Understanding the Problem

Every engagement starts with a discovery process. We talk. I ask a lot of questions. I listen carefully to how you describe your business, your workflows, and the problems you are trying to solve.

What I am listening for is not just what you want to build. I am listening for what you actually need, which is sometimes a different thing. I am also listening for what you have not thought to mention yet: the exception cases, the dependencies, the things that seem obvious to you because you live in your business every day but that would trip up a developer who simply took your first description at face value.

This phase cannot be rushed. The quality of everything that follows depends on the quality of the understanding we develop together here.

Scoping: Mapping the Work

Once I understand the problem, I translate that understanding into a clear scope of work. This is a detailed, plain-language description of what we are going to build, how it will behave, and what it will connect to.

The scope document serves two purposes. First, it gives you something concrete to react to: a chance to tell me what I got right, what I missed, and what needs to change before we commit to building anything. Second, it becomes the foundation for everything that follows: the architecture, the timeline, and the budget.

No surprises. No scope creep. Just a clear shared understanding of what we agreed to build.

Development: Building It

Once the scope is agreed, I build. Depending on the project, that may mean I am doing all of the development myself, or it may mean I am leading a small team. Either way, I stay close to the work throughout.

I communicate regularly. You will always know where things stand. If something comes up during development that requires a decision, I bring it to you promptly rather than making assumptions and hoping for the best.

Delivery and Beyond

When the work is complete, I make sure you can actually use it. That means documentation, training if needed, and a transition that leaves you confident rather than dependent.

I also believe in relationships that outlast individual projects. Several of my clients have been working with me for years, and some of my software has been in continuous operation for decades. That kind of longevity is not an accident. It is the result of building things well and staying available when they need attention.

What Kind of Projects Are a Good Fit

If you have a problem that you can describe but cannot yet fully specify, you are exactly the kind of client I work best with. If you know that something in your business needs to be automated or systematized but you are not quite sure how to get from here to there, that is where I add the most value.

I have built systems for post-conflict governments, international election commissions, major federal agencies, pet care businesses, real estate networks, and musicians. The common thread is not the industry. It is the nature of the work: complex problems that require careful thinking before careful building.

If that sounds like what you need, I would like to hear about it.

Ready to start a conversation? Get in touch.