SlideShare une entreprise Scribd logo
1  sur  53
The software production process
Projectmanagement or software
proces models?
Goal
• Choose the best process
(or combination of
processes) for your
project.
What is Project Management?
• Project management encompasses all the
activities needed to plan and execute a project:
– Deciding what needs to be done
– Estimating costs
– Ensuring there are suitable people to undertake the
project
– Defining responsibilities
– Scheduling
– Making arrangements for the work
– Describe and handle risks
– continued ...
Software Process Models
• Software process models are general
approaches for organizing a project into
activities.
– Helps to decide:
• What work should be done;
• In what sequence to perform the work.
– The models should be seen as aids to thinking, not
rigid prescriptions of the way to do things.
– Each project ends up with its own unique plan.
Analysis
2%
Specification
5%
Module Testing
7%
Integration
8%
Maintenance
67%
Cost of making software?
Module Coding
5%
Design
6%
[Schach]
Life cycle
• The life cycle of a software product
– from inception of an idea for a product through
• requirements gathering and analysis
• architecture design and specification
• coding and testing
• delivery and deployment
• maintenance and evolution
• retirement
Software process model
• Attempt to organize the software life cycle by
• defining activities involved in software production
• order of activities and their relationships
• Goals of a software process
– standardization, predictability, productivity, high
product quality, ability to plan time and budget
requirements
Level 1 – Ad Hoc
Code&Fix
• The earliest approach
• Write code
• Fix it to eliminate any errors that have been
detected, to enhance existing functionality, or to
add new features
• Source of difficulties and
deficiencies
– impossible to predict
– impossible to manage
• JBF 
Models are needed
• Symptoms of inadequacy: the software
crisis
– scheduled time and cost exceeded
– user expectations not met
– poor quality
• The size and economic value of software
applications required appropriate "process
models"
Models are needed
Process model goals
(B. Boehm 1988)
“Determine the order of stages involved in
software development and evolution, and to
establish the transition criteria for progressing
from one stage to the next.
….
Thus a process model addresses the following
software project questions:
– What shall we do next?
– How long shall we continue to do it?"
Process as a "black box"
Product
Process
Informal
Requirements
Process as a "white box"
Product
Process
Informal
Requirements
feedback
Overview of software process
models
Level 2 - Repeatable
Waterfall models (1)
• Invented in the late 1950s for large air defense
systems, popularized in the 1970s
• They organize activities in a sequential flow
• Exist in many variants, all sharing sequential
flow style
Waterfall models (2)
• Organizations adopting them standardize
the outputs of the various phases
(deliverables)
• May also prescribe methods to follow in
each phase
– organization of methods in frameworks often
called methodology
• Example: Military Standard (MIL-STD-2167)
“If the computer program in question is being
developed for the first time, arrange matters so
that the version finally delivered to the customer is
actually the second version.”
Critical evaluation of the waterfall
model
+ software process subject to discipline,
planning, and management
+ postpone implementation to after
understanding objectives
– linear, rigid, monolithic
– no feedback
– no parallelism
– a single delivery date
Problems with waterfall
• Estimates made when limited knowledge
available
• Difficult to gather all requirements once and
for all
– users may not know what they want
– requirements cannot be frozen
Waterfall?
Example of list of documentation in a
waterfall project (DeGrace and Stahl)
• Original Problem Statement
• Options Analysis Document
• Cost-Benefit Analysis
Document
• Requirements document
• Preliminary Program Plan:
• Alternatives Analysis
Document
• Functional Specification
Document
• Preliminary Design
Document
• User's Guide
• Programmer's Guide
• User Test Plan
• User Training Plan
• Test Plan Outlines
• Test Reports
• Installation Plan
• ….
Alternatives – Sashimi
Alternatives – Staged Delivery
Level 3 - Defined
Evolutionary models
• Many variants available
• Product development evolves through
increments
– Evolutionary prototyping (McConnell)
– Evolutionary process model (B. Boehm, 1988)
Spiral Model (Boehm)
Incremental development
• Rather than deliver the system as a single
delivery, the development and delivery is broken
down into increments with each increment
delivering part of the required functionality
• User requirements are prioritised and the highest
priority requirements are included in early
increments
• Once the development of an increment is started,
the requirements are frozen though requirements
for later increments can continue to evolve
Level 4 - Managed
Unified Process
• Development of an OO system
• Uses the UML notation throughout the
process
• Supports an iterative and incremental process
• Decomposes a large process into controlled
iterations (mini projects)
• Different flavours available: UP, RUP, AUP,
UPEDU, EUP
Increment?
• Increment refers to the quantifiable outcome of
each iteration
• Increment has the obvious implication that there
should be more of something at the end of an
iteration than there was at the start.
• Incremental development is a staging and
scheduling strategy ‘’in which the various parts of
the system are developed at different times or
rates, and integrated as they are completed.’’
Iteration?
• Iteration refers to the cyclic nature of a
process in which activities are repeated in a
structured manner.
• Iterative development is a rework scheduling
strategy ‘’in which time is set aside to revise
and improve parts of the system.’’
RUP
Inception Elaboration ConstructionTransition
Iteration
CYCLE
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
PREPARATION
RELEASE
OnetoFour Weeks
Iterative and incremental
Product vs Process:
• Incremental fundamentally
means add onto.
Incremental development
helps you improve your
process.
• Iterative fundamentally
means re-do. Iterative
development helps you
improve your product.
In Code:
while ( project.isRunning() ) {
project.bugsFixed++;
project.featuresComplete++;
}
Distribution of workflows over
phases
Level 5 - Optimized
Remember waterfall?
Work together!
Agile methodologies
• A group of methodologies developed in the 90ties
• Addresses changes in industry: SE processes to sluggish for
quickly developing business processes
• Examples: Evo, Extreme Programming, Feature Driven
Development, Scrum, Smart
• Common features:
– Avoid big upfront design, requirements will change anyway
– Only address some priority features at a time
– Automate standard routines, in particular build and deployment
– Validate results automatically (automated testing)
– Design evolves, tool supported refactoring is used
Scrum
• Focus on softwaredevelopment without defining
phases and workproducts, only focus on
increments through sprints
• “Getting things done”
• Roles:
– Scrum Master
– Product Owner
– Teammember
• Ceremonies
• Especially useful for experienced developers
Scrum
Agile & UX
CYCLE
INTERFACEDESIGN
VISUALDESIGN
DEVELOPMENT
BUILD-OUT
TWOWEEKS
CYCLE
INTERFACEDESIGN
VISUALDESIGN
DEVELOPMENT
BUILD-OUT
TWOWEEKS
USER RESEARCH?
USER TESTING?
ORIGINAL THOUGHT?
Agile & UX
CYCLE
INTERFACEDESIGN
VISUALDESIGN/ BUILD-OUT
DEVELOPMENT
TWOWEEKS
Extreme programming
• Approach to development based on the
development and delivery of very small
increments of functionality
• Relies on constant code improvement, user
involvement in the development team and
pairwise programming
Extreme Programming
Extreme Programming
Smart
• Collection of lots of agile best practices
– Stand-ups
– Iterative and Incremental
– Describes workproducts and phases
– Planning poker
– Smart use cases and smart estimation
– On-site customer
Selection criteria for lifecycle models
Conclusion
Resources
• http://computerworld.nl/article/11491/wat-is-sdm.html
• http://www.infoq.com/news/2010/02/flavors-of-unified-process
• http://www.extremeprogramming.org/
• http://www.scrumalliance.org/learn_about_scrum
• http://www.accelerateddeliveryplatform.com/SmartIterationCycle.
ashx
• http://alistair.cockburn.us/Incremental+versus+iterative+developm
ent
• http://www.slideshare.net/whafro/design-and-ux-in-an-agile-
process-presentation
• McConnell, S. (1996). Rapid Development, Redmond: Microsoft
Press. ISBN 1-55615-900-5

