Sunday, February 23, 2020
RITE Software Development Process

Every time we create a change to an application there's a process we follow in order to make that change occur.  A typical change request or new application typically follows this process:

1)  Estimation of costs

Simple and easy - gives you a range of the costs of a given change.

2)  Specification creation

We write a specification document that outlines EXACTLY how you'd like the application to work.  Specification documents can take anywhere from 1 hour to weeks to build depending on the complexity of the change requested.  This is when we address all of the "what ifs".

This can be a tedious exercise for both RITE and the client as there can often times be a lot of what-ifs and it's important to address them all to make sure that the client will be getting exactly what they want.

Specification creation is billable time and typically results in a fixed quote for the work.

3)  Specification is sent to development team to start the work.

During this period of time the development team starts their work.  Often times they have questions about more "what ifs" at which point the project manager answers them OR may defer these questions to the client.  At this point we've hopefully minimized questions / uncertainty by spending the right amount of time creating a thorough specification document.

4)  Release to QA

After an initial build is complied, tested by the developer, and they've created an installation script it goes to our quality assurance team for testing and review.  On smaller projects the project manager may perform the QA themselves.  Bugs are submitted to the development team.

5)  Alpha release

Once the development team has resolved the initial issues they once again go through their own testing and then compile the application and submitted it to our QA team.  It's tested again.  Assuming that no additional issues are found the alpha build is sent to the customer typically with some instructions on how to properly test the application.

6)  Customer performs user acceptance testing

The client tests the application themselves and reports any issues, bugs, and questions back to the project manager that in turn communicates back to the client and reports issues to the development team.

7)  Beta version is created

The developers once again modify the application, compile the code, test, and create installers for the application.  The QA team verifies the build.  The project manager then delivers the new version of the client for a second round of user acceptance testing.  This process is repeated as necessary until all issues are resolved.

8)  Release to production

Once all tests are completed the application is then installed in the production environment.


Why not have the user communicate with the developers directly?

A:  Our experience is this is a recipe for disaster.  There are many reasons why we have a project manager oversee the development - including:

-End users not familiar with software development often cannot articulate with enough detail for it to be something actionable for a developer.  What the developer interprets is often times not what the client really wanted.

-Not all "what ifs" are anticipated

-Developers may not be good at communicating the costs of having something done - they may interpret a question as a command and act before getting the appropriate permission.

When we've tried to make our projects more efficient by taking some of the middle people out the result has been a lot of mis-communication and mis-fires.  Where we thought we would gain some agility and reduced costs we actually ended up with a result the client didn't like for an amount that exceeded what it would have costs if we would have followed our standard operating procedure.

For us our model works very well - it leads to a great final product and is economical for the quality that results.

This model is not perfect for every project but works well for 95% of the application development we do.  We hope this has been educational!
Microsoft Dynamics Retail Management System

Home | POS Systems | Plug-In Directory | Custom DevelopmentSupport | Partners | About Us | Contact Us | Request Information

RITE - Retail Information Technology Enterprises - Experts in Retail Point of Sales Technology
Phone - St.Cloud, MN area: 320-230-2282, Minneapolis area: 612-216-1480 Chicago, IL area: 312-841-RITE (7483) Idaho/Utah: 208-994-9404
Toll free: 1-888-267-RITE (7483)
© RITE Enterprises, Inc 2006-2020 - All rights reserved