| BITS follows a specific methodology to project development
and deployment. The methodology involves several steps, to ensure the mutual understanding
of the project and the deliverables between BITS and the client, as well as traceability
of the project and the deliverables. Some phases are linear, whereas some others are
iterative, such as the development and testing of the deliverables. Documentation is an
integral part of the methodology, to ensure that the project follows the requirements and
specifications, as well as to provide some documentation for the project maintenance when
that is delivered to the client.
User documentation, training or CBT material can be included in the project
deliverables upon client request, if that is part of the project scope.
The methodology phases are presented in the following paragraphs, along with the
associated documentation. Since documentation incurs additional cost to the project, it is
possible to eliminate or scale down some of the documents, upon signed agreement with the
client, to reduce the cost of the project.
|
Requirements
- Prior to commencing a project, BITS is typically gathering a well-defined set of
functional requirements, in association with the client. These requirements constitute the
primary guidelines for developing the project, as well as they determine the initial scope
of the project.
A Requirements document is assembled and presented to the client.
This document is the basis for developing the specifications of the project. Occasionally
the clients provide the requirements document, based on known needs of their operating
environment.
Specifications
- Project specifications are being developed to determine the target platform(s), the
technologies to use, the non-functional requirements (hardware and software), the user
interface behavior where applicable, the performance specifications, the client/server
specifications and the deployment specifications.
A Specifications document is
assembled and presented to the client. This document is the basis for developing the
system architecture, including the required hardware and software configurations.
Design/Architecture
- The project design or architecture reflects the front-end and back-end components or
servers required for meeting the functional requirements of the application, their
distribution in the enterprise, their communication protocols, the security or
authentication mechanisms, redundancy or fail-over procedures, backup procedures, etc.
A
Detail Design document is assembled and presented to the client. This document is
the basis of the project implementation, and clearly defines the scope of the project,
along with the expected deliverables.
Implementation
- The project implementation follows the guidelines specified during requirements
gathering, specification and design. Deliverables may be developed as a phased approach,
to allow the client to preview the product and make corrections along the way. The
development tools are typically agreed upon during the specifications phase, to ensure
expedient delivery of the product, that can support the functional requirements and would
allow the client to seamlessly integrate the maintenance of the product in the existing
development environment.
The implementation architecture is typically covered in the Detail
Design document. In-line comments in the code provide additional information to
prospective developers for code maintenance.
Testing
- The project testing is a phased process that usually follows the implementation phases.
Typically there is thorough in-house testing, followed by partial deployment and testing
at the client site. In most projects it is required that the client has a separate
development/testing environment from the production environment.
A Testing Plan
document is assembled, usually during the early stages of the project, to determine what
type of testing is required and the procedures to follow for successfully testing the
deliverables, according to predefined case studies.
Deployment
- The project deployment to the client site typically consists of one or more installation
scripts for automating the client and server components. Deployment of computers, and
installation of Operating Systems and other standard software, is typically the
responsibility of the client, unless otherwise agreed upon.
Web-based deployment is an
option that should be agreed upon during the specification phase of the project. Special
hardware and software deployment procedures may be subcontracted by BITS, if the client
wishes to delegate the responsibility of that phase to BITS.
A Deployment Plan document is assembled to outline the client and server
components, the installation procedures and the software requirements, such as Operating
Systems, patches, Databases, Servers (e.g. IIS, SS, MTS, etc.), and other components.
Maintenance
- The project maintenance typically is not part of the project development, however,
special agreements are available between BITS and the client, whereupon BITS can maintain
the applications, the underlying data, or both, for an agreed upon period of time and fee.
|