Custom Software Development: Our Process

Custom Software Development: Our Process image
Custom Software Development: Our Process
# General
# Video

BE Staff

Saving...

Saved

Oops!

We were not able to save your changes. Please try again.

Starting a development project now or in the near future? If so, it can be helpful to know how the custom development process should work. Here's a short video and article about our approach and process that should give some insight into what to expect.

If you are starting a software development project or will be in the near future, it can be helpful to know what to expect. Maybe you just want to familiarize yourself with the terminology to be able to participate in a planning conversation. Or you are in the process of hiring a company and want to make sure it is headed in the right direction. While we can’t speak for every firm that creates custom software solutions, we can give you a peek behind the curtain at how the process works here, at Binary Evolution, so you can get an idea of the steps necessary to start off your project on solid footing.

Our team has been building custom applications for over 20 years. Whether it’s a public facing software product for a fortune 500 company or a responsive website for desktops, tablets, and mobile devices, we design and develop down to the pixel to meet our client’s needs. In this way, no development project is the same as the last because we have the opportunity to incorporate each organization’s unique goals into a customized solution.

In order to achieve a tailored solution, we have cultivated a process that allows us to learn what makes each client unique, allowing us to design a solution that not only accomplishes their goals, but also represents the company’s vision, mission, and personality.

Our Process

  • Design
    • Discovery and Planning
    • UX/UI Design
    • User Testing
    • Technical Development Plan
  • Development
    • Initial Development
    • Additional User Testing/QA
    • Programming Adjustments
    • Documentation and Training
  • Deployment
  • Repeat

Discovery and Planning

The first step in our process is the discovery and planning phase. This particular step is incredibly important, and one we pride ourselves on. The key is to learn as much about our client as possible. This includes understanding their product and audience goals, as well as their unique organizational goals, mission, and vision. This gives our team a broad understanding of client and user needs within that particular industry. From here, we can establish a foundational understanding of both the technical needs and the business goals for the project.

Design

We typically begin with a review of the client’s Branding & Identity guidelines. These are an important barometer for getting to know how the company’s values and goals should play out in the application. And is a constant source of information that we will refer to throughout the design process to ensure we stay true to the client’s vision. If no guidelines exist, you can expect that to be priority number one.

Next we move in to User Experience (UX) design, sometimes referred to as usability design. This step is the meat (or tofu if you are vegetarian) of the application and consists of devising the best path for users to accomplish their goals. We utilize flow charts and diagrams as we dive deeper in to how users will interact with the product. We also use design software specifically made for software applications.

Client feedback is pivotal at this stage, and we typically like to have weekly design meetings to refine the designs. You can really start to get an idea of how the application will take shape at this point, as we provide files like screenshots, images, and PDFs that represent major paths through the application.

The following image shows a typical design progression (left to right) from an initial sketch, to a wireframe, to a clickable prototype:

Image showing the progression from a napkin sketch to a wireframe design to a clickable prototype.

Depending on the complexity of the interactions, some clickable prototypes may be produced. We don’t get too caught up in the ribbons & bows (as we like to call it) in this stage. We use this step to really concentrate on the functionality without the distractions that a particular shade of green can bring. Once the UX has been fine tuned, we begin to ‘beautify’ the interface. This is when colors, graphics, and other visual elements will be incorporated that can eventually be represented in a style and usability guide.

User Testing

At various points in the design process, we implement user testing to ensure needs are being properly met before any development begins. This includes a combination of internal usability testing (client and Binary Evolution) as well as external user testing (customers/users identified to provide feedback). The importance of this stage can not be underestimated. There are just too many variables that cannot be accounted for when you are creating a combination of features that have yet to exist. Just an hour with someone reviewing the application can prevent stumbling blocks and push your design to the next level. If you are working on a project now and there is no plan for user testing, you should insist on incorporating it.

Development Planning

Once all designs are approved and updated after user testing, a development plan will be created. This is when the ingenious minds in research and development (R&D) determine the best set of technologies to use in order to carry out the designs. This saves time in the long run and is key to eliminating interpretative confusion that is common in software development. Part will be recommendations to use already existing technologies, and part might be identifying solutions that need to be developed from scratch.

Whatever the combination, at the end of the development plan we like to provide the client with database diagrams, development phases, and features included in each phase, as well as lists of any R&D required for new features.  This can get a little technical. Just be sure to ask questions if you don’t understand what will be used, or if you don’t understand the long-term implications of maintaining the technology. You want to be sure you have something that will last.

Initial Development

Once a plan is created, the project begins to take form as developers start building the product. Minimum Viable Product (MVP) features are identified, programmed, and functionally tested. These features are then delivered in stages, per the development plan. So clients can expect to review parts of the software in stages. When clients are reviewing one set, developers can move full steam ahead on another feature. (You might have heard the term iterations thrown around in tech talk, that’s what this part is all about).

Additional User Testing & QA

And this review is where QA comes in to play. The client is provided a test version to review. We take every step to ensure that functionality matches the specifications, but ultimately the client is the final check to ensure that the software works as expected and is accepted before being prepared for launch. Our team utilizes integrated issue reporting tools so our developers can address client requests as each stage is finalized. In this phase, we also create a complete list of client reported issues and evaluate each one to determine if they are within the project scope or are potential future requests. Once you have tangible software, new ideas always start flowing! This is the beauty of custom development. And when there is unlimited time and budget, we can hop right on them all! But when there isn’t, it is helpful use the original project goals & design as a measuring stick to decide what programming adjustments are needed, and what can be saved for the 2.0 version.

Documentation & Training

After programming adjustments are made and the project has the green light, user and help documentation is created. This involves screen captures and written explanations of the system and can be provided as PDF documents for the client’s use, or in application help if designed as part of the interface for users. Depending on the project, in-person or virtual training may be needed as well. But generally, we like to work closely with the client during the UX phase, so they are pretty familiar with the functionality by the time it launches.

Deployment

The last phase of the development process is a largely automated process of publishing our client’s end-product. Final deployments are pre-scripted to ensure 100% accuracy of data and code. All deployments are sent to a test server and the process is checked for accuracy. Once this passes, an official launch date/time is scheduled and carried out by the production team.

Repeat

Once the initial version of the product is launched, it’s time for social distancing high-fives, however, the first launch is only beginning. At this stage, there’s an opportunity to examine new product features, enhancements, and updates, for version 2.0.

Simply stated, software ‘rusts.’ Your shiny new app starts to age the moment it launches and if you don’t start planning for the next version you are choosing to cause it to stagnate and show its age. Companies that remain relevant and innovative are always looking for how to improve the user experience and features.

A significant advantage of custom software development is there’s no ceiling for your product. With an out-of-the-box software solution, your vision is confined to the limitations of what can be built within the constraints of your product builder. Custom software development introduces the advent of limitless possibilities. The ideas you have at the beginning of the project can grow in to something you couldn’t have imagined at the beginning. So after launch, take a deep breath, celebrate, then get ready for 2.0.

Every development firm has their own way of doing things and while some strategies may be similar, there are intricate distinctions that can mean the difference between a good and great end-product. It all starts with the process. We have learned a lot during our two decades in the business. So if there’s one takeaway we could leave you with, we recommend that you do your homework and make sure your software development process doesn’t miss vital steps that can create unneeded challenges. A little planning goes a long way to creating the best product for you and your audience.


You might also like

Sign Up for our Mailing List

Enter your email address to be among the first to read new articles and stay up-to-date on company news.
| Privacy Policy

Binary Evolution

(770) 683-2764

BE Email Address |

BE Email Address |

(770) 683-2764

Privacy Policy