SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Advanced development methodologies
McGill ECSE 428
Software Engineering Practice
Radu Negulescu
Winter 2004
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 2
About this module
Here we discuss some of the current trends in software engineering and
what to expect of them
Outline
• Tool adoption: “No silver bullets”
• Software standards
• Agile vs. plan-driven methods
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 3
No silver bullets
Frederick P. Brooks, Jr.:
• Turing award 1999
“For landmark contributions to computer architecture, operating systems,
and software engineering”
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 4
No silver bullets
Prediction: no single technology or tool can yield 10x productivity
improvements over 10 years (1986-1996)
• This works down to 25% per year [McConnell]
• Brooks was right...
• High-level languages, structured methods had already been invented!
• Combined effect still possible
Is there anything that really makes a difference?
• Make it easier to formulate concepts!
A computer program: “a set of interlocking concepts”
Precise, rich with detail
• Specifications are the key
A hierarchy of abstractions
Can be processed automatically
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 5
Software standards
ISO 9000 and related
CMM and related
IEEE standards
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 6
ISO 9000 and related
Problem: you need a quality system to ensure quality of final product,
accountability for failures
• Required by many government and industry customers
• Network of interrelated processes: meet requirements, be
documented and practiced
• Organizational structure, procedures, resources
• Quality planning, control, assurance, improvement
• Documents
ISO 9001: 20 generic requirements, applicable to software engineering
ISO 9000-3: guidelines to interpret the standard in the context of software
• ISO 9001 topics: management responsibility, quality system, contract
review, design control, document and data control, product
identification and traceability, process control, inspection and testing,
corrective and preventive action, control of quality records, internal
quality audits, training, servicing, statistical techniques.
Establish local policies and procedures for the above
Demonstrate that they are actually followed
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 7
SW-CMM
Capability Maturity Model
• Framework for evaluating the maturity of a software-production
organization
• Sets priorities for process improvement
• Origin: CMU SEI
Paulk et al. document, linked from course site
• Extension: CMMI
Five levels
• Initial
• Repeatable
• Defined
• Managed
• Optimizing
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 8
SW-CMM
Level 2: Repeatable
• Requirements management
• Project planning
• Project tracking and oversight
• Subcontract management
• Quality assurance
• Configuration management
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 9
SW-CMM
Level 3: Defined
• Organization process focus (process team)
• Organization process definition (standard model + tailoring
guidelines)
• Training program
• Integrated software management
• Software product engineering
• Intergroup coordination
• Peer reviews
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 10
SW-CMM
Level 4: Managed
• Quantitative process management (defined metrics, project database)
• Quality management (quality goals and monitoring)
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 11
SW-CMM
Level 5: Optimized
• Defect prevention (use past metrics info)
• Technology change management (investigate and propagate)
• Process change management (constant refinement)
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 12
Agile vs. plan-driven methods
Agile principles
• Early and frequent delivery; measure progress by working software
• Accommodate and harness change
• Frequent interaction of business and development
• Motivated individuals, face-to-face conversation, sustainable
development
• Simplicity, technical excellence, good design
• Continual improvement of team behavior
Agile – plan-driven spectrum [Barry Boehm]
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 13
Extreme programming
A new and somewhat controversial process model
• Lightweight, but highly disciplined!
• Assumption: high cost of change can be flattened
• Take commonsense practices to “extreme” levels
Basic activities
• Coding
• Testing
• Listening
• Designing
Values
• Communication
• Simplicity
• Feedback
• Courage
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 14
Extreme programming
12 main practices
• Planning game
• Small releases
• Metaphor
• Simple design
• Testing
• Refactoring
• Pair programming
• Collective ownership
• Continuous integration
• 40-hour week
• On-site customer
• Coding standards
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 15
Class activity
Evaluate the maturity of an organization that follows XP
[after M.C. Paulk]
Satisfac
tion
PCM
TCM
DP
Level 5
KPAs
PR
ICSCM
SPESQA
ISMSSM
TPSPTO
SQMOPDSPP
QPMOPFRM
Satisfac
tion
Level 4
KPAs
Satisfac
tion
Level 3
KPAs
Satisfac
tion
Level 2
KPAs
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 16
Rational Unified Process
Four phases, orthogonal to the development cycle:
• Inception: concept exploration
• Elaboration: project planning, resource allocation
• Construction: several iterations
• Transition: installation and post-development
McGill University ECSE 428 © 2004 Radu Negulescu
Software Engineering Practice Advanced development methodologies—Slide 17
References
CMM and related
• Jalote 1.2
• CMM documents collection http://www.sei.cmu.edu/cmm/obtain.cmm.html
• CMMI http://www.sei.cmu.edu/cmmi/
ISO 9000, 9001, 9000-3
• R. S. Pressmann: “Software Engineering, A Practitioner’s Approach”, 5th ed.,
2001 – section 8.10
• IEEE Xplore on-line library
No Silver Bullets
• F. Brooks: “No Silver Bullets - Essence and Accidents of Software
Engineering”, Computer, 1986.
• F. Brooks: “The Mythical Man-Month” (1975, 1995)
Software processes
• P. Kruchten, “The Rational Unified Process - An Introduction”, Addison-Wesley,
1998
• K. Beck, “Extreme Programming Explained – Embrace Change” Addison-
Wesley, 2000

