|
|
|
 |
 |
 |
|
Software Development Methodology
Through the years, as a provider of outsourcing services on
custom windows applications, web and database development, O3IT has made use of
a perfected software development methodology which is solid and clearly
defined, yet adaptable to meet particular needs of diverse custom applications.
Representing a powerful combination of the best practices and leading
standards, This methodology is focused on organizing and simplifying the
development process while increasing ROI and reducing time-to-market. We have
successfully applied our methodology to medium- to large-scale custom projects
involving the following phases:
The outlining of the phases of our development process is
provided bellow.
|
|
|
1. Defining Project Requirements
We work closely with you and discuss the details of your
current practices, marketing goals and business objectives, ensuring thorough
understanding of all project requirements.
By gaining insight of your needs and strategic challenges we
can define the project's scope, the technologies and the overall development
approach, which represent the foundation of a successful implementation plan.
Of course, if our customers provide a detailed project
specification or request for proposal (RFP), we are then able to proceed to the
elaboration of the Proposal document.
back to top
|
|
|
2. Proposal
Based on the information gathered in step 1 and further
analysis, our team of Software Engineers creates a detailed Proposal document
that includes the following elements:
- Vision document providing our description of the project's
scope, goals of the application, as well as outlining of the application's
functionality, constraints (such as schedules and costs) and requirements that
must be contemplated;
- Preliminary Estimate document covering the project size, work
effort, and costs;
- Draft Project Plan illustrating the most relevant milestones
while providing initial timeline estimates for the project.
The Proposal document is then sent to our Client for review and
approval before proceeding to phase 3.
back to top
|
|
|
3. Functional Specification Development & Approval
All of the modifications appearing during the revision of the
Vision document are discussed and approved by both parties, looking to refine
project requirements avoiding the expenditure of valuable resources. The result
of this comprehensive requirements definition process is a document called
Functional Specification. In addition, the preliminary Project Plan and
Estimates are reviewed and updated as needed, providing our Client with the an
accurate and finalized project budget, schedule and milestones.
Our Client then approves and signs the Functional Specification
document, which determines the project requirements freeze and the proceeding
to the next phase of the software development life cycle implementation. As
they appear, additional functional and non-functional requirements are
negotiated and managed via the Change Request Form.
back to top
|
|
|
4. Software Development & Alpha Release
Given that the project requirements specification is confirmed
and approved, along with the architectural design; the application development
phase is started.
Throughout the development process, partial deliveries are made
to our Client according to the scheduled milestones allowing both parties to
track progress. All deliverables including sub-system, sub-element or module
can be reviewed by our Client, allowing them to verify their business
requirements while ensuring that the end product will match the original
requirements. Partial deliverables reviewing also help our Clients to discover
problems or flaws at an early stage of the development process, avoiding the
application to evolve into a complete miscarried product, helping us to reduce
the costs of corrections.
Our software engineers perform unit tests upon completion of
each code programming phase. This simple process on its own helps us to very
quickly and inexpensively discover some trivial logic errors. Individual
classes are then tested to ensure reliability and functional compliance within
a particular functional unit. Moreover, given that a few programs within a
module pass the unit tests process, they are then combined together for what we
call a ''modular function test''. Complete modules are then integrated and
tested simultaneously to ensure that after integration, sufficient and proper
execution and compliance with the requirements is met. In time, the entire
application is subject to ''System Testing'' undergoing functional,
performance, and stress testing. The result is an Alpha Release that can is
provided to the customer for reviewing.
back to top
|
|
|
5. QA Testing & Beta Release
This phase involves extensive QA testing, which means that the
code will be revised and validated for consistency and functionality. The
responsibilities of our QA team are to detect any deviation from the quality
procedures and ensure all that all of the requirements and specifications are
properly considered and met. All of the errors and bugs are detected and fixed.
Required changes are made to ensure compliance with the requirements.
Once the resulting application passes the QA and testing
process and is approved by our QA department, Beta Release is provided to our
Client. Beta Release is deployed in the final environment at the customer's
side for additional testing and reviewing for a certain period of time as it is
specified in the Project Plan. During this stage, based on our Client's
feedback, we conduct the final testing and debugging processes. The approved
and accepted Beta Release matures into the Final Release and the project is
ready to move to the next phase.
back to top
|
|
|
6. Final Release & Deployment
Once the final software solution is installed, configured, and
launched, follow-up activities for close monitoring of performance is included,
providing prompt response to the appearing issues and ensuring customer's
satisfaction. During this phase, O3IT transfers the required knowledge, guide
our Client's personnel and provides technical/user documents, if requested.
back to top
|
|
|
7. Ongoing Technical Support & Enhancements
Once the software application is deployed, O3IT provides
support throughout a pre-defined period of time after the final delivery.
During this period, all programming errors or bugs detected are corrected at no
additional cost. Given that nothing is permanent in the IT arena, all software
solutions should also evolve to meet new requirements and to stay on target in
the market. Upon mutual consent, we can provide second line support and
enhancement services which may include activities such as permanent
enhancement, refining and optimization of the developed application.
back to top
|
|
 |
|
|
|
|
|