CSCE 431 Lecture 1
Jump to navigation
Jump to search
« previous | Tuesday, January 14, 2014 | next »
State of the Art: Embarrassment
For every 6 large software projects, 2 will be cancelled for failures in design and implementation Gibbs, Neumann, CACM 1997
Legal/license agreements: "You paid us and we promised you nothing"
Conjecture: Some companies cannot write good software, others can...
- There must be some art to getting projects to succeed.
Why do many projects fail?
- poor management
- failure to implement good practices (testing, continuous integration, version control)
- Poor documentation?
- Poor estimates?
- Unrealistic Schedules
- Inappropriate Staffing
- CHanging requirements during development
- Poor quality work
- Believing in Magic
- Economics: System judged based on number of features, not security and reliability
- Incompetence?
- software systems are large and complex
- They operate in complex and changing environments
- The entire infrastructure (languages, libraries, OS, computers) changes continuously
- Systems are crucial for the operation of the entire business (quality, schedule, and budget pressure)
Observations
Lots of problems, or just different views?
Fred Brooks: No Silver Bullet
- silver bullets still pop up (new programming language that will solve the world's problems)
Definition of Software Engineering
Software Engineering is a collection of techniques, methodologies, and tools ...
IEEE: The applictaion of a systematic, disciplined...