Contenu connexe

Tendances

Tendances (20)

Unit1
Unit1Unit1
Unit1
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Ch 2 what is software quality
Ch 2 what is software qualityCh 2 what is software quality
Ch 2 what is software quality
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Rad model
Rad modelRad model
Rad model
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software process
Software processSoftware process
Software process
 
Unit 2
Unit 2Unit 2
Unit 2
 
Rad model
Rad modelRad model
Rad model
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Software design
Software designSoftware design
Software design
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 

Similaire à Software Process Models

Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.pptloloka1
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system developmentcymark09
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.pptNyamburaKinyua
 
Session2.ppt
Session2.pptSession2.ppt
Session2.pptMehuk1
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)EveryThing68
 

Similaire à Software Process Models (20)

Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
Software process models
Software process modelsSoftware process models
Software process models
 
Process models
Process modelsProcess models
Process models
 
Lect3 ch15-unit2
Lect3 ch15-unit2Lect3 ch15-unit2
Lect3 ch15-unit2
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 

Plus de Rody Middelkoop

Integration and Unit Testing in Java using Test Doubles like mocks and stubs
Integration and Unit Testing in Java using Test Doubles like mocks and stubsIntegration and Unit Testing in Java using Test Doubles like mocks and stubs
Integration and Unit Testing in Java using Test Doubles like mocks and stubsRody Middelkoop
 