Más contenido relacionado

La actualidad más candente

10 Unex SFIC 2009
10 Unex SFIC 200910 Unex SFIC 2009
10 Unex SFIC 2009Pepe
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)Syed Muhammad Hammad
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering processKanchanPatil34
 
Software engineering 3 software process
Software engineering 3 software processSoftware engineering 3 software process
Software engineering 3 software processVaibhav Khanna
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project managementmeena466141
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLCShwetha-BA
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Presentation on Software process improvement in GSD
Presentation on Software process improvement in GSDPresentation on Software process improvement in GSD
Presentation on Software process improvement in GSDRafi Ullah
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02Asifuzzaman Hridoy
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spmmeena466141
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phasesmeena466141
 
Software Engineering - Lecture 01
Software Engineering - Lecture 01Software Engineering - Lecture 01
Software Engineering - Lecture 01Asifuzzaman Hridoy
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life CycleHem Pokhrel
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 

La actualidad más candente (20)

10 Unex SFIC 2009
10 Unex SFIC 200910 Unex SFIC 2009
10 Unex SFIC 2009
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
Software Process Improvement - RKREDDY
Software Process Improvement - RKREDDYSoftware Process Improvement - RKREDDY
Software Process Improvement - RKREDDY
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering process
 
RRC CMM CMMI
RRC CMM CMMIRRC CMM CMMI
RRC CMM CMMI
 
Software engineering 3 software process
Software engineering 3 software processSoftware engineering 3 software process
Software engineering 3 software process
 
Spm unit 2
Spm unit 2Spm unit 2
Spm unit 2
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project management
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLC
 
Slides chapters 21-23
Slides chapters 21-23Slides chapters 21-23
Slides chapters 21-23
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Presentation on Software process improvement in GSD
Presentation on Software process improvement in GSDPresentation on Software process improvement in GSD
Presentation on Software process improvement in GSD
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spm
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phases
 
Software Engineering - Lecture 01
Software Engineering - Lecture 01Software Engineering - Lecture 01
Software Engineering - Lecture 01
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 

Similar a Software Engineering Practice - Advanced Development Methodologies

Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsRadu_Negulescu
 
software-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdfsoftware-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdfSUDHEER REDDY BANDI
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback systemmsandbhor
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementRadu_Negulescu
 
Lecture 01 Software Process Maturity.pptx
Lecture 01 Software Process Maturity.pptxLecture 01 Software Process Maturity.pptx
Lecture 01 Software Process Maturity.pptxGetahuntigistu5
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Software Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationSoftware Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationRadu_Negulescu
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptKENNEDYDONATO1
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering PracticeTrinity Dwarka
 
