ZDM
Document Sample


Zenani Software Development Life Cycle
April 2003
Prepared by:
Zenani Corporation – Enterprise Software Services
15203 Cornerstone Drive
Yardley, PA 19067
Main Number (215) 962-5394
Zenani Software Development Life-Cycle
TABLE OF CONTENTS
OVERVIEW ................................................................................................................................................... 3
INTRODUCTION ......................................................................................................................................... 3
QUALITY ASSURANCE .............................................................................................................................. 3
SOFTWARE DEVELOPMENT MODEL .................................................................................................... 4
PROJECT LIFECYCLE ............................................................................................................................... 5
CONSTRUCTION ........................................................................................................................................... 7
CONSTRUCTION QA STAGE ........................................................................................................................ 8
DEPLOYMENT .............................................................................................................................................. 9
SUPPORT ..................................................................................................................................................... 9
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
OVERVIEW
This document provides a detailed description of the Software Development Life-Cycle followed
by Zenani Corporation Enterprise Software Services (ESS). The methodology described explains
ESS’s approach to software development, quality assurance and product delivery.
INTRODUCTION
This document describes the Software Development Life-Cycle (SDLC) for application
development projects managed by Enterprise Software Services. Our Project Teams follow a
development methodology, Zenani Development Methodology (TDM), to ensure the highest
quality deliverables while tightly managing costs and schedules. We have developed the TDM
based on Project Management Institute (PMI) best practices coupled with the latest Software
Engineering Institute (SEI) standards to facilitate our software application development process.
The ZDM philosophy is to provide our clients with hands on participation in all the phases of
development. Our goal is to deliver software applications that are well designed, meet and
exceed our client’s expectations, and are developed according to industry standards. We ensure
this goal is met through the cycle of validation process, where project reviews are held with the
clients at each step of the development process.
QUALITY ASSURANCE
Zenani Corporation performs extensive quality assurance reviews in all phases of the software
development lifecycle. This pro-active quality assurance process results in:
Shortened development schedules
Increased customer satisfaction
Reduced development costs
Higher level of reliability and ease of maintenance
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
SOFTWARE DEVELOPMENT MODEL
Enterprise Software Services follows a Staged Evolutionary Development (SED) strategy,
using a hybrid approach combining elements from three lifecycle models: Extreme Programming,
Staged Delivery and Design-to-Schedule to complete the design and implementation of our
client’s applications. This hybrid approach allows the software to be developed and delivered in
stages. During the Discovery phase, Enterprise Software Services, along with our client, divide
the project into a series of independent packages based on features and functionality. Our client,
working with our project teams, then prioritizes the most important functional pieces of the
application and these are developed first. Our clients can start using and testing the software as
soon as the first package is delivered. This approach shows continuous progress of the project
and reduces the risk factors associated with software development.
The success of the SED model is partnered planning between ESS and our clients. It is important
that the packages are meaningful to our client and that the work assigned to the project team
allows for completion of a package according to a staged delivery schedule and to dependencies
between the various packages.
In addition, User Experience Engineering allows our clients to better understand the user-
interface design and system requirements. This process is what sets Zenani Corporation apart
from our competitors. The User Experience Engineering process guarantees that we are
developing the features and functions as prioritized by our clients. It results in a better overall
design of the product and, in combination with our staged delivery process, ensures our clients
receive the application they need to run their business.
The paper prototyping process we’ve developed provides a hands-on demonstration of the
product concepts and allows our client to more easily envision the final product deliverable.
User Experience Engineering combined with the Time Box technique of defining fixed periods of
time in which specific tasks can be performed, provide the following benefits:
Client involvement in every stage of the application development
Allows work to be broken into more manageable tasks that allow for faster delivery of
packages.
Results in more accurate estimates
Offers better management of costs and schedules
Minimizes system integration problems
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
Development can progress in parallel with other packages
PROJECT LIFECYCLE
Zenani Development Methodology
Management
Quality Assurance
Constr uction Stages 1 - N Final QA Stage
System
Feature Integration
Feature Test
Build
Discovery Test Deployment Support
Load Test
Feature
Feature Design
Analysis Performance
Test
Phase Highlights
Use Task Examples System Test Plan Test First Coding Documentation Issue Tracking
Contextual Inquiry DB Design Unit Tests IQ Documents Production Monitoring
Vision Definition Paper Prototype Detailed Design Acceptance Tests Release Management
Feature Catalogue Code Reviews Effort Tracking Transition Activities
User Feedback Customer Collaboration
Performance Tests Load Tests
DISCOVERY
As the foundation of all other activities, Discovery is one of the most critical steps for the success
of the project. The purpose of the Discovery phase is not to develop an all inclusive requirements
document that will become obsolete before the project is finished. Instead, the Discovery phase
is used to define and understand the client’s vision and priorities. The Discovery phase is also
used to validate and test high-risk items such as new technologies or frameworks needed for high
priority capabilities.
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
Key activities in this phase of the project life cycle include:
Requirements Analysis for the new system through User Experience Engineering:
- Contextual Inquiry
- User Task Example analysis
- Paper Prototyping (General UI Testing)
Development of a Vision Statement
Development of the Capability Catalogue
Development of the Capability Prioritization document
Baseline Project and Staffing Plan
Development of a Baseline Configuration Management Plan
Initial review of the existing systems and interfaces, where applicable
Development of Project Quality Assurance Plan
Understand new technical infrastructure
Validation of high risk technologies or concepts
The work products out of this step are:
Capability Catalogue – This is a short summary of the desired capabilities and features
required in the new system. Each capability will also have the risks, assumptions,
dependencies and a preliminary estimate. This document feeds into the initial Project Plan
and Capability Prioritization document. This document does not go into exhaustive detail
about each capability and will not for example contain sample GUIs for each item. This detail
is developed later in the construction phase and is only executed for capabilities that deemed
a priority by the client.
Capability Prioritization Document - This document is created as the result of the prioritization
of the items listed in the Capability Catalogue.
Vision Statement – This is a succinct description of the goals and objectives to be
accomplished by the project as a whole.
Initial Project Plan – This is a baseline project and staffing plan based on the client’s
prioritization and Zenani’s development methodology.
User Experience Engineering Documents – User Task Cases, Sequence Diagrams and
Workflows.
Paper Prototype - Paper Prototypes are useful for application and client User Interface design
concepts. The execution of the paper prototype will bring out key features of the User
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
Interface and underlying functionality. This allows our clients to prioritize the development of
the application according to the client’s priorities.
Quality Assurance Plan – This document describes the process to ensure quality
measurements are performed and addressed throughout the software development life cycle.
CONSTRUCTION
In the ZDM the Construction phase represents an iterative process in which each discrete
capability and feature goes through its own analysis, design, build and test phases. The overall
Construction phase is broken up into multiple stages each containing one or more capabilities.
The stages are formed based on the Capability Prioritization document. The last stage in the
ZDM Construction phase is reserved for final integration testing and QA activities such as Load
and Performance testing. At the end of each stage the associated capabilities are “feature
complete” and ready for client review. This allows the client more flexibility in terms of
deployment options since each stage represents a discrete slice of deployable functionality.
The activities in this stage are as follows:
Requirements Analysis for individual capabilities
Paper Prototyping and Detailed Design of the User Interface for each capability
Detailed Design
Test First Coding/Building
Code Reviews
Unit Testing
Developmental Integration Testing
Client review of incremental application capabilities
Database Design (If extensive DB design is needed this would be broken out into its own
stage)
Revision or Test Plan
Revision of Project Plan
The work products from this stage are:
Capability Specification Document – This document starts out as the Capability Catalogue
and is built incrementally as each capability goes through its detailed requirements phase.
Performance expectations and Load requirements are also captured in this document.
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
Unit Test Scripts and Source Code – Since the ZDM employs Test First Coding every source
code package is delivered with its own Unit Tests.
Technical Documentation - As part of every stage the technical documentation is completed
for each associated capability.
Revised Database ERD – If needed DB changes will be documented and incorporated into
the deployment scripts.
Revised System Integration Tests – As new functionality is added the System Integration
Test scripts are updated.
Revised Project Plan – Each stage represents a benchmark in terms of the overall project
progress. As stages are being completed the project plan is constantly revisited to reflect the
latest data.
CONSTRUCTION QA STAGE
Once all of the application capabilities are developed and tested individually, the team needs to
ensure that the integrated product is working according to the Capability Specification Document
and System Integration Test scripts. Depending on the size of the project it may be necessary to
have multiple iterations within the QA Stage. These final iterations include intensive memory
profiling, load testing and performance testing to ensure that the product is ready for deployment.
Additional work products from this stage are:
Final System Integration Test Plan – This document is built incrementally based on the
capabilities added in each new functionality stage. Additional test cases will be added in this
stage if any application states have not been adequately covered.
Load Test Plan – This test is designed to see how the application behaves under production
load.
Performance Test Plan – This test is designed to validate that the final application meets
performance expectations.
Final Technical Documentation – These documents are built incrementally based on the
capabilities added in each new functionality stage. Final changes and edits are made during
this stage to ensure proper documentation for deployment and later support.
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Zenani Software Development Life-Cycle
DEPLOYMENT
Upon completion of the final Construction Stage the application is submitted for User Acceptance
Testing. Since the client will have been involved in reviewing each capability at the end of each
stage minimal issues should arise out of User Acceptance Testing. After UAT is complete the
application is transitioned to the client’s production support group. Also at this point in the project,
the Project Manager will meet with the client to execute project close out procedures.
The activities in this stage are as follows:
Production Support Turn-Over
Finalized Training Plan (If applicable)
Delivery of Associated Project Materials (Source Code as agreed to in the Terms and
Conditions, Documentation, etc.)
Customer Satisfaction Survey
The final application is approved for release to our client only after the quality assurance team,
project manager and client have reviewed the product and accompanying documents/reports,
and "signed-off" on acceptance of the final release.
SUPPORT
For many of our client’s a transition period is needed during which the client’s technical staff
comes up to speed in supporting the application. Many methodologies ignore this critical phase
of a project. Zenani realizes the rollout of a new application is often when the client needs us the
most.
Listed below are some of the services Zenani can provide during this phase:
Production Support Transition
Establishment of Issue Tracking Systems
Release Management Assistance
Training Support Services
Production Monitoring
Help Desk Services
Create Date: 11/15/01
Last Rev: 11/11/11 5:21 AM
Related docs
Other docs by 6RX6jdx9
Get documents about "