Software Development
Process
Getting to know you
Before we start on any project, we like to get an idea of what your goals are
and how we can help you. During this phase we will discuss how your objectives
can best be met. We interview key individuals at your site(s) and gather
business issues and requirements. During this process we are gathering valuable
insight into your needs and the issues that are most frequently presented.
This process also helps user acceptance, BETA testing, corporate terms
collection and cost benefit analysis. In short, by the end of discovery
you are ready to make an informed decision regarding the scope and cost
of your project.
The proposal
After reviewing what it will take to get your project completed, Voice3g will
submit to you a written proposal describing the project and the estimated costs
involved.
Keep Talking
Upon acceptance of the proposal, an inter-organization communication system is
established. Your team will be able to log on to our Web site and view up-to-date versions of specifications and design documents, retrieve the latest builds,
view project status, and communicate with the Voice3g team members.
Design the application
All the business issues, requirements and deliverables defined in Discovery are
reviewed one by one; then architectural views, screen mappings, use cases and
test cases are derived. These deliverables are reviewed with your team to get
feedback regarding our vision of your needs. We make all the requested revisions
and create the first pass design documents. We review the revised
specifications with your team and record all requested modifications.
This process is repeated one more times. Each pass through this process
is called an iteration within our methodology.
Define application milestones
We believe the best way to judge progress, catch errors, and respond to change
is to build and deliver often. This allows you to see, and use, the application as
it evolves. Early on, the milestones will be functional and design specifications; a
little later, ever encompassing portions of the application.
Construction
From Construction on, the project status is updated daily by the Project Manager
and presented online for review by all authorized users. Each Milestone is approximately
2 weeks worth of work. The system is built in a series of iterations. Each iteration
is a mini project, including coding and testing for each requirement within the milestone.
Each Milestone concludes with a demo to the Client. If the Client agrees that all
requirements defined under the milestone are complete and functioning properly, we get
sign-off and move on to the next milestone. Otherwise we record and resolve all
issues until milestone signoff occurs. This process repeats until all milestones in
the project are complete.
Delivery
Voice3g runs the entire system through all test cases and repairs bugs until none exist.
We also perform simulated load testing and stress testing. We write the System and User
Documentation. This can include online help. Voice3g trains the users involved in Beta
testing on how to use the system and provides course materials for future training. A
select group of users test the system and provide feedback via our online testing
tool. Voice3g resolves all in-scope issues found during testing and the system is put
into production.
Quality Control
Coding Standards
We have an extensive set of standards for all the platforms we use, encompassing
application design, module granularity, global object, commenting, naming, and error
handling. We ensure that all our developers use a similar style to facilitate group
development and maintenance.
Design Reviews
We carefully review the design of an application before we write a line of code. Many
flaws in a application can be avoided inexpensively at this stage. We may prototype some
aspects of the application to ensure that the application is consistent with expectations.
Code Reviews
We use a formal structured code review process, complete with checklists and multi-person
inspections, to ensure that the code adheres to standards and application
performance is as expected.
Testing
We unit test all modules and work with our customers to develop a comprehensive
test suite for the entire application to maximize application quality.
System testing occurs prior to application delivery to ensure complete interoperability
of each component of the application.