eUnit 2 software process model
eUnit 2  software process modeleUnit 2  software process model
eUnit 2 software process modelPreeti Mishra
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 

Similar a Software Engineering Practice - Advanced Development Methodologies (20)

Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
 
IEEE 12207
IEEE 12207IEEE 12207
IEEE 12207
 
software-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdfsoftware-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdf
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Software Mangineeringment
Software MangineeringmentSoftware Mangineeringment
Software Mangineeringment
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality Management
 
Lecture 01 Software Process Maturity.pptx
Lecture 01 Software Process Maturity.pptxLecture 01 Software Process Maturity.pptx
Lecture 01 Software Process Maturity.pptx
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Software Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationSoftware Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and Estimation
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering Practice
 
eUnit 2 software process model
eUnit 2  software process modeleUnit 2  software process model
eUnit 2 software process model
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Sysdev
SysdevSysdev
Sysdev
 

Más de Radu_Negulescu

Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
 
Final Exam Solutions Fall02
Final Exam Solutions Fall02Final Exam Solutions Fall02
Final Exam Solutions Fall02Radu_Negulescu
 
Final Exam Questions Fall03
Final Exam Questions Fall03Final Exam Questions Fall03
Final Exam Questions Fall03Radu_Negulescu
 
Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03Radu_Negulescu
 
Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02Radu_Negulescu
 
Intro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingIntro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingRadu_Negulescu
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
 
Intro to Software Engineering - Software Design
Intro to Software Engineering - Software DesignIntro to Software Engineering - Software Design
Intro to Software Engineering - Software DesignRadu_Negulescu
 
Intro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignIntro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignRadu_Negulescu
 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisRadu_Negulescu
 
Intro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsIntro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsRadu_Negulescu
 
Software Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business BasicsSoftware Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business BasicsRadu_Negulescu
 
Software Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementSoftware Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementRadu_Negulescu
 

Más de Radu_Negulescu (13)

Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Final Exam Solutions Fall02
Final Exam Solutions Fall02Final Exam Solutions Fall02
Final Exam Solutions Fall02
 
Final Exam Questions Fall03
Final Exam Questions Fall03Final Exam Questions Fall03
Final Exam Questions Fall03
 
Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03
 
Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02
 
Intro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingIntro to Software Engineering - Software Testing
Intro to Software Engineering - Software Testing
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Intro to Software Engineering - Software Design
Intro to Software Engineering - Software DesignIntro to Software Engineering - Software Design
Intro to Software Engineering - Software Design
 
Intro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignIntro to Software Engineering - Module Design
Intro to Software Engineering - Module Design
 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements Analysis
 
Intro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsIntro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding Standards
 
Software Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business BasicsSoftware Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business Basics
 
Software Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementSoftware Engineering Practice - Configuration management
Software Engineering Practice - Configuration management
 