An agile mindset in education
An agile mindset in education An agile mindset in education
An agile mindset in education Rody Middelkoop
 
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpakEduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpakRody Middelkoop
 
Pecha Kucha eduScrum Agile Education
Pecha Kucha eduScrum Agile EducationPecha Kucha eduScrum Agile Education
Pecha Kucha eduScrum Agile EducationRody Middelkoop
 
Unit Testing Android Applications
Unit Testing Android ApplicationsUnit Testing Android Applications
Unit Testing Android ApplicationsRody Middelkoop
 
Softwarekwaliteit in een ontwikkelstraat
Softwarekwaliteit in een ontwikkelstraatSoftwarekwaliteit in een ontwikkelstraat
Softwarekwaliteit in een ontwikkelstraatRody Middelkoop
 
JavaScript on the server - Node.js
JavaScript on the server - Node.jsJavaScript on the server - Node.js
JavaScript on the server - Node.jsRody Middelkoop
 
DDOA = Software Craftmanship
DDOA = Software CraftmanshipDDOA = Software Craftmanship
DDOA = Software CraftmanshipRody Middelkoop
 
Back to the Future: Onderwijs van 1991 tot 2031
Back to the Future: Onderwijs van 1991 tot 2031Back to the Future: Onderwijs van 1991 tot 2031
Back to the Future: Onderwijs van 1991 tot 2031Rody Middelkoop
 
Scrum implemented in an educational context
Scrum implemented in an educational contextScrum implemented in an educational context
Scrum implemented in an educational contextRody Middelkoop
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesRody Middelkoop
 
Scrum in informaticaonderwijs
Scrum in informaticaonderwijsScrum in informaticaonderwijs
Scrum in informaticaonderwijsRody Middelkoop
 
Saas: Software AND Service
Saas: Software AND ServiceSaas: Software AND Service
Saas: Software AND ServiceRody Middelkoop
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And DesignRody Middelkoop
 
Contract First Modeling Services Using Uml
Contract First Modeling Services Using UmlContract First Modeling Services Using Uml
Contract First Modeling Services Using UmlRody Middelkoop
 

Plus de Rody Middelkoop (19)

Integration and Unit Testing in Java using Test Doubles like mocks and stubs
Integration and Unit Testing in Java using Test Doubles like mocks and stubsIntegration and Unit Testing in Java using Test Doubles like mocks and stubs
Integration and Unit Testing in Java using Test Doubles like mocks and stubs
 
An agile mindset in education
An agile mindset in education An agile mindset in education
An agile mindset in education
 
Themalunch scrum
Themalunch scrumThemalunch scrum
Themalunch scrum
 
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpakEduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
 
Pecha Kucha eduScrum Agile Education
Pecha Kucha eduScrum Agile EducationPecha Kucha eduScrum Agile Education
Pecha Kucha eduScrum Agile Education
 
Unit Testing Android Applications
Unit Testing Android ApplicationsUnit Testing Android Applications
Unit Testing Android Applications
 
