iterative software development
DESCRIPTION
Iterative software development IntroductionTRANSCRIPT
Iterative Software
Development
Mohamad Charaf, PMP
The Big Bang approach to
development
What is an iteration•A self contained mini-project with a well
defined outcome: a stable, integrated, and
tested release
Rational Unified Process
Microsoft Solutions Framework
•Product Management
•Program Management
•Architecture
•Development
•Test
•Release/Operations
•User Experience
Core S/W Development Disciplines
For Each Iteration
Teams•Core Dev TeamoArchitectureoAnalysisoDesignoImplementationoTesting
•Customer TeamoDefine problems to be solved, things to be built,
changes to business processes
•Management TeamoEnsure that customer, business and development
goals are aligned
The Developer’s perspective
Team Lead Perspective
•A time boxed mini-project that results in the
production of a significant new release of
the software
Each iteration results in a
“RELEASE”
Integration of Iterations
The Customer’s perspective
Requirements
•Software Requirements Gathering
•Business Process Modeling (As-Is)
•UI prototypes / wireframes
Analysis
•Object Oriented Analysis
•Business Process Modeling To-Be
•Backend Analysis
Architecture
•For Platforms/Frameworks
•For Non-functional RequirementsoPerformance
oScalability
oReliability
oAvailability
oExtensibility
oMaintainability
oManageability
oSecurity
Design
•Object Oriented Design
•Portal/User Interface
•Services/ Integration
•Database Design
Development
•Create Test Case (Unit Testing)
•Write Code (Coding Techniques)
•Test Code (Unit Testing)
•Fix Code
•Build
Testing•Blackbox testing (specification based)
•Whitebox testing (APIs, Data)
Types of Testing
•Unit testing
•Integration testing
•System testing
•Acceptance testing
•Regression testing
•performance testing
•Security testing
Project Management
Configuration Management,
Deployment