Introduction


Infoagent has experience in a number of business applications and technical implementation projects. As with any Information Technology project (especially business centered projects) 80% of the success of the project is determined by your ability to meet user requirements and assist in managing change. To this extent Infoagent supports a user oriented approach to systems analysis, design and implementation. This creates a feeling of ownership with the user and lowers large expectation gaps.

We make use of proven, formal system analysis and design methods to ensure that all our solutions are not only well suited to the users needs, but also robust, cost effective and efficient.

Infoagent Software Consulting is in a position to support their customers through any part of the application selection or development process and has successfully contributed to a number of customers during the course of the existence of the company. Whether it as a pre-study to determine the fit of an application or highly technical development, Infoagent Software and Consulting can achieve the required results using the industry standard waterfall model of development. The approach however can be determined by the customer or by
an evaluation of the risks involved in following less structured approaches.

Infoagent Software and Consulting is proficient in each of the steps of the SDLC and the following details the deliverables of each stage in the process.

<back to top>

Project Planning and Feasibility

The project feasibility study is used to determine the high-level requirements of the system as well as defines the goals and objectives of the project. The deliverables of this phase in the systems development lifecycle is aimed at ensuring the broad guidelines of the project are understood and agreed to prior to commencing the analysis and design of the system.

Deliverables:

The deliverable of the first phase of the project is a project charter detailing the following:

  1. Introduction
  2. Purpose
  3. Aim
  4. Participants and future stakeholders / team leads
  5. First Level Functional Decomposition of the system detailing main system as well as main components of the system.
  6. High Level Process Flows / Context Diagrams
  7. Business Case
  8. Buy or Build Motivation

 

The above is used as input into the Systems Analysis and Requirements Definitions phase and forms the baseline of interaction.

<back to top>

Systems Analysis and Requirements Definition

During this stage the project goals are refined to determine the required functions and mode of operation of the system.  Stakeholder-interaction is of utmost importance during this phase of the development life-cycle.

Deliverables:

  1. Lowest Level Functional decomposition with description of modules and functionality.
  2. Process Flows detailing input, process and output requirements of the system.
  3. Detailed description of functionality and process and data requirements of the system.

<back to top>

Systems Design

Here the system is designed at the lowest level of detail and each function and business-rule defined. Following customer sign-off on the design a development costing and project plan is developed indicating resources, timelines as well as estimated cost.

Deliverables:

The design of the system is divided into two components namely a functional and a technical design.

Functional Design:

  1. Refined process flows and business rule descriptions
  2. Use cases
  3. Screen layouts and functionality design.

 

Technical Design

  1. Entity Relationship Diagram (ERD) or core database design
  2. Software and Infrastructure Requirements Review
  3. Security and access right functionality review
  4. Development project plan and costing.

<back to top>

Development and Code Generation

This phase is entered with the understanding that the scope document, as well as the technical design document with cost, resource and timeframe estimates have been signed off by all relevant parties. This phase will be costed according to the estimates in the technical design document.

During this phase the system is developed according to the technical design, as documented in the previous phase. This development effort is also conducted according to the time estimates as supplied in the design document.

It is understood that during this phase, requirements may change, and provision needs to be made to handle this. All systems change during development, and instead of rigidly sticking to the scope as defined in the previous step, all parties should be open to negotiate changes. During these negotiations cost, time and resource implications should always be weighed against potential value-add by implementing the change.

 

The development effort constitutes the following:

  • Module or Unit development & testing
  • Module development

    Each module is developed according to the design as documented in the technical design.

    Module testing

    Each of these modules will be individually tested by the developers during the development process.

     

  • Build creation and testing
  • Build Creation

    As modules are completed and tested by the developers, they are grouped together to form builds. Each build is versioned, and distributed to previously identified end-users responsible for testing during development.

    Build testing

    A number of these modules may be added together to produce a build. Each build will be tested by the developers during development, and it will also be released to the client for module testing. A build does not usually contain a full set of modules or units for the current phase, and is intended to test unit compatibility and suitably to client needs.

    Results of these build tests are documented according to a set template which will be supplied by Infoagent Software & Consulting. Client participation during build testing is vital.

    Release Creation

    As modules are completed and tested they are added to builds. As soon as a build contains all the modules that make up the current development phase, a release is created. Each release is versioned and distributed to previously identified end-users responsible for testing during development.

    Release testing

    A further evolution of a build is deemed to be a release. A release differs from a build in that the release contains all system components as specified by the phase that the development is in. (I.e. A phase 1 release will contain all modules or units that are supposed to form part of the phase 1 scope)

    Results of these release tests are documented according to a set template which will be supplied by Infoagent Software & Consulting. Client participation during release testing is vital.

    The final technical system design will elaborate on the different elements of the system to be created, methods to be used, sequence of module implementation, the workflow engine, security, front-end design and all other system elements.

    <back to top>

    Integration and Testing

    The final release of the system is subjected to rigorous testing (User Acceptance Testing). As each release would have been tested the testing burden on final release is expected to be significantly lower.

    Deliverables:

    1. Final release of the system
    2. Test Scripts covering the functionality of the system
    3. Final developer test reports

    <back to top>

    Acceptance, Installation and Deployment

    The final release is made to he customer for User Acceptance Testing (UAT) prior to deployment to an operational environment.

    Deliverables:

    1. Final release installed in client environment.
    2. Test scripts reviewed and signed off by customer.
    3. Copy of Source Code of developed system in print and in soft-copy.

    Infoagent could offer the required end-user training prior to go-live if required.

    <back to top>

     

     

    Maintenance

    Infoagent is in a position to maintain the system based on a retainer and Service Level Agreement. Modifications and change requests are handled using a standard change request for which needs to be approved by a designated customer representative.  Any changes or modifications to the system would follow the same process as per the development and code-generation step followed during the Systems Development lifecycle ensuring that all changes are thoroughly tested, documented and that there is a single “master” of the system.

    <back to top>