Go back
1. The
Spiral Model for Software Engineering Process
2. Emetaworks
Software Development Life-Cycle
3. Benefits
to our Clients
4. Emetaworks
Project Delivery Methodology
5. Software
Quality Management Plans
6. Reviews
& Audits in Software Development Projects
7. Software
Project Terms of Reference
8. Configuration
Management Plans
Emetaworks follows the *Spiral Model of Software Engineering Process
that forms the foundation, to provide rational and timely development
of software solutions to our clients. It provides the framework to establish
a comprehensive plan for software development. It is suitably applied
based on the nature of the project and application, the methods and
tools to be used and the controls and deliverables that are required.
The Emetaworks Development Methodology uses the Spiral Method of Software
Engineering Process to:
Combine the iterative
nature of prototyping with the controlled and systematic aspects of
Waterfall Model.
Rapidly develop software in a series of incremental releases
(During early iterations the incremental releases may be a paper model
or prototype)
Produce increasingly complete versions of the software in later iterations.
The Spiral Model for Software Engineering Process
Our software engineering team uses the Spiral Model of software development
process and moves clockwise in a spiral beginning from the core.
Product Specifications are developed with the first (or more) circuits
of the planning regions of the spiral.
The Prototype and sophisticated versions of the software are developed
progressively by repeatedly following all the steps enunciated in the
planning regions.
Project Plans are adjusted with each spiral of the planning regions.
Cost and Schedules are adjusted based on the feedback from the Client
Evaluation.
The Spiral model is adapted to apply throughout the life of the software.
Whenever a change is initiated the process starts at the appropriate
entry point (e.g. Product enhancements).
Emetaworks Software Development Life-Cycle
Cycle 1: Initial Analysis
Consultation with Functional Heads
The Emetaworks Project Team will consult with the functional heads of
the client and understand the objectives, suggest alternatives and identify
all constraints that envisage the project.
Business Process Mapping
The Team will study the entire business process of the client conceptually
and try to map the same with the software.
Prototype Model
Once the mapping is done prototype for the same with some live data
of the user will be taken and demonstrated to the client.
Identification of Risks
All risks in terms of using the product, business processes, technology,
infrastructure etc will be identified at this stage and possible solutions
will be provided.
Recommendations
The team will also educate the client with alternative solutions or
good business practices followed by similar industries from their earlier
experiences and will adapt whatever is feasible in consultation with
the client
Project Plan:
The entire Project Plan will be prepared, documented and agreed upon
in consultation with the client in terms of: Efforts, Costs, Manpower
Allocations, Phases, Deliverables, Schedules etc
Cycle 2 : Final Analysis
Definition of User
Requirements
The Emetaworks Project Team will have detailed discussion with all functional
heads and other coordinators to understand and define the User Requirements
clearly.
Documentation of
System Requirement Specifications
All User Requirements will be documented and the System Requirement
Specification (SRS) document will be prepared.
Review of SRS
The SRS document will be thoroughly studied and reviewed by the users
and signed off.
Implementation and
Customization Plan
The development plan for any customizations and the implementation plan
will also be prepared at the end of this phase.
This document is the key for any further developments.
Cycle 3 - Design
During this phase the entire software in terms of Customizations, Additional
Requirements, enhancements etc will be done. Also Test Plans and Acceptability
Criteria for the same will be obtained from the client.
The system design document, test plan, test cases, integration plan
and acceptability criteria will be prepared.
Cycle 4 - Implementation and Testing
All Customizations and Enhancements will be coded as per the System
Design document
Unit tests, Integration Tests and Acceptance Tests will be performed
in consultation with the client
The entire System will be Deployed
Users will be Trained
The Project will be Signed Off.
Benefits to our Clients
The Development Methodology followed by Emetaworks based on the Spiral
Model is a realistic approach to the development of large-scale systems
and software. Because software evolves as the process progresses, Emetaworks
and the Client understand and eliminate the risks at each evolutionary
level.
This Methodology uses Prototyping as a risk reduction mechanism, but
more important, enables Emetaworks to apply the prototyping approach
at any stage in the evolution of the product. It maintains the systematic
stepwise approach suggested by waterfall model, but incorporates it
into an iterative framework that more realistically reflect the real
world resulting in timely development and deployment of quality software
solutions to our clients.
Emetaworks Project Delivery Methodology
Emetaworks believes that success of any software solution depends not
only, technology used etc but also on its implementation and subsequent
support services. The methodology followed in delivering such solution
and services is very important as it influences the quality of the solution,
cost, timeframe and the degree of entropy an organization experiences
in the transition to a new system.
The elapsed time for Delivery/Implementations is very crucial in an
environment fraught with change. Emetaworks fully understands the need
for organizations to be proactive to lead change by getting their strategies
to act ahead of others. Shorter timeframes also result in lower costs
of implementations and shorter payback periods.
Considering the above factors Emetaworks has formulated and developed
a delivery model incorporating best industry practices.
Software Quality Management Plans
As with the Project Plan, the literature of software quality recognizes
the importance of comprehensive planning for those aspects of a software
development project that bear most closely upon its success.
Given that up to 70% of IT development projects fail (in terms of either
not being completed, or completed but not used by the client due to
it unsuitability), due in part to inadequate planning and execution
of the project, this how to guide is an valuable aid for project planners
to address the important quality-related activities. It is is an easy
to use checklist, as defined by IEEE 730, and template to achieve this
end.
In the same way as a systematic and comprehensive Statement of User
Requirements can capture a more complete set of requirements, a project
plan as provided by this how to guide allows the project manager to
make sure he/she has considered all relevant quality matters in the
planning stage, allowing them to avoid, as far as possible, unpleasant
surprises later.
The quality plan includes the:
1. Scope and objectives of the quality aspects of the project
2. Quality deliverables that the project will produce
3. Process by which those deliverables are produced
4. Organisation and staffing which will perform the quality functions
5. Responsibilities of those involved
Reviews & Audits in Software Development Projects
This how to guide encompasses the range of review and audit activities
undertaken during a project.
Reviews and audits comprise the following five modules:
Management review
The formal evaluation of a project level plan or project status relative
to that plan by a designated review team.
Technical review
The evaluation of specified software modules and documents aimed at
ensuring that the software modules and documents comply with the applicable
standards while conforming to the specifications. The technical review
may provide recommendations after the examination of alternatives.
Walkthrough
An evaluation process that can result in recommendations for improvement
or identification of alternatives to the current software modules or
documents being developed.
Audit
Provide objective evidence of compliance of products and processes with
standards, guidelines, specifications and procedures. Includes audits
of the quality management system.
Inspection
Rigorous formal evaluations designed to detect and identify defects
in the reviewed material. Normally conducted after the event and initiated
by persons outside of the project team.
Software Project Terms of Reference
Software Project Terms of Reference defines the form and content of
Terms of Reference documents. These are used to clearly define the objectives
and deliverables of a given task or function, along with the parameters
and constraints within which these objectives are to be achieved.
They ensure that the customer of the task or function, the organization
carrying out the work, and the individual responsible for that work
clearly understand the objectives, deliverables, parameters and constraints
of the task or function.
A term of reference can apply to a wide-ranging, multi-resourced study
to be carried out, right down to describing individual areas of responsibility.
For example, terms of reference may be produced for a steering committee,
a project, a project manager, or a task of work. In some instances,
terms of reference may even be used in lieu of a project plan and quality
plan.
Configuration Management Plans
Configuration management (CM) is the regulation of the way in which
a software product evolves during the development and maintenance phases
of the product lifecycle. It is the process by which the individual
components of a software system are identified so that any changes to
the configuration of these components can be systematically traced and
therefore controlled throughout the complete span of the development
cycle. CM thus forms the basis for product and project measurement.
This How To Guide is based in large part on ANSI/IEEE 1042-1987.
SCOPE
This How To Guide describes the application of configuration management
(CM) principles to the management of software development projects.
CM consists of two major aspects; planning and implementation.
For those planning software configuration management activities, this
standard provides guide-lines into the aspects which must be considered.
For those implementing software configurations management disciplines
can use the sample Configuration Management Plan attached.
This How To Guide outlines the essential concepts of CM, including libraries
and tools.
OBJECTIVES
To achieve the above, the objective of a project manager will be the
identification and establishment of baselines; the review, approval,
and control of changes to the project components; the tracking and reporting
of such changes; the reviews of the evolving product; the control of
documentation; and the control of the interfaces to the clients and
supplier.
However it should be noted that this How To Guide specifies the minimum
requirements, and therefore the project manager has the option where
required, to expand and supplement as necessary for the development
of specific project activities.
In specific terms, the objective of CM procedures is to provide methods
for:
1. Version identification
2. Obtaining approval to implement a modification
3. Ensuring that modifications are correctly integrated through formal
change control
Pro-cedures
4. Controlling the identification of development status
5. Ensuring that nonconforming software is identified and segregated
Contribution to IS Quality A structured and comprehensive approach to
software design is known to be a major factor contributing to Information
Systems Quality. Adequate configuration management is however often
not performed, contributing to a higher number of software defects which
impact the real and perceived quality of the software, as well as leading
to time and expense being spent on rework and higher maintenance costs.
How to Write Configuration Management Plans is a plain-English, procedural
guide to developing CM Plans that are both systematic and comprehensive.
It contains detailed instructions and templates.