Último

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Software Engineering Practice - Advanced Development Methodologies

  • 1. Advanced development methodologies McGill ECSE 428 Software Engineering Practice Radu Negulescu Winter 2004
  • 2. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 2 About this module Here we discuss some of the current trends in software engineering and what to expect of them Outline • Tool adoption: “No silver bullets” • Software standards • Agile vs. plan-driven methods
  • 3. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 3 No silver bullets Frederick P. Brooks, Jr.: • Turing award 1999 “For landmark contributions to computer architecture, operating systems, and software engineering”
  • 4. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 4 No silver bullets Prediction: no single technology or tool can yield 10x productivity improvements over 10 years (1986-1996) • This works down to 25% per year [McConnell] • Brooks was right... • High-level languages, structured methods had already been invented! • Combined effect still possible Is there anything that really makes a difference? • Make it easier to formulate concepts! A computer program: “a set of interlocking concepts” Precise, rich with detail • Specifications are the key A hierarchy of abstractions Can be processed automatically
  • 5. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 5 Software standards ISO 9000 and related CMM and related IEEE standards
  • 6. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 6 ISO 9000 and related Problem: you need a quality system to ensure quality of final product, accountability for failures • Required by many government and industry customers • Network of interrelated processes: meet requirements, be documented and practiced • Organizational structure, procedures, resources • Quality planning, control, assurance, improvement • Documents ISO 9001: 20 generic requirements, applicable to software engineering ISO 9000-3: guidelines to interpret the standard in the context of software • ISO 9001 topics: management responsibility, quality system, contract review, design control, document and data control, product identification and traceability, process control, inspection and testing, corrective and preventive action, control of quality records, internal quality audits, training, servicing, statistical techniques. Establish local policies and procedures for the above Demonstrate that they are actually followed
  • 7. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 7 SW-CMM Capability Maturity Model • Framework for evaluating the maturity of a software-production organization • Sets priorities for process improvement • Origin: CMU SEI Paulk et al. document, linked from course site • Extension: CMMI Five levels • Initial • Repeatable • Defined • Managed • Optimizing
  • 8. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 8 SW-CMM Level 2: Repeatable • Requirements management • Project planning • Project tracking and oversight • Subcontract management • Quality assurance • Configuration management
  • 9. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 9 SW-CMM Level 3: Defined • Organization process focus (process team) • Organization process definition (standard model + tailoring guidelines) • Training program • Integrated software management • Software product engineering • Intergroup coordination • Peer reviews
  • 10. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 10 SW-CMM Level 4: Managed • Quantitative process management (defined metrics, project database) • Quality management (quality goals and monitoring)
  • 11. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 11 SW-CMM Level 5: Optimized • Defect prevention (use past metrics info) • Technology change management (investigate and propagate) • Process change management (constant refinement)
  • 12. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 12 Agile vs. plan-driven methods Agile principles • Early and frequent delivery; measure progress by working software • Accommodate and harness change • Frequent interaction of business and development • Motivated individuals, face-to-face conversation, sustainable development • Simplicity, technical excellence, good design • Continual improvement of team behavior Agile – plan-driven spectrum [Barry Boehm]
  • 13. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 13 Extreme programming A new and somewhat controversial process model • Lightweight, but highly disciplined! • Assumption: high cost of change can be flattened • Take commonsense practices to “extreme” levels Basic activities • Coding • Testing • Listening • Designing Values • Communication • Simplicity • Feedback • Courage
  • 14. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 14 Extreme programming 12 main practices • Planning game • Small releases • Metaphor • Simple design • Testing • Refactoring • Pair programming • Collective ownership • Continuous integration • 40-hour week • On-site customer • Coding standards
  • 15. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 15 Class activity Evaluate the maturity of an organization that follows XP [after M.C. Paulk] Satisfac tion PCM TCM DP Level 5 KPAs PR ICSCM SPESQA ISMSSM TPSPTO SQMOPDSPP QPMOPFRM Satisfac tion Level 4 KPAs Satisfac tion Level 3 KPAs Satisfac tion Level 2 KPAs
  • 16. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 16 Rational Unified Process Four phases, orthogonal to the development cycle: • Inception: concept exploration • Elaboration: project planning, resource allocation • Construction: several iterations • Transition: installation and post-development
  • 17. McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Advanced development methodologies—Slide 17 References CMM and related • Jalote 1.2 • CMM documents collection http://www.sei.cmu.edu/cmm/obtain.cmm.html • CMMI http://www.sei.cmu.edu/cmmi/ ISO 9000, 9001, 9000-3 • R. S. Pressmann: “Software Engineering, A Practitioner’s Approach”, 5th ed., 2001 – section 8.10 • IEEE Xplore on-line library No Silver Bullets • F. Brooks: “No Silver Bullets - Essence and Accidents of Software Engineering”, Computer, 1986. • F. Brooks: “The Mythical Man-Month” (1975, 1995) Software processes • P. Kruchten, “The Rational Unified Process - An Introduction”, Addison-Wesley, 1998 • K. Beck, “Extreme Programming Explained – Embrace Change” Addison- Wesley, 2000