Build What’s Novel First: How to Start Software Projects the Right Way

Build What’s Novel First: How to Start Software Projects the Right Way
Photo by Shalev Cohen / Unsplash

When starting a new software project, it’s tempting to begin with something familiar—like creating a login screen or setting up boilerplate. But this approach often wastes time and hides critical challenges until later, when the stakes are higher. Instead, you should focus on the novel parts of the project first—the features or functionality you’ve never built before. This strategy not only accelerates learning but also quickly eliminates uncertainty.

Here’s why this approach works and what you should consider when implementing it:

1. Novelty Eliminates Uncertainty

Every project has unknowns. The more you delay working on them, the greater the risk of discovering a show-stopping issue late in development. Tackling the novel features upfront forces you to confront what’s most likely to fail.

For instance, let’s say you’re building a project management app. Adding clients might feel like a logical first step, but if the process for adding clients is nearly identical to adding users—something you’ve done in other projects—it won’t teach you much. Instead, start with the functionality you’ve never implemented, such as a real-time collaboration feature or a dynamic scheduling system.

By solving these challenges early, you can boost confidence in the team and validate the project’s core concept.

2. Testing the Core Assumptions

Every project is based on assumptions about what users need or how a system will work. These assumptions often hide behind the easier, familiar parts of the project. To avoid surprises, ask yourself:

  • What’s most important for this project to succeed?
  • What’s most uncertain about this implementation?
  • What will users interact with first or find the most valuable?

For example, if your application hinges on integrating a third-party API, you should implement and test that integration right away. Don’t wait until the UI is perfect to discover the API has limitations or latency issues that will change your architecture.

3. Failure Is a Good Thing (Early On)

Failing early is better than failing late. When you focus on novelty first, you surface obstacles while there’s still time to adapt. Early failures are also cheaper and less frustrating, as the team isn’t yet fully committed to a specific design or architecture.

If you’re going to hit a major roadblock, wouldn’t you rather find out in week one than week ten?

4. Momentum Matters

When you solve a novel problem, it energizes the team. Proving that a challenging idea works—or learning how to adapt if it doesn’t—builds momentum and sets the tone for the rest of the project.

On the other hand, starting with boilerplate can feel tedious and uninspiring. It might feel like progress at first, but it’s often false progress, as the hardest problems remain untouched.

Other Considerations

In addition to focusing on novelty, keep these points in mind to further refine your approach:

  • Balance Novelty with Core Features: While it’s essential to prioritize novelty, you shouldn’t ignore the project’s core functionality. For example, if the project requires a basic user management system, make sure it’s included but doesn’t dominate the early stages.
  • Technical Feasibility: If the novel feature requires unfamiliar tools, libraries, or frameworks, invest time in learning them first. This ensures you’re prepared for challenges before they escalate.
  • User Feedback: Novelty doesn’t mean building in isolation. Share early prototypes with stakeholders or users to validate that the new feature aligns with their needs.

5. The Right Mindset: Start Lean, Iterate Fast

When working on the novel aspects, remember that perfection isn’t the goal in early stages. Focus on creating a functional prototype to test your assumptions. If something doesn’t work as planned, you’ll have time to iterate and improve.

For example, if you’re building a live chat feature, don’t worry about pixel-perfect design or edge cases right away. Start by getting the basic messaging flow to work. Once it’s functional, you can refine it based on feedback.

6. Avoid the Comfort Zone Trap

Developers often gravitate toward tasks that feel comfortable or routine. While these tasks are necessary, they’re unlikely to move the project forward in meaningful ways early on. Stay disciplined by identifying the most uncertain or challenging aspects of the project and addressing them first.

Finally

Starting with what’s novel and uncertain is the fastest way to learn, eliminate risk, and set your project on a solid foundation. While it’s tempting to begin with familiar tasks, doing so can delay critical breakthroughs and lead to surprises later.

By addressing the hardest problems first, you’ll save time, reduce risk, and boost team confidence. Remember: the earlier you confront challenges, the sooner you’ll know whether your idea is feasible—and the better prepared you’ll be to succeed.

So, the next time you start a project, skip the login screen. Build what’s novel first.

Support Us