SlideShare a Scribd company logo
1 of 22
Essence and Accidents
in
Software Engineering
By
GHUFRAN JAMEEL HASAN
“I believe the hard part of building
software is the specification, design,
and testing of this conceptual
construct, not the labor or
representing it.”
NO SILVER BULLET
• Of all the monsters that fill the nightmares of our folklore, none terrify more
than werewolves, because they transform unexpectedly from the familiar into
horrors.
• Why a silver bullet?
• Silver is identified with the moon-A silver bullet offers the fastest, most
powerful, and safest way to slay the fast, powerful, and incredibly
dangerous werewolf
• Same fashion of familiar software project , at least as seen by the non-
technical manage.
NO SILVER BULLET (Cont..)
• Usually innocent and straightforward but is capable of becoming a
monster of
• Missed schedules
• Blown budge
• Flawed products
• We have no silver bullet that make software costs drop as rapidly as
computer hardware costs do.
NO SILVER BULLET (Cont..)
• Over decades, we see no silver bullet-no single development, that make
improvement in
• Productivity,
• Reliability and
• Simplicity
Essence and Accident in
Software Engineering
• All software construction involves Essential and accidental difficulties
• Software, at its core, has these essential difficulties:
• Complexity,
• Conformity,
• Changeability,
• Invisibility
Complexity
• Software is complex, even when done right.
• Combinatorial many states, syntax must be just so or else.
• Rich structure, interesting dependencies add to complexity.
• Accidental (as practiced) issues add to complexity.
• Efficient code is usually complicated code.
• Complex code is harder to evolve, results in design drift and even
more complexity.
Complexity(Cont..)
• Many problems of developing software products derive from this essential
complexity, due to complexity:
• Difficulty of communication among team members-results into product flaws, cost
overruns, and schedule delays
• Difficulty of enumerating, much less understanding unreliability
• Difficulty of invoking function- makes programs hard to use.
• Complexity of structure brings the difficulty of extending programs to new functions
without creating side effects
Conformity
• Software has to be made to agree to common interfaces,
protocols, standards, etc.
• Mostly standards for mastering complexity is arbitrary. Human
institutions and systems must conform these standards and interfaces
and they differ from
• Interface to interface, and from
• Time to time because
• They were designed by different people
Changeability
• To be successful is to be changed!
• Try to expect future unforeseen uses.
• Buildings can get changed- but the high costs of change
• Software product is found to be useful
• People try it in new cases at the edge of or beyond the original domain.
• The pressures for extended function come chiefly from users who like
the basic function and invent new uses for it.
Changeability(Cont..)
• In short, the software product is embedded in a cultural matrix of :
• Applications, users, laws, and machine vehicles.
• These all change continually, and their changes inexorably force
change upon the software product.
• In order to keep system flexible and marketable, Software is constantly
subject to pressures for change un like buildings, cars or computers
manufactured things are infrequently changed after manufacture.
• Essential changes incorporate in models, serial-no. copies of the same
basic design.
Changeability(Cont..)
• We change software because !
• It is easy to update existing systems in the field (in theory)
• We can undo changes if desired (in theory)
Invisibility
• Software is invisible and unvisualizable
• The floor plan of a building helps both architect and client evaluate
spaces, traffic flows, views. contradictions and omissions become
obvious.
• No geometrical representation like map of land, diagram of chips
• Although we can use various diagrams to help us visualize aspects of
software (control flow, data dependencies, OMT/UML)
• But that's NOT quite the same thing as, say, the blueprints of a
building.
Invisibility(Cont..)
• Still Unvisualizable ! Because..
• Even a progress in restricting and simplifying the structures of
software, they remain inherently unvisualizable, and thus do not
permit the mind to use some of its most powerful conceptual tools.
What about these Silver Bullets???
• HLLs
• Frees us from byte-level thinking (accidental complexity).
• IDE
• AI
-Certainly, AI techniques are useful in many application domains, but not
as a silver bullet to solve the SE prob.
• Graphical programming e.g UML, SDL, OOD
Promising attacks on conceptual essence
• Buy, don't build
• Requirements are the essence of a software system.
• Focusing on getting the requirements right is a direct attack on essential
problems.
• Rapid Prototyping:
• Take requirements, build mock up, show to user, analyze feedback, repeat.
• Early feedback means less chance for requirements errors (which are the
most expensive), fast turnaround in problem space to narrow
misunderstandings and educate customer.
Promising attacks on conceptual
essence(Cont..)
• Staged Delivery incremental development……
• Get a skeleton system up and running, flesh it out as you go.
• Helps to get developers feeling like system is real.
• They add their updates as they finish them.
• Microsoft (and many others) uses this approach; works well for them.
• Skillful Designers
• Find good people and keep them.
• Pay them well, encourage them.
• Above all, listen to them.
Promising attacks on conceptual
essence(Cont..)
• Skillful Designers
• However, “great software design” is mostly “pure” design (not
engineering); it’s an act of creativity and innovation balanced against
experience and good engineering.
• It’s impossible to teach.
There is no Royal Road,
but
there is a road
Good news!
We have made great headway in solving the accidental
problems!
Orders of magnitude improvements!
Bad news!
Progress on essential problems will be much slower going.
Will
Software Engineering
prove to be the silver bullet
that slays the
software productivity monster ?
Thank You

