Typical Project

A Typical Custom Software Project

Understanding the Project

Before diving into your project, it’s important to confirm we’re a good fit for each other, so we spend some time getting to know you, your business, and your project goals. Throughout this time, you’ll also learn about us—how we work, why work that way, and what to expect during your project.

To start this phase, contact us for your free consultation.

Strategy & Estimate

At this point in the process, the estimates for budget and timeline are provided as wide ranges based on the information we know. Early in a project, there’s a lot of risk of discovering unknown information.  As we learn more and progress through the project, those ranges narrow and risk is reduced. This concept is illustrated in the cone of uncertainty.

Cone of Uncertainty in Software Development

Analysis Phase

We do more than just build software—our process gives you information that helps you make better business decisions that have a lasting impact. Our analysis phase helps set the stage for success by analyzing risky assumptions, talking to users to validate needs, and building the game plan for the project.  

There are three main objectives of the analysis phase:

  1. To reduce risk by increasing our knowledge of your business, the users of your system, and the tools we’re building.
  2. To further define the features to be built and gain an understanding of any constraints, both business and technological, to give you a more defined idea of budget and timeline.
  3. To prepare for development of your application.

Development

The development phase will kick off once we have a solid understanding of the whole project—from goals, priorities, and features to budgets and timelines. During this phase, we are developing features, testing functionality, reviewing the system with you, and deploying on an iterative basis. 

We use the Agile Scrum framework to plan, prioritize, and implement our work. 
Far Reach Scrum Process

Ongoing Support

We approach every project with the intention of working with our client and their application for the long-term. After initial go-live, this means two things:

  1. We’ll be here to support you. You will have contacts you can reach out to when any issues with the application arise.
  2. We’ll be here to enhance it. Your system should grow with your business needs. Generally, that means adding new functionality to increase productivity, gain additional efficiencies, or provide additional value to your users. Our team will be here to help you do just that.

Custom software isn’t a one-and-done investment, so we recommend budgeting for things like:

  • Hosting
  • 3rd Party Integrations
  • License Fees
  • Support
  • Proactive Diagnostics
  • Enhancements

Reach Out

To learn more about our process, or to schedule an initial meeting with us, get in touch