Pricing Model
About Us
Contact Us
IT Expertise
Research & Development
Offshore vs. Nearshore
Government Support
Related Links
Our Credentials
Corporate Overview
O3IT's Mision Vision & Values
Request For Proposal
Pricing Models

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
Copyright © 2003-2021 O3IT, Ltd. All Rights Reserved.