To keep your project on track, we follow a process that's flexible and firm at the same time. Flexible because every project is unique, and firm because it takes a carefully controlled process to make a complex software development project succeed.
Our solution process is our own, combining best practices from software engineering, multimedia development, and performance engineering. It's built on what software experts have been doing for 30 years or more. But we're not looking to impose an entirely by-the-book process—that just doesn't work. We configure our process to your project, choosing the appropriate elements before we start. For example, do we need a prototype? What kind? Why?
At the beginning of your project, we make sure that everyone knows what's going to happen when—and why. Our clients have told us repeatedly that with clear expectations, they can plan their internal resources, keep their stakeholders up to date, and feel comfortable with how things are progressing along the way.
Take a very high level look at how your idea becomes reality, from proposal to rollout and beyond.
Proposal
After our initial meetings, where we ask tons of questions and answer yours, TechEmpower gives you a proposal. It includes a preliminary description of the project, and cost and schedule estimates that we refine later, after we've done a thorough analysis.
Analysis, Design, and Prototyping
In the analysis, we determine what we should build. It's an iterative and highly collaborative process, resulting in a detailed description of exactly what the application will do for every type of user on the system. Together, we match the functional requirements of your system to the demands of your business environment, including your budget and time constraints.
By the end of the analysis phase, we've struck a balance between competing concerns: What's required of your application? What are the demands of your business environment? Which technologies are appropriate?
Then it's on to design, where we create a blueprint that shows how your system should be built. This step marks the transition from a description of what the system will do to a more technical look at how it will be created.
As for a prototype, or early version, we may or may not build one for your project. A prototype can be handy to prove the utility of an application, help you see how functions will work, and/or let us test out the technical approach. But before deciding on a course of action, it's important to know what you are trying to achieve and to consider different kinds of prototypes. This is just one example of why a configurable process is critical.
Development and Delivery
As TechEmpower develops the first version of your system, expect to see three major releases: alpha, beta, and final. (Of course, we'll be working closely together all along the way.)
- Alpha Version
The Alpha version is the first full delivery of the software. It usually has all its features but hasn't been thoroughly tested. So there may be significant bugs, and some secondary parts of the software may not have been implemented yet. As we configure the process to the demands of your project early on, we'll decide exactly what's going to be achieved at this point.
- Beta Version
The Beta version is intended to be a final product. But changes made in response to the Alpha may cause unintended problems in the Beta version. So we do another round of testing during which we focus on the areas that have been altered. We make any final fixes, but it's not uncommon for us to deliver a Beta version that is in fact final.
- Final version
The Final version is just that. Any bug found in the Beta testing has been fixed. Your idea has become real! (And, of course, there's the small celebration that comes with it.)
Rollout Support and Maintenance
As your system rolls out, there's more work to be done to support the rollout and respond to critical issues. This is almost always a collaborative effort between your staff and ours. We'll configure the process to allow for the smooth transition of our in-house efforts to your operation, and to set up appropriate support at TechEmpower.
|