Softwarekwaliteit in een ontwikkelstraat
Softwarekwaliteit in een ontwikkelstraatSoftwarekwaliteit in een ontwikkelstraat
Softwarekwaliteit in een ontwikkelstraat
 
JavaScript on the server - Node.js
JavaScript on the server - Node.jsJavaScript on the server - Node.js
JavaScript on the server - Node.js
 
DDOA = Software Craftmanship
DDOA = Software CraftmanshipDDOA = Software Craftmanship
DDOA = Software Craftmanship
 
Back to the Future: Onderwijs van 1991 tot 2031
Back to the Future: Onderwijs van 1991 tot 2031Back to the Future: Onderwijs van 1991 tot 2031
Back to the Future: Onderwijs van 1991 tot 2031
 
Scrum implemented in an educational context
Scrum implemented in an educational contextScrum implemented in an educational context
Scrum implemented in an educational context
 
Ajax And JSON
Ajax And JSONAjax And JSON
Ajax And JSON
 
OO JavaScript
OO JavaScriptOO JavaScript
OO JavaScript
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use Cases
 
Scrum in informaticaonderwijs
Scrum in informaticaonderwijsScrum in informaticaonderwijs
Scrum in informaticaonderwijs
 
Saas: Software AND Service
Saas: Software AND ServiceSaas: Software AND Service
Saas: Software AND Service
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And Design
 
ORM JPA
ORM JPAORM JPA
ORM JPA
 
Contract First Modeling Services Using Uml
Contract First Modeling Services Using UmlContract First Modeling Services Using Uml
Contract First Modeling Services Using Uml
 

Dernier

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 

