KeystoneBit

Software Project Checklist

How to start projects on the right foot.

October 7, 2025. By James M. Lois.

Before even making the decision of embarking in the process of building software, companies should learn from the mistakes of the past. I have created a checklist to detect some of the issues that are more likely to derail software projects. It’s based on research and on my experience in several software projects. It doesn’t guarantee success, nothing does, but it can help mitigate preventable risks.

This checklist is aimed at companies seeking to digitalize processes or modernize their internal software but, with some imagination, it can also apply to software companies. For example, problem validation is the first item of the checklist, and lack of a market need is a known cause of failure for software startups.

Some it sounds obvious, I know. “Make sure there is a problem”, “make sure software developers are competent”, “make sure the project is backed by management”. Yet, I have seen this frequently ignored, with predictable consequences. Also, the checklist doesn’t specify how to accomplish each item, which can sometimes be challenging (like assessing technical competency), because each of these are big topics. The goal of the checklist is avoiding blind spots, well-documented mistakes, often ignored, that increase the chances of failure.

Product (What to build)

  1. Problem validation. Make sure that there is a concrete problem and software can solve it or, at least, improve the situation.
  2. Vision. Define a clear picture of what success looks like.
  3. Alignment. Get key people (stakeholders) to agree to the vision, in writing.
  4. Expectations. Document the expected benefits and risks and make sure the stakeholders are aware.
  5. Sponsorship. Make sure that management understands the project’s importance and is backing it properly.

Process (How to build it)

(Do this frequently)

  1. Feedback. Involve users early and often throughout the software development process.
  2. Resources. Assess and document the resources committed to the project (money, time, and people), in both quantity and quality.
  3. Requirements. Check that requirements are clear, detailed, and in line with the vision.
  4. Scope. Avoid as many features as possible. Give the people working on the project product (developers, designers, etc) the option to push back if necessary.
  5. Estimation. Be conservative and add buffer time for unknowns.
  6. Technical talent. Make sure the software developers are competent and productive.
  7. Communication. Set up regular times to discuss the progress, the product, and improve the development process.