Custom Software

Much of my work has been building custom computer programs, to help businesses run more efficiently.

Over the decades of doing these projects, I’ve noticed patterns behind successful projects. To improve the odds of success, I work on projects in these three stages. These help us stay focused on adding value to your company, and not doing work that isn’t useful.

Idea Evaluation Session

If you have a business process you believe could be improved with a custom program, this is where we start – with a free initial meeting.

This will be a high-level discussion, to determine if it’s worth doing the project, and if I’m the right person to work with you.

At the end of this session, you will have a rough idea of what it will take to create the program, and what impact it should have on your business. This will let you decide if it’s worth doing a Detailed Project outline Analysis.

Detailed Project Analysis

This takes several hours to a few days – depending on the size of the project.

We will work together to decide exactly what you need done, the priorities of the different features, and what outcomes will make you consider the project a success.

At the end of this analysis, I will deliver detailed specifications for the program, along with estimates for completing it. This can also include variations of the project, in case some features will have more value than others, or if you want to implement it in stages.

Project Implementation

To help make a custom software project a success, I do incremental delivery or demonstrations for any project that takes a month or longer. We call these “iterations”.

Think of a software project as a boat trip.

If you are continually one degree off-course, and never correct your direction, you will eventually be twenty degrees off-course. Just like interest, errors compound over time.

It’s the same with software projects.

With larger projects, it’s clear that frequent demonstrations increase the odds of a successful project. We can see if the project is going off-course while it’s still easy to make a correction.

At each iteration, we’ll confirm the new features work as intended. For some programs, you can even start using them with the early iterations. This can be a great way for you to start receiving the benefits of the program early.

Incremental delivery also prevents never-ending projects. I’ve been brought in to rescue several out-of-control projects. None of them have done incremental delivery. Switching to more-frequent delivery gets the project more focused, and back on track. So, now, I only do projects this way.