OMS practices a strict development methodology to ensure that end products are delivered on schedule, at low cost, and in a manner consistent with project goals and client expectations. This methodology is based on UML (Unified Modeling Language) lifecycle development.
We tailor this methodology to each project, creating a detailed breakdown structure for key milestones and deliverables. The following diagram outlines our general methodology.
We start with a discovery process whereby we interview the client, stakeholders, end users and administrative users of the system to fully understand the following:
» High Configuration Intel Processors
» Website Business Drivers
» Website Audience Segments
» End User Feature Requirements, By Audience Segment
» Administrative and Content Provider Feature Requirements
» Technical requirements
» Infrastructure, Logical and Physical Component Requirements
At the end of this process, we produce a document that lists these requirements, the strategy for accomplishing them, and quantifiable measures of success. The end result is a client-approved road map that serves as a clear, actionable basis for subsequent information architecture, visual design, and site programming.
During Design, we diagram all architectural layers of the system, including Presentation, Applications, Logical Components, Data, and External Interfaces. Design of the Presentation layer includes branding and messaging, visual design ("look and feel"), storyboard modeling of site navigation and information flow, and an HTML prototype of the full front-end. During this phase, we ask the client and selected focus groups to evaluate the site usage flow and content, and approve the direction before full implementation. Design of the back-end layers includes the site architecture diagram, component design model, and data model and entity relationship diagrams. During this phase we also design the test plans, and client training plans.
The Development phase is streamlined due to our comprehensive Design phase. We build out the system in modules, with code reviews and unit component testing. We have two formal testing phases: Alpha Release QA Testing, an internal testing process; and Beta Release Acceptance testing by the client.
Once the client accepts the beta release, we transition the system to production. We deliver agreed-upon system and training documentation. We also schedule post-release support to ensure a smooth transition.
To manage schedule, costs and risk, we institute comprehensive project management. We establish clear lines of communication and a process for review and approval. Regular progress reports and face-to-face reviews of key milestones ensure steady and consistent progress toward the end goal.
With our incremental process each milestone is built upon the prior one, preventing costly backtracking and duplication of effort. We define a clear scope-of-work and commit to a clear price for deliverables at the outset, and communicate the ramification of change orders in a clear way. We propose technical solutions only after a detailed assessment of client infrastructure to ensure that we identify the tool, and approach with the highest return at the lowest cost.