More Related Content

What's hot

Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java worldAshok Kumar
 
Programming team structure
Programming team structureProgramming team structure
Programming team structureNancyBeaulah_R
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Developmentdcsunu
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
GIT presentation
GIT presentationGIT presentation
GIT presentationNaim Latifi
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software CraftsmanshipSandro Mancuso
 

What's hot (20)

Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
SDLC
SDLCSDLC
SDLC
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Increment model
Increment modelIncrement model
Increment model
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
GIT presentation
GIT presentationGIT presentation
GIT presentation
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
software design
software designsoftware design
software design
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
 

Viewers also liked

No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1Maria Riaz
 
Eclipse Day India 2015 - Keynote - Stephan Herrmann
Eclipse Day India 2015 - Keynote - Stephan HerrmannEclipse Day India 2015 - Keynote - Stephan Herrmann
Eclipse Day India 2015 - Keynote - Stephan HerrmannEclipse Day India
 
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...Dimitris Dranidis
 
Get Functional on the CLR: Intro to Functional Programming with F#
Get Functional on the CLR: Intro to Functional Programming with F# Get Functional on the CLR: Intro to Functional Programming with F#
Get Functional on the CLR: Intro to Functional Programming with F# David Alpert
 
Overview of Software QA and What is Software Quality
Overview of Software QA and What is Software QualityOverview of Software QA and What is Software Quality
Overview of Software QA and What is Software QualityUniversity of Dhaka
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matricesPreeti Mishra
 
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of XamarinC# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of XamarinXamarin
 
Swift and Kotlin Presentation
Swift and Kotlin PresentationSwift and Kotlin Presentation
Swift and Kotlin PresentationAndrzej Sitek
 
An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesSAIL_QU
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineeringMark Turner CRP
 
Software Quality
Software QualitySoftware Quality
Software Qualitysjavaad
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliabilitydespicable me
 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New WaterfallNaresh Jain
 
Software quality
Software qualitySoftware quality
Software qualityjagadeesan
 
Silver Bullet: The 5 P's to unlock your digital agenda including the one most...
Silver Bullet: The 5 P's to unlock your digital agenda including the one most...Silver Bullet: The 5 P's to unlock your digital agenda including the one most...
Silver Bullet: The 5 P's to unlock your digital agenda including the one most...Aman Narain
 

Viewers also liked (17)

No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1
 
Eclipse Day India 2015 - Keynote - Stephan Herrmann
Eclipse Day India 2015 - Keynote - Stephan HerrmannEclipse Day India 2015 - Keynote - Stephan Herrmann
Eclipse Day India 2015 - Keynote - Stephan Herrmann
 
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
Get Ready for Agile Methods: How to manage constant and rapid change in IT pr...
 
Get Functional on the CLR: Intro to Functional Programming with F#
Get Functional on the CLR: Intro to Functional Programming with F# Get Functional on the CLR: Intro to Functional Programming with F#
Get Functional on the CLR: Intro to Functional Programming with F#
 
Overview of Software QA and What is Software Quality
Overview of Software QA and What is Software QualityOverview of Software QA and What is Software Quality
Overview of Software QA and What is Software Quality
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of XamarinC# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
 
Swift and Kotlin Presentation
Swift and Kotlin PresentationSwift and Kotlin Presentation
Swift and Kotlin Presentation
 
An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub Repositories
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
 
Software Quality
Software QualitySoftware Quality
Software Quality
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliability
 
Software quality
Software qualitySoftware quality
Software quality
 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
 
Software quality
Software qualitySoftware quality
Software quality
 
Kotlin
KotlinKotlin
Kotlin
 
