Basis of
the Application Development and Support
Methodology
GrayCell's
Application development and maintenance
methodologies are designed with inputs from
best industry practices, and are blend of
elements from traditional waterfall and
modern agile methodologies. Though the exact
content of deliverables will vary, this
methodology applies to both Custom Applications
as well as for BI Applications.
They are
developed on deep understanding of conflicting
pressures faced by business and IT teams
as explained here:
1. The
Project Trade-Off Triangle
There are
three factors that need to be constantly
balanced during application development
and maintenance:
- Resources (people and
money)
- Schedule (time)
- Features (scope)
The three are intertwined;
the relationship can be explained with the
following triangle:
Each factor is a side
of the triangle; changing one necessitates
changes in the other two.
2. Trade Off Matrix -
how to balance the three factors
The Business
Users and IT teams must develop an understanding
of a "contract" between them.
The best way is to FIX a particular factor,
CHOSE another factor and ADJUST the third
factor, as expressed in following sentence:
Given fixed _______, we
will chose a ________ and adjust _______
as necessary.
|
|
Fixed
|
Chosen
|
Adjustable
|
|
|
|
|
|
Resources |
|
X
|
|
|
Schedule |
|
|
X
|
|
Features |
|
|
|
X
|
The realities
of the projects must drive the selection
of which factor is fixed, which is chosen
and which is adjustable. Some possible scenarios
are:
- Given
fixed resources,
we will choose a schedule
and adjust the feature
set as necessary.
- Given fixed
resources,
we will choose a feature
set and adjust the schedule
as necessary.
- Given a fixed
feature set,
we will choose a level of resources
and adjust schedule
as necessary.
- Given a fixed
feature set,
we will choose a schedule
and adjust resources
as necessary.
- Given a fixed
schedule,
we will choose a level of resources
and adjust the features
set as necessary.
- Given a fixed
schedule,
we will choose a feature
set and adjust
resources
as necessary.
It is essential that
the team and the customer are completely
clear on the tradeoff matrix for the project.
3.
Incremental and Iterative Development
Application
Development is a series of iterations, each
lasting 4-12 weeks that incrementally adds
the features needed by Business. The functionality
having maximum business value and riskiest
(that may affect IT architecture choices)
get built first.
Development and Support
Methodology
Phase
|
Activity
|
Deliverable
|
Responsibility
|
Envision
|
Identify requirements,
prioritize and finalize scope, identify
and assess risks.
|
Vision
(Scope) Document,Risk Assessment Document
|
Business, IT Development
|
Plan
|
Develop functional specifications,
develop project plan and schedule
|
Functional
specificationsProject Plan
|
IT Development,
Business
|
Develop
|
Develop
test cases, code, and installation
scripts. Unit test code.
|
Unit
and System Test Cases; Unit tested
source code, executables; installation
scripts
|
IT Development
|
Stabilize
|
Test
under realistic environment conditions;
fix reported defects. Alpha, Beta,
Pre-production, User acceptance testing.
|
Test
Results, gold release, release notes.
|
IT Development
|
Deploy
|
Deploy executables
and components, transition data and
configuration as needed, train and obtain
final customer approvals, close iteration |
Operations
and support information systems, procedures;
metrics gathering, knowledge base update |
IT Operations,
IT Development |
|