CSCE 431 Lecture 1

From Notes
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...