Dernier (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

Software Process Models

  • 1. The software production process Projectmanagement or software proces models?
  • 2. Goal • Choose the best process (or combination of processes) for your project.
  • 3. What is Project Management? • Project management encompasses all the activities needed to plan and execute a project: – Deciding what needs to be done – Estimating costs – Ensuring there are suitable people to undertake the project – Defining responsibilities – Scheduling – Making arrangements for the work – Describe and handle risks – continued ...
  • 4. Software Process Models • Software process models are general approaches for organizing a project into activities. – Helps to decide: • What work should be done; • In what sequence to perform the work. – The models should be seen as aids to thinking, not rigid prescriptions of the way to do things. – Each project ends up with its own unique plan.
  • 5.
  • 7. Life cycle • The life cycle of a software product – from inception of an idea for a product through • requirements gathering and analysis • architecture design and specification • coding and testing • delivery and deployment • maintenance and evolution • retirement
  • 8. Software process model • Attempt to organize the software life cycle by • defining activities involved in software production • order of activities and their relationships • Goals of a software process – standardization, predictability, productivity, high product quality, ability to plan time and budget requirements
  • 9. Level 1 – Ad Hoc
  • 10. Code&Fix • The earliest approach • Write code • Fix it to eliminate any errors that have been detected, to enhance existing functionality, or to add new features • Source of difficulties and deficiencies – impossible to predict – impossible to manage • JBF 
  • 11. Models are needed • Symptoms of inadequacy: the software crisis – scheduled time and cost exceeded – user expectations not met – poor quality • The size and economic value of software applications required appropriate "process models"
  • 13. Process model goals (B. Boehm 1988) “Determine the order of stages involved in software development and evolution, and to establish the transition criteria for progressing from one stage to the next. …. Thus a process model addresses the following software project questions: – What shall we do next? – How long shall we continue to do it?"
  • 14. Process as a "black box" Product Process Informal Requirements
  • 15. Process as a "white box" Product Process Informal Requirements feedback
  • 16. Overview of software process models
  • 17. Level 2 - Repeatable
  • 18. Waterfall models (1) • Invented in the late 1950s for large air defense systems, popularized in the 1970s • They organize activities in a sequential flow • Exist in many variants, all sharing sequential flow style
  • 19.
  • 20. Waterfall models (2) • Organizations adopting them standardize the outputs of the various phases (deliverables) • May also prescribe methods to follow in each phase – organization of methods in frameworks often called methodology • Example: Military Standard (MIL-STD-2167) “If the computer program in question is being developed for the first time, arrange matters so that the version finally delivered to the customer is actually the second version.”
  • 21. Critical evaluation of the waterfall model + software process subject to discipline, planning, and management + postpone implementation to after understanding objectives – linear, rigid, monolithic – no feedback – no parallelism – a single delivery date
  • 22. Problems with waterfall • Estimates made when limited knowledge available • Difficult to gather all requirements once and for all – users may not know what they want – requirements cannot be frozen
  • 24. Example of list of documentation in a waterfall project (DeGrace and Stahl) • Original Problem Statement • Options Analysis Document • Cost-Benefit Analysis Document • Requirements document • Preliminary Program Plan: • Alternatives Analysis Document • Functional Specification Document • Preliminary Design Document • User's Guide • Programmer's Guide • User Test Plan • User Training Plan • Test Plan Outlines • Test Reports • Installation Plan • ….
  • 27. Level 3 - Defined
  • 28. Evolutionary models • Many variants available • Product development evolves through increments – Evolutionary prototyping (McConnell) – Evolutionary process model (B. Boehm, 1988)
  • 30. Incremental development • Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality • User requirements are prioritised and the highest priority requirements are included in early increments • Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve
  • 31. Level 4 - Managed
  • 32. Unified Process • Development of an OO system • Uses the UML notation throughout the process • Supports an iterative and incremental process • Decomposes a large process into controlled iterations (mini projects) • Different flavours available: UP, RUP, AUP, UPEDU, EUP
  • 33. Increment? • Increment refers to the quantifiable outcome of each iteration • Increment has the obvious implication that there should be more of something at the end of an iteration than there was at the start. • Incremental development is a staging and scheduling strategy ‘’in which the various parts of the system are developed at different times or rates, and integrated as they are completed.’’
  • 34. Iteration? • Iteration refers to the cyclic nature of a process in which activities are repeated in a structured manner. • Iterative development is a rework scheduling strategy ‘’in which time is set aside to revise and improve parts of the system.’’
  • 37. Iterative and incremental Product vs Process: • Incremental fundamentally means add onto. Incremental development helps you improve your process. • Iterative fundamentally means re-do. Iterative development helps you improve your product. In Code: while ( project.isRunning() ) { project.bugsFixed++; project.featuresComplete++; }
  • 39. Level 5 - Optimized
  • 42. Agile methodologies • A group of methodologies developed in the 90ties • Addresses changes in industry: SE processes to sluggish for quickly developing business processes • Examples: Evo, Extreme Programming, Feature Driven Development, Scrum, Smart • Common features: – Avoid big upfront design, requirements will change anyway – Only address some priority features at a time – Automate standard routines, in particular build and deployment – Validate results automatically (automated testing) – Design evolves, tool supported refactoring is used
  • 43. Scrum • Focus on softwaredevelopment without defining phases and workproducts, only focus on increments through sprints • “Getting things done” • Roles: – Scrum Master – Product Owner – Teammember • Ceremonies • Especially useful for experienced developers
  • 44. Scrum
  • 46. Agile & UX CYCLE INTERFACEDESIGN VISUALDESIGN/ BUILD-OUT DEVELOPMENT TWOWEEKS
  • 47. Extreme programming • Approach to development based on the development and delivery of very small increments of functionality • Relies on constant code improvement, user involvement in the development team and pairwise programming
  • 50. Smart • Collection of lots of agile best practices – Stand-ups – Iterative and Incremental – Describes workproducts and phases – Planning poker – Smart use cases and smart estimation – On-site customer
  • 51. Selection criteria for lifecycle models
  • 53. Resources • http://computerworld.nl/article/11491/wat-is-sdm.html • http://www.infoq.com/news/2010/02/flavors-of-unified-process • http://www.extremeprogramming.org/ • http://www.scrumalliance.org/learn_about_scrum • http://www.accelerateddeliveryplatform.com/SmartIterationCycle. ashx • http://alistair.cockburn.us/Incremental+versus+iterative+developm ent • http://www.slideshare.net/whafro/design-and-ux-in-an-agile- process-presentation • McConnell, S. (1996). Rapid Development, Redmond: Microsoft Press. ISBN 1-55615-900-5