Silver Bullet: The 5 P's to unlock your digital agenda including the one most...
Silver Bullet: The 5 P's to unlock your digital agenda including the one most...Silver Bullet: The 5 P's to unlock your digital agenda including the one most...
Silver Bullet: The 5 P's to unlock your digital agenda including the one most...
 

Similar to No silver bullet

No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringAditi Abhang
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an IntroductionAjit Nayak
 
Deep Dive into the Idea of Software Architecture
Deep Dive into the Idea of Software ArchitectureDeep Dive into the Idea of Software Architecture
Deep Dive into the Idea of Software ArchitectureMatthew Clarke
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.KelisKing
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for ArchitectsEberhard Wolff
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architektenadesso AG
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentZahid Hussain
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
Lec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptxLec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptxAbdullah Khan
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Michael Lamont
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringAchmad Solichin
 
Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemRogue Wave Software
 
Using Defensive Pessimism to Build Great Software at YML
Using Defensive Pessimism to Build Great Software at YMLUsing Defensive Pessimism to Build Great Software at YML
Using Defensive Pessimism to Build Great Software at YMLAdam_Talcott
 

Similar to No silver bullet (20)

No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software Engineering
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
 
Deep Dive into the Idea of Software Architecture
Deep Dive into the Idea of Software ArchitectureDeep Dive into the Idea of Software Architecture
Deep Dive into the Idea of Software Architecture
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
software engineering
software engineeringsoftware engineering
software engineering
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-development
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
Lec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptxLec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptx
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?
 
SE
SESE
SE
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded system
 
Using Defensive Pessimism to Build Great Software at YML
Using Defensive Pessimism to Build Great Software at YMLUsing Defensive Pessimism to Build Great Software at YML
Using Defensive Pessimism to Build Great Software at YML
 

More from Ghufran Hasan

Lab project manual version 2
Lab project manual version 2Lab project manual version 2
Lab project manual version 2Ghufran Hasan
 
Lab project manual version 1
Lab project manual version 1Lab project manual version 1
Lab project manual version 1Ghufran Hasan
 
Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)Ghufran Hasan
 
Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)Ghufran Hasan
 
Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432Ghufran Hasan
 
Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432Ghufran Hasan
 
Permutations and combinations
Permutations and combinationsPermutations and combinations
Permutations and combinationsGhufran Hasan
 
Fir registration system
Fir registration systemFir registration system
Fir registration systemGhufran Hasan
 
Dedicated fully parallel architecture
Dedicated fully parallel architectureDedicated fully parallel architecture
Dedicated fully parallel architectureGhufran Hasan
 

More from Ghufran Hasan (13)

Great personalities
Great personalitiesGreat personalities
Great personalities
 
Lab project manual version 2
Lab project manual version 2Lab project manual version 2
Lab project manual version 2
 
Lab project manual version 1
Lab project manual version 1Lab project manual version 1
Lab project manual version 1
 
VMware
VMware VMware
VMware
 
Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)
 
Ring counter
Ring counterRing counter
Ring counter
 
Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)Ahsan masood(11720) ghufran hassan(11432)
Ahsan masood(11720) ghufran hassan(11432)
 
Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432
 
Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432Ahsan Masood11720-Ghufran Hasan11432
Ahsan Masood11720-Ghufran Hasan11432
 
Permutations and combinations
Permutations and combinationsPermutations and combinations
Permutations and combinations
 
Fir registration system
Fir registration systemFir registration system
Fir registration system
 
Islam and internet
Islam and internetIslam and internet
Islam and internet
 
Dedicated fully parallel architecture
Dedicated fully parallel architectureDedicated fully parallel architecture
Dedicated fully parallel architecture
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 

