Volia
Software Development Process
Volia's development approach is based on
the Rational Unified Process, which offer practicality, reusability and
flexibility. We hope to demonstrate the
common philosophy (quality, reliability, flexibility, reusability,
maintainability, and leverage) inherent in all of our IT Projects:
- Process Focus - An iterative, process oriented
approach to systems and architecture development that enables a continuous IT
process to be established and integrated with existing business and IT
activities.
- Collaborative effort - Leverages Volia's experience in development
across many different clients in many different industries with client's business
and applied technology knowledge
- Acceleration
o Use
of parallel tasking wherever possible
o Leveraging
Volia and/or client IT standards, methods, and templates where appropriate
o Gain
agreement by stakeholders quickly and leverage Subject Matter Specialists at
the appropriate time
-
Knowledge Transfer - Provide the technical
knowledge transfer, enabling ongoing management of developed application by client,
Volia, or another provider.
-
Practical & Usable Outputs - Provide
documentation and deliverables that serve as practical tools for IT, the
customer, and business people.
Volia offers a structured
comprehensive approach to application and technology development and
implementation as described in Figure 1 above. The post implementation
"Operate" c mponent of the Volia approach is not represented and is not
included in the scope.
We see no reason why the
approach will not work successfully for client's project. Though certain aspects
of the process can be adapted to the client's requirements, if needed.
For purposes of the Vision
application project, one of Volia's first outputs will be a project plan
describing solution elaboration through project completion for each release of
the application. Each release will
address a major use case, or set of use cases, incorporating components of the Volia
development process.
Each use case will go through the entire project
life-cycle to quickly achieve production quality. client will have the opportunity to review the
release, provide changes and/or input and accept or reject the deliverable. Volia will follow the same process for each iteration
through project completion.
For each release, the solution elaboration
phase will finalize business and technical requirements for the Vision application. The specification will serve as the basis for
subject matter analysis. As part of
design documentation and to finalize Vision application functional requirements
the following elements may be created for each functional area:
- Prototype
- Use Cases
- Test Cases
Depending on the complexity of the subject
matter and Volia's ability to understand client's requirements, some of the
aforementioned work products may require input, support, and review from client and client acceptance upon completion.
Elaboration also includes finalization of
architecture requirements.
Application and technical standards,
methods, and tools are identified and described in elaboration. Preferred ATG standards and tools will be
used where will be so required by ATG.
Throughout the project, application and architecture team efforts will
be closely coordinated.
The solution construction phase resolves
any remaining design considerations. It
is also the phase where the Vision application components are developed and
tested.
The application will be documented and
tested. Test cases will be developed
(with client involvement as reasonably necessary) early in solution construction
so that the application can be validated against expected results. Volia may rely on client insight for test data
to the extent it can be provided. Where
practical, Volia will attempt to perform as much of the testing as possible
while recognizing some scale testing can only be performed at an event. In addition to ongoing unit testing, Volia
performs test cycles that usually include functional, integration (or string)
testing, and system (performance and stress) test.
The construction phase will be repeated
for each Vision application release demonstrating core functionality and
architecture components. Client review and
feedback will be necessary at each release throughout the project.
Volia will provide interim code "drops" as
often as possible, but only when it makes sense. We will certainly provide a prototype early
in the project. The interim releases provide
client a technical deliverable to assess functionality and quality. Once a release is accepted by client, the
remaining application and architecture components will be created and tested in
preparation for implementation.
Deliverables during solution construction include:
- Developed software components
- Documented source code
- Build Scripts and Installation Guide (optional)
- Release notes
- Test cases and test results
The transition from the construction phase
to a beta release of the Vision application is called Solution Transition. The Solution Transition phase includes any
acceptance testing client wishes to conduct with break-fix support provided by
Volia Software. It is also the phase
where all previous deliverables and documentation are finalized for client. Final versions of the documentation are
provided. With Volia support, client will
prepare the technical production environment, provide appropriate
authorizations (security set up, etc.), and make decisions around overall
production readiness (operations, support, etc.). Once client deems the application "ready", it
will be available for distribution.
Note
that since this a relatively small project with a short duration many of these
steps will pass rather quickly. Rapid
feedback and turnaround from client will be required to maintain the schedule.
The project management thread will be
consistent throughout the project. The
Volia project manager will be responsible for communication and coordination
with client. Project management activities
are part of everyday project activities and are not identified as formal
deliverables.