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/Operation
    s
•   User Experience
Core S/W Development Disciplines
       For Each Iteration
Teams
•Core Dev Team
 o Architecture
 o Analysis
 o Design
 o Implementation
 o Testing

•Customer Team
 o Define problems to be solved, things to be built,
   changes to business processes
•Management Team
 o Ensure that customer, business and development
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 Requirements
  o Performance
  o Scalability
  o Reliability
  o Availability
  o Extensibility
  o Maintainability
  o Manageability
  o Security
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
Iterative software development

Iterative software development