0% found this document useful (0 votes)
69 views21 pages

New Presentation Process Models

The document discusses various process models for software development including traditional, agile, and innovative models. Traditional models covered are waterfall, incremental, object-oriented programming (OOP), and capability maturity model integration (CMMI). Agile models discussed include extreme programming (XP), adaptive software development (ASD), dynamic systems development method (DSDM), Scrum, Crystal, and feature driven development (FDD). The key aspects, advantages, disadvantages and applications of each model are described.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views21 pages

New Presentation Process Models

The document discusses various process models for software development including traditional, agile, and innovative models. Traditional models covered are waterfall, incremental, object-oriented programming (OOP), and capability maturity model integration (CMMI). Agile models discussed include extreme programming (XP), adaptive software development (ASD), dynamic systems development method (DSDM), Scrum, Crystal, and feature driven development (FDD). The key aspects, advantages, disadvantages and applications of each model are described.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

S.

E process models
(advanced seminar).

by:
Anshuman Mahapatra.
Process models.
 We would have a look at three broad categories of
process models in this presentation:

1. Traditional models.

2. Agile models.

3. Innovative models.
Traditional process models.
Waterfall model
 Can be represented or graphically modelled as a cascade.

 Advantages:
 simple, easy to execute, requirement already defined..

 Disadvantages:
 blocking states, no change, no customer feedback, inconsistent.

 Suitable for:
-simple hardware products.

 Not suitable for:


 software products because of the complexity issue.
Incremental model
 Combines elements of water fall model applied in an interactive fashion.

 Advantages –
 not require complete instructions, feedback

 Disadvantages –
 less defined objective, problems to future.

 Suitable for-
 risky to develop whole project at once

 Not suitable for -


OOP Model
 Involves development of applications in slices rather than layers.

 Advantages :
 Reduced complexity
 Increased reusability

 Disadvantages :
 Limited to only oop oriented languages.

 Suitable for :
 OOP programming language based applications.

 Not suitable :
 Applications with more integrated components.
CMMI Model
 Involves continuous process improvement.

 Advantages:
- helps a process grow and makes it flexible.
- reduces the chances of system errors.

 Disadvantages:
- takes a lot of time.
- lasting changes need continuous efforts.

 Suitable for:
- Projects with long time in hand for completion.

 Not suitable for:


 Projects that have strict specifications.
Evolutionary models.
 These models are developed after a gradual developmental
process.

 Development takes place in stages.

 Involves two main process models:

 Rapid prototyping model.


 Spiral model
Rapid prototyping model
 Involves building a working replica of the entire system.

 Advantages:
 Requires short time period generally {60-90 days}.

 Disadvantages:
 Sufficient work power needed and must work with equal speed.
 Building components problematic if not modularised properly.

 Suitable for:
 Large projects with tight time frame.

 Not suitable for:


 applications with high technical risks.
Spiral model.
 Combination of waterfall and iterative prototyping models, more rapid in nature.

 Advantages:
 Most realistic, controls cost risks, early functionality.

 Disadvantages:
 Less defined, uncomfortable for management, incompatibility with audit
process.

 Suitable for:
 Across all applications, one with many computations, one in which risks are
too high.

 Not suitable for:


 Not for small business applications as success rate is not guaranteed.
Agile process models.
An agile view of process
 Agile -> Active, dynamic and quick process
Four key issues in agile

Self organizing team that have control over the work they perform

Communication and collaboration between team members and customers

Accepting changes

rapid delivery of software that satisfies the customer


Agile Characteristics
 They deliver software frequently.

 Every release should work and be deployable to production.

 The line between "design" and "development" is intentionally fuzzy (Confused)

 Face to face communication is the dominant form of communication.

 Business people and developers work closely together;

 – Simplicity, "the art of maximizing the amount of work not done", is an


 important design goal; and

 – The methodology expects, and supports, changes to requirements.

 Examples of Agile Methodologies


– Extreme Programming, SCRUM, FDD etc.
Human factors for Agile software
development
 Competence

 Common focus

 Collaboration

 Decision-making ability

 Fuzzy-problem solving ability

 Mutual trust and respect

 Self-organization
Agile Process Models
 Extreme Programming (XP)

 Adaptive Software Development (ASD)

 Dynamic Systems Development Method (DSDM)

 Scrum

 Crystal

 Feature Driven Development (FDD)

 Agile Modeling (AM)


Extreme Programming (XP)
 XP uses an object oriented approach

 It has four framework activities


1. Planning
2. Design
3.Coding
4.Testing

 XP is a used to quickly develop quality software program to


customers.

 The goal of this methodology is to deliver what the customer is


looking for in the quickest way.
Adaptive Software Development
Features
 ASD as a technique for building complex software and systems.

 ASD focus on human collaboration and Self-organization.

 ASD life cycle


 1. Speculation
2. Collaboration
3.Learing
Dynamic Systems Development
Method Life Cycle
Feasibility study
 establishes basic business requirements and constraints

Business study
 establishes functional and information requirements needed to
provide business value

Functional model iteration


 produces set of incremental prototypes to demonstrate
functionality to customer

Design and build iteration


 revisits prototypes to ensure they provide business value for end
users
 may occur concurrently with functional model iteration

Implementation
 latest iteration placed in operational environment
Scrum Principles
 Are used to guide development activities within a process.

 Frame work Activities


 Requirements,
 Analysis,
 Design
 Evolution and
 Delivery
Scrum with Extreme
Programming

SCRUM
Project Management
Best Practices
Scrum works well as a
wrapper around
EXTREME
PROGRAMMING
Mostly Technical
Best Practices
Extreme Programming
Feature Driven Design.
 Develop overall model
 contains set of classes depicting business model of application to be built

 Build features list


 features extracted from domain model
 features are categorized and prioritized
 work is broken up into two week chunks

 Plan by feature
 features assessed based on priority, effort, technical issues, schedule
dependencies

 Design by feature
 classes relevant to feature are chosen
 class and method prologs are written
 preliminary design detail developed

 Build by feature
 class owner translates design into source code and performs unit testing
 integration performed by chief programmer

You might also like