Challenges in Building Great Software

A view from the research university
CSE 110 – Software Engineering
 
Professor
Gregory Kesden
 
Course Staff
Rishabh Misra
Daniel Pan
More coming soon!
 
1
 
 
Rishabh Misra
Daniel Pan
Software Runs 
Everything
 
Software connects us
Software protects us
Software cures us
Software entertains us
Software is everywhere
Software is in everything
Software is important
 
2
The global software
market had total
revenues of $292.9
billion in 2011.
 
-- MarketLine
But Building Great Software is Hard
 
2/3 of projects 
late
 
[TATA]
1/4 of all projects 
cancelled
 [Standish]
1/2 run 
over budget
 [Tata, SGR CACM]
3
http://www.galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help.php
Why?  Scale
Gibbs, Software’s Chronic Crisis, 
Sci. Am.
, Sept. 1994
 
Users want more and more features
And Released Software is Buggy
5
http://www.zdnet.com/blog/projectfailures/worldwide-cost-of-it-failure-6-2-trillion/7627
Important + Late = Disaster
 
Allstate set out in 1982 to automate all of its office
operations. They set a 5-year timetable and an $8
million budget.
Six years and $15 million later, Allstate set a new
deadline and readjusted its sights on a new
budget of $100 million.
 
6
from 
Rapid Development, 
McConnell
Important + Buggy = Disaster
 
Therac-25 Radiation Machine (“An Investigation of the
Therac-25 Accidents”, Leveson)
On June 3, 1985, the patient was set up for a 10-MeV
electron treatment to the clavicle area. When the
machine turned on, she felt a "tremendous force of heat .
. . this red-hot sensation.”…she developed a reddening
and swelling in the center of the treatment area. Her pain
had increased to the point that her shoulder “froze”.
…But her oncologists continued to send her [for] Therac-25
treatments….the physicist at Kennestone noticed that the
patient had a matching reddening on her back as though
a burn had gone through her body, and the swollen area
had begun to slough off layers of skin.
She had received a 100x excess dose
.
7
S.E. Practices Make a Difference
 
Rework Cost
(% of total)
 
Productivity
Increase (%)
In this class you will learn the:
 
Why
What
and How
Of great software development
9
Best SE Book in the World
 
10
 
Buy it.
Best Design Patterns Book in the World
 
11
 
Buy it.
“Fast, good, and cheap: pick any two”
 
12
 
http://en.wikipedia.org/wiki/Project_management_triangle
 
Tradeoffs sometimes come in more than two variables
Or you can “solve” a two-variable tradeoff by adding a third
variable (such as cost)
 
This triangle has a couple of names:
Project management triangle
Iron triangle
 
http://agilebench.com/blog/the-surprising-thing-about-quality-in-agile-projects
What is “Software Engineering”
 
What is “Software”?
What is “Engineering”?
What does it mean to be an “Engineer”?
 
13
What is “Software”?
 
Okay. We know this one!
A product that results from a computer
program.
It isn’t the code, itself, but what is realized once
the code is actually running
 
14
What is “Engineering”?
 
We’ve got this, intuitively.
The use of well-accepted and well-understood
methodology to apply science and technology
to the design and analysis of individual products
or systems.
It is worth noting that methodology includes
tools, techniques, and processes, etc.
 
15
Who is an “Engineer”?
 
We’ve also got this!
An engineer is someone who uses science and
technology to design and/or develop products,
but who is uniquely characterized among other
developers by the use of a well-accepted and
well-understood methodological, process-
oriented approach.
 
16
Well-Understood? Well-Accepted?
 
It is important that the methodology be well
understood and well-accepted because it
enables communication and inspires
confidence
Lessons are learned over time. Best practices
leverage this.
All other things being equal, projects are more
successful when the methodology is well-understood
and accepted by everyone. Being on the same
page improves communication, coordination, etc.
 
17
Is there One Right Way?
 
