How we work

Integrio applies strict and formalized process with continuous effort to improve it. The factors we value the most are efficiency and simplicity.

The below methodology is used in Integrio for mid-sized contracts. For larger projects we usually integrate with the process adopted by the client.

1. Quote request

Clients task can be set in two ways - "a wish" and specification. "A wish" means a very rough outline about what has to be done (for example, "I want a better looking web site"). Specification is a written document that exactly defines requirements for the software to be implemented. Typical quote request we receive is something in between. Documents: Request for Quote received from client in any form.

2. Understanding scope and nature of work to be done. Quote.

Depending on the level of details of project specification Integrio either studies requirements document (if available) or develops a high-level requirements specification on its own. Interaction with the client on this stage is done in the form of Questionnaire and typically requires up to 2 email rounds back and force to clarify the task. Performance requirements are also defined at this stage. After high-level specification is available we make our quote for its implementation with 15% accuracy. Draft project plan (with major milestones defined) is also provided at this stage. Documents:

  • Questionnaire used to clarify scope of work.
  • Response for RFQ
  • Initial project plan

3. Signing a Statement of Work (Contract)

Client signs a SOW for the project based on the quote. Signed SOW can be either faxed or scanned and sent by email. Documents:

  • Signed SOW (Contract).

4. Detailed specification of requirements

Upon SOW signing detailed requirements specification and workflow model is developed. Interaction is carried in the form of the Questionnaires delivered to client and online (MSN, ICQ) communication. Time needed to settle upon the detailed requirements depends on the nature of the project and client availability. Prototyping (graphical design, interface, implementation ideas) is also done at this stage. Deliverables:

  • Requirements specification (Rational Rose, MS Word)
  • Prototype (Images, HTML demo)

5. Project plan

Once agreed on the detailed requirements a detailed project plan is developed by Integrio and agreed with the client. Project plan defines all tasks to accomplish within the project. All further activities are to be done based on it. Deliverables:

  • Project plan (Microsoft 98/2000)

6. Design definition

At this stage description of the internal construction of the modules that are developed as part of the project is done. This includes internal class diagrams, data structures, modules, dependencies, and 3rd party components. Deliverables:

  • Design definition document (Rational Rose, Word)

7. Implementation and quality assurance

Implementation is done according with the project plan. It is usually broke down into several major milestones at which system is either packed and delivered by email or is setup at Integrio development server. Client feedback is captured using online bug and request tracking system used (preferably) or in other form convenient for him (such as plain email or Excel sheet); requirements document is updated accordingly. Whether potential change requests that may happen at this stage affect contract costs or not depends on their number and nature. Implementation milestones:

  • Alpha (first working version, 50% of the functionality). It is necessary to receive customer feedback.
  • Beta (90% of the functionality). It is necessary to receive customer feedback.
  • Quality assurance (complete regression testing of the product).>
  • Pre-release (tested product, 100% of the functionality). It is necessary to receive customer last-minute feedback. Pre-release system is usually installed at customer server or at Integrio hosting location.

If appropriate, EVO (Evolutionary Delivery Model) can be used by Integrio which results in frequent functional deliveries (steps in adding functionality where each step is a working version).