|
INTENT uses the agile methodology and
lean processes for our software development projects. The
processes enable us to have frequent release cycles, periodic
demo and feedback, more effective change management and no
surprise releases.
|
|
|
This
document outlines the process used by our development
projects. The document is intended to be a summary of the
process and activities as viewed by a customer, and hence
doesn't get in to much detail on internal
execution.
|
|
| The Project Execution process is designed to handle the
following areas of software development:
|
|
|
|
|
Development |
|
|
|
Project Management
|
|
|
|
Quality Control |
|
|
|
Release
Management
| |
|
Project Execution
Overview
|
|
| Model Selection
|
|
|
Agile vs.
Waterfall methodology. The type of customer engagement is the
primary factor in the choice of software development
methodology used. INTENT will recommend a model based on
engagement type and other factors, but the customer has an
option to select a model of their choice.
|
|
| Execution |
|
|
The
execution is described from an agile methodology perspective.
In administering and executing the development process,
Microsoft Team Foundation Server (TFS) is used. Customers will
be granted access to the TFS system to enable them to oversee
the project progress.
|
|
|
|
|
Once engagement is finalized, a Project Manager
is assigned to the project
|
|
|
|
Scoping – PM works with stake holder in defining
the scope of the project, identifying various
phases
|
|
|
|
Estimating - PM provides a Rough Order Magnitude
estimate to the customer based on the
scope.
|
|
|
|
Proofs of Concept and exploratory work – if new
technology or systems are being used, or if the customer
needs a POC, exploration of new technology, evaluating
tools, techniques etc.
|
|
|
|
PM
revisits the scope with the stake holder after
exploration is complete. This is needed in case the
scope was affected or if there is a change in the
approach
|
|
|
|
Resource Selection and allocation – based on
required skill set and experience.
|
|
|
|
Development and Delivery iterations – Based on
scope, resources and timelines the PM will work with
stake holder in formulating development iterations. Each
iteration will have the following
steps:
|
| |
|
|
Requirements finalization & prioritization –
task items
|
| |
|
|
|
Items planned for this iteration (from original
scope)
|
| |
|
|
|
Items proposed by the customer after reviewing
prior week’s delivery
|
| |
|
|
|
Prior week’s task overflow
|
| |
|
|
Task breakdown by week, estimation and resource
allocation
|
|
|
|
Weekly task deliverables, customer demo and
feedback
|
|
|
|
Customer sign-off on
all completed
deliveries.
| |
| Internal
Process during/after iterations
|
| |
| Development |
| |
|
|
|
Submit
estimates for tasks and enter them in
TFS
|
|
|
|
Complete tasks in the order of
priority/dependence
|
|
|
|
Updated actual time spent in TFS, along with
reasons for any deviations from
estimate
|
|
|
|
Address any issues/bugs
assigned
|
|
|
|
An
automated workflow will set each completed
issue/bug/task to the QA queue. This queue is monitored
by the QA Lead and assigned to the appropriate QA
personnel
| |
| Quality Assurance |
| |
|
|
|
Requirement review and test case
preparation
|
|
|
|
Create Requirements Traceability Matrix – ensure
that all requirements are captured in test
cases
|
|
|
|
Create Dependency Matrix – to get a quick view of
impact of change
|
|
|
|
Test and report any issues using
TFS
|
|
|
|
Track and monitor all issues – reported by
internal staff and customer
|
|
|
|
QA
Lead monitors completed task/issue/bug queue and assigns
QA tasks to the appropriate QA
personnel
| |
| Process Audit |
| |
|
|
Process Audits are conducted at least once a
month with the PM
|
|
|
QA
Audits are conducted to ensure quality of customer
deliverables
|
|
|
Periodic customer satisfaction surveys are also
conducted to get customer
feedback
| |
| Risk Management |
| |
|
|
Monitor tasks to ensure they are delivered within
designated tolerances
|
|
|
Daily stand-up meeting - lasts less than 10
minutes
|
| |
|
Team members report their
progress
|
| |
|
Discuss issues they might be
facing
|
| |
|
Ask
for help if needed |
| |
|
Identify potential delays due to technical
challenges or underestimating effort
|
| |
|
If
any risks are identified, PM informs the client – this
ensures complete visibility to the client, and
eliminates
surprises
| |