Want to remodel kitchen
One contractors process:
I understand what you want: Give me $30,000 and I’ll build it.
Another contractor’s process:
Let me create a drawing, show it to you, and make sure we’re on the same
page.
Then, let me add the fine details we didn’t discuss, and get your feedback
and approval.
Then, let me put together a project plan, scheduling the trades
(electricians, plumbers, HVAC mechanics, etc), and make sure it makes
sense to you.
Then, let me put the project out for bids, pick the best bid in each category,
and review it with you, to make sure you like the details of how the projects
will proceed.
Let me show you the final schedule, including city inspections – and your
inspections – to make sure that you are happy every step of the way, and if
not, we can fix it before it gets too expensive to undo.
Let’s also talk about the final walk-through and acceptance checklist
Does this make sense? Can I get a down payment?
 
18
Is there one right way?
 
A faucet is leaking
One contractor’s approach
I’m going to replace the washer and tighten the screws. If it doesn’t
stop, I’m going to replace it.
Another contractor’s approach:
I’m going to gather the original design documents and specifications
for the faucet, including the envioronmental and part tolerances.
I’m going to measure th air pressure and water pressure, opening
and closing windows and turning other devices on-and-off to
determine if the air pressure, water pressure, and pressure differences
are within spec.
I’m going to disassemble the faucet, measure each part, and
compare it to the spec, to see which, if any parts, are out of
tolerance.
I’m going to computer the system deviation and compare it to the
system tolerance, to determine if there is a tolerance stacking issue.
I’m going to optimize to determine the minimum cost environmental
or faucet mitigations to make to correct the leak
I’m going to make or cause these mitigations be made.
 
19
The Right Way?
 
Depends upon many factors:
Clarity and stability of requirements
Time to delivery and cost of delay
Cost of failure
Cost of R&D iteration
Complexity/Interactions within product/ecosystem
 
20
Examples
 
Software embedded in a satellite orbiting earth
Software managing an aircraft’s flight controls
Software in a pacemaker or implanted defibrillator
Algorithm for high-frequency trading
Multi-user networked game
Enterprise information management application
Word processor
Single-Player game
Mobile-phone flashlight app
Air-traffic control airspace management software
 
 
21
Human Users
 
Not really a part of this class, but worth mentioning now
Humans are a critical element of any human-facing
system
Story of the 
Satori (boat caught in hurricane): 
People are part of
a system and affect its capability
Engine loss at takeoff: Automation and pilot perception
CA Flight 3407 stick shaker and pusher: What is intuitive?
Password rules and 3M notes: Security and Human Fsactors
UPMC hospital software: Tuning for the situation time, and
people
Robots respecting conventions and anticipating people to
interact smoothly with people
User-experience, HCI, Usability, User-testing
Critically important specializations for any human-facing system
 
22
Slide Note
Embed
Share

Building great software is essential, yet challenging due to project delays, cancellations, and budget overruns. The increasing demand for features, along with the prevalence of software bugs, contributes to the difficulty. Case studies like Allstate's automation project and the Therac-25 radiation machine accidents showcase the catastrophic consequences of late or buggy software releases. Adopting software engineering practices can significantly reduce rework costs and enhance productivity in software development.

  • Software Development
  • Challenges
  • Bugs
  • Project Management
  • Automation

