Full-Cycle Software Services
We are a comprised of a group of individuals who strive for perfection. The term "perfectionist" can often have a negative connotation - but in our case, it's the only way we'll work. That's why we use the Agile software development strategy. This allow us to continually check with our clients and make sure we are all on the same page. We break up a project into pieces and work on each piece, allowing the client (you) to preview it as we go. This prevents our vision from getting off track from your vision. Sometimes it is difficult for two groups of people to fully understand each others needs - and this approach minimizes the effect of any miscommunications that may occur.
Now that you understand how we work, you should know what we can actually do.
Observation and Artifact Gathering
Often, the need for a software project arises to fix a problem or make a process more efficient. We will learn how you work and more importantly, how you want to work. We can look at your current system (wether electronic or otherwise), collect data (forms, reports, etc.) and turn these artifacts into a design which will allow you to perform this process more efficiently.
Once we know the end goal, we will turn that into a system design. This will include work-flow diagrams, use cases, user-interaction examples, and perhaps even a sample application. We will work together until we feel we have a solid design to start from, and then development begins.
Using our agreed-upon design documents, we can now safely begin coding the application. This is where you will quickly get to see the system take shape. During the development process, we will define checkpoints which allow you to get your hands on the first cut of the functionality. From this point on we refine the system and work with you until it is just right.
Internal System Testing
Once we've finished developing all of the features of the system, we enter the testing phase. This is where our team works out any kinks and gets the system to a stable point and almost ready for release - the Release Candidate.
Client Testing and Acceptance
Once we've finished our rounds of testing, it is your turn. We will deploy the system to a testing environment and let your team run through your scenarios and log any issues you find along the way. We will then fix the issues and give you an updated build for you to test with once again. This continues until we've delivered a system which matches the design documents.
Once you've accepted your new system, we will deploy it into your production environment. A final test run is performed to ensure the accuracy of the deployment. At this point you may continue to log issues or feature requests which will be dealt with during the support phase.
While the system is in production, we will be available to fix issues should any arise. Our support contract will detail exactly how support will work on a project-by-project basis. During this time you may start thinking of new features you want to add in the next version of the application and the cycle (albeit a shorter cycle) will begin again.