No silver bullet

  • 1. Essence and Accidents in Software Engineering By GHUFRAN JAMEEL HASAN
  • 2. “I believe the hard part of building software is the specification, design, and testing of this conceptual construct, not the labor or representing it.”
  • 3. NO SILVER BULLET • Of all the monsters that fill the nightmares of our folklore, none terrify more than werewolves, because they transform unexpectedly from the familiar into horrors. • Why a silver bullet? • Silver is identified with the moon-A silver bullet offers the fastest, most powerful, and safest way to slay the fast, powerful, and incredibly dangerous werewolf • Same fashion of familiar software project , at least as seen by the non- technical manage.
  • 4. NO SILVER BULLET (Cont..) • Usually innocent and straightforward but is capable of becoming a monster of • Missed schedules • Blown budge • Flawed products • We have no silver bullet that make software costs drop as rapidly as computer hardware costs do.
  • 5. NO SILVER BULLET (Cont..) • Over decades, we see no silver bullet-no single development, that make improvement in • Productivity, • Reliability and • Simplicity
  • 6. Essence and Accident in Software Engineering • All software construction involves Essential and accidental difficulties • Software, at its core, has these essential difficulties: • Complexity, • Conformity, • Changeability, • Invisibility
  • 7. Complexity • Software is complex, even when done right. • Combinatorial many states, syntax must be just so or else. • Rich structure, interesting dependencies add to complexity. • Accidental (as practiced) issues add to complexity. • Efficient code is usually complicated code. • Complex code is harder to evolve, results in design drift and even more complexity.
  • 8. Complexity(Cont..) • Many problems of developing software products derive from this essential complexity, due to complexity: • Difficulty of communication among team members-results into product flaws, cost overruns, and schedule delays • Difficulty of enumerating, much less understanding unreliability • Difficulty of invoking function- makes programs hard to use. • Complexity of structure brings the difficulty of extending programs to new functions without creating side effects
  • 9. Conformity • Software has to be made to agree to common interfaces, protocols, standards, etc. • Mostly standards for mastering complexity is arbitrary. Human institutions and systems must conform these standards and interfaces and they differ from • Interface to interface, and from • Time to time because • They were designed by different people
  • 10. Changeability • To be successful is to be changed! • Try to expect future unforeseen uses. • Buildings can get changed- but the high costs of change • Software product is found to be useful • People try it in new cases at the edge of or beyond the original domain. • The pressures for extended function come chiefly from users who like the basic function and invent new uses for it.
  • 11. Changeability(Cont..) • In short, the software product is embedded in a cultural matrix of : • Applications, users, laws, and machine vehicles. • These all change continually, and their changes inexorably force change upon the software product. • In order to keep system flexible and marketable, Software is constantly subject to pressures for change un like buildings, cars or computers manufactured things are infrequently changed after manufacture. • Essential changes incorporate in models, serial-no. copies of the same basic design.
  • 12. Changeability(Cont..) • We change software because ! • It is easy to update existing systems in the field (in theory) • We can undo changes if desired (in theory)
  • 13. Invisibility • Software is invisible and unvisualizable • The floor plan of a building helps both architect and client evaluate spaces, traffic flows, views. contradictions and omissions become obvious. • No geometrical representation like map of land, diagram of chips • Although we can use various diagrams to help us visualize aspects of software (control flow, data dependencies, OMT/UML) • But that's NOT quite the same thing as, say, the blueprints of a building.
  • 14. Invisibility(Cont..) • Still Unvisualizable ! Because.. • Even a progress in restricting and simplifying the structures of software, they remain inherently unvisualizable, and thus do not permit the mind to use some of its most powerful conceptual tools.
  • 15. What about these Silver Bullets??? • HLLs • Frees us from byte-level thinking (accidental complexity). • IDE • AI -Certainly, AI techniques are useful in many application domains, but not as a silver bullet to solve the SE prob. • Graphical programming e.g UML, SDL, OOD
  • 16. Promising attacks on conceptual essence • Buy, don't build • Requirements are the essence of a software system. • Focusing on getting the requirements right is a direct attack on essential problems. • Rapid Prototyping: • Take requirements, build mock up, show to user, analyze feedback, repeat. • Early feedback means less chance for requirements errors (which are the most expensive), fast turnaround in problem space to narrow misunderstandings and educate customer.
  • 17. Promising attacks on conceptual essence(Cont..) • Staged Delivery incremental development…… • Get a skeleton system up and running, flesh it out as you go. • Helps to get developers feeling like system is real. • They add their updates as they finish them. • Microsoft (and many others) uses this approach; works well for them. • Skillful Designers • Find good people and keep them. • Pay them well, encourage them. • Above all, listen to them.
  • 18. Promising attacks on conceptual essence(Cont..) • Skillful Designers • However, “great software design” is mostly “pure” design (not engineering); it’s an act of creativity and innovation balanced against experience and good engineering. • It’s impossible to teach.
  • 19. There is no Royal Road, but there is a road
  • 20. Good news! We have made great headway in solving the accidental problems! Orders of magnitude improvements! Bad news! Progress on essential problems will be much slower going.
  • 21. Will Software Engineering prove to be the silver bullet that slays the software productivity monster ?