Uploaded on Sep 25, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Daniel Pan CSE 110 Software Engineering A view from the research university Professor Gregory Kesden Course Staff Rishabh Misra Daniel Pan More coming soon! 1

  2. Software Runs Everything Software connects us Software protects us Software cures us Software entertains us Software is everywhere The global software market had total revenues of $292.9 billion in 2011. -- MarketLine Software is in everything Software is important 2

  3. But Building Great Software is Hard 2/3 of projects late [TATA] 1/4 of all projects cancelled [Standish] 1/2 run over budget [Tata, SGR CACM] http://www.galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help.php 3

  4. Why? Scale Users want more and more features Gibbs, Software s Chronic Crisis, Sci. Am., Sept. 1994

  5. And Released Software is Buggy http://www.zdnet.com/blog/projectfailures/worldwide-cost-of-it-failure-6-2-trillion/7627 5

  6. Important + Late = Disaster Allstate set out in 1982 to automate all of its office operations. They set a 5-year timetable and an $8 million budget. Six years and $15 million later, Allstate set a new deadline and readjusted its sights on a new budget of $100 million. from Rapid Development, McConnell 6

  7. Important + Buggy = Disaster Therac-25 Radiation Machine ( An Investigation of the Therac-25 Accidents , Leveson) On June 3, 1985, the patient was set up for a 10-MeV electron treatment to the clavicle area. When the machine turned on, she felt a "tremendous force of heat . . . this red-hot sensation. she developed a reddening and swelling in the center of the treatment area. Her pain had increased to the point that her shoulder froze . But her oncologists continued to send her [for] Therac-25 treatments .the physicist at Kennestone noticed that the patient had a matching reddening on her back as though a burn had gone through her body, and the swollen area had begun to slough off layers of skin. She had received a 100x excess dose. 7

  8. S.E. Practices Make a Difference Rework Cost (% of total) Productivity Increase (%)

  9. In this class you will learn the: Why What and How Of great software development 9

  10. Best SE Book in the World Buy it. 10

  11. Best Design Patterns Book in the World Buy it. 11

  12. What is Software Engineering What is Software ? What is Engineering ? What does it mean to be an Engineer ? 13

  13. What is Software? Okay. We know this one! A product that results from a computer program. It isn t the code, itself, but what is realized once the code is actually running 14

  14. What is Engineering? We ve got this, intuitively. The use of well-accepted and well-understood methodology to apply science and technology to the design and analysis of individual products or systems. It is worth noting that methodology includes tools, techniques, and processes, etc. 15

  15. Who is an Engineer? We ve also got this! An engineer is someone who uses science and technology to design and/or develop products, but who is uniquely characterized among other developers by the use of a well-accepted and well-understood methodological, process- oriented approach. 16

  16. Well-Understood? Well-Accepted? It is important that the methodology be well understood and well-accepted because it enables communication and inspires confidence Lessons are learned over time. Best practices leverage this. All other things being equal, projects are more successful when the methodology is well-understood and accepted by everyone. Being on the same page improves communication, coordination, etc. 17

  17. Is there One Right Way? Want to remodel kitchen One contractors process: I understand what you want: Give me $30,000 and I ll build it. Another contractor s process: Let me create a drawing, show it to you, and make sure we re on the same page. Then, let me add the fine details we didn t discuss, and get your feedback and approval. Then, let me put together a project plan, scheduling the trades (electricians, plumbers, HVAC mechanics, etc), and make sure it makes sense to you. Then, let me put the project out for bids, pick the best bid in each category, and review it with you, to make sure you like the details of how the projects will proceed. Let me show you the final schedule, including city inspections and your inspections to make sure that you are happy every step of the way, and if not, we can fix it before it gets too expensive to undo. Let s also talk about the final walk-through and acceptance checklist Does this make sense? Can I get a down payment? 18

  18. Is there one right way? A faucet is leaking One contractor s approach I m going to replace the washer and tighten the screws. If it doesn t stop, I m going to replace it. Another contractor s approach: I m going to gather the original design documents and specifications for the faucet, including the envioronmental and part tolerances. I m going to measure th air pressure and water pressure, opening and closing windows and turning other devices on-and-off to determine if the air pressure, water pressure, and pressure differences are within spec. I m going to disassemble the faucet, measure each part, and compare it to the spec, to see which, if any parts, are out of tolerance. I m going to computer the system deviation and compare it to the system tolerance, to determine if there is a tolerance stacking issue. I m going to optimize to determine the minimum cost environmental or faucet mitigations to make to correct the leak I m going to make or cause these mitigations be made. 19

  19. The Right Way? Depends upon many factors: Clarity and stability of requirements Time to delivery and cost of delay Cost of failure Cost of R&D iteration Complexity/Interactions within product/ecosystem 20

  20. Examples Software embedded in a satellite orbiting earth Software managing an aircraft s flight controls Software in a pacemaker or implanted defibrillator Algorithm for high-frequency trading Multi-user networked game Enterprise information management application Word processor Single-Player game Mobile-phone flashlight app Air-traffic control airspace management software 21

  21. Human Users Not really a part of this class, but worth mentioning now Humans are a critical element of any human-facing system Story of the Satori (boat caught in hurricane): People are part of a system and affect its capability Engine loss at takeoff: Automation and pilot perception CA Flight 3407 stick shaker and pusher: What is intuitive? Password rules and 3M notes: Security and Human Fsactors UPMC hospital software: Tuning for the situation time, and people Robots respecting conventions and anticipating people to interact smoothly with people User-experience, HCI, Usability, User-testing Critically important specializations for any human-facing system 22

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#