DOC PREVIEW
CORNELL CS 501 - Lecture 27 Risk in Software Engineering

This preview shows page 1-2-22-23 out of 23 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringAdministrationFailures and RisksManaging RiskTime to Complete a Software ProjectHow to Stop GracefullyCanceling a ProjectFailure to Cancel a ProjectToo Big to Cancel!We are doing it the Wrong Way!We are doing it the Wrong Way (Second Example)!A Sense of UrgencyOvertaken by EventsChanging Requirements and DesignChanges of LeadershipClient OversightToo Difficult!Accept the Obvious!Engineering and MarketingSenior Management DynamicsSlide 21Sobering ThoughtsThe End1CS 501 Spring 2008CS 501: Software EngineeringLecture 27Risk in Software Engineering2CS 501 Spring 2008AdministrationThursday May 1No class or office hours3CS 501 Spring 2008Failures and RisksSoftware development projects can fail in many ways:The software engineering triangle• Late• Over budget• Lack of function, full of bugs, bad performance Changing circumstances• Changing markets• Better alternatives• Changes of managementThe biggest single source of problems is poor understanding of requirements4CS 501 Spring 2008Managing RiskManage projects to avoid risk:• Open and visible software process=> Avoid surprises• Continual review of requirements• Willingness to modify or cancel projects• Try for short phases each with deliverables5CS 501 Spring 2008Time to Complete a Software ProjectLarge software projects typically take at least two years from start to finish• Formative phase -- changes of plan are easy to accommodate• Implementation phase -- fundamental changes are almost impossibleYet many things can change in two years.6CS 501 Spring 2008How to Stop Gracefully• It is harder to cancel a project than to start it.• It is harder to withdraw a service than introduce it.Considerations• The proponents of the system must now reverse their public stance.=> Management of expectations• Users of the service need a migration strategy.• Technical staff must have a graceful path forward.7CS 501 Spring 2008Canceling a ProjectExample: Andrew Window Manager (wm)• Technically superior to X (MIT's Athena project) in 1986but ... Digital Equipment Corporation turning X into a product with massive supportnobody ready to support wm• Therefore wm cancelled in 1986, Andrew user interface and applications ported to X8CS 501 Spring 2008Failure to Cancel a ProjectExample: University F developed a novel programming language.• From 1985 to 1989, this was a promising language for simple programming of window-based applications• By 1990, it clearly was not gaining acceptance beyond University F• But development continued for many more years (about $500K)Not cancelled because ...9CS 501 Spring 2008Too Big to Cancel!Example: University A has antiquated administrative systems. Senior management decides to replace them all with commercial packages from X. The timetable and budget are hopelessly optimistic.• Staff get dispirited.• The Chief Information Officer finds another job.• A new Chief Information Officer is appointed.What should she do?10CS 501 Spring 2008We are doing it the Wrong Way!Example: University B has a (big) joint project with Company Y to develop a new computer operating system. After two years work, a junior software developer persuades the university leader that the technical approach is wrong.• What should the university do?• What should the company do?11CS 501 Spring 2008We are doing it the Wrong Way (Second Example)!Example: Company X has a (big) project to develop a new computer operating system. After several years work by thousands of people, the head of the company reviews the project and decides that the technical approach is wrong.• What should the company do?12CS 501 Spring 2008A Sense of UrgencyExample: A not-for-profit corporation is developing a system for a government organization. • By 1996 all R&D had been completed and the system demonstrated successfully with real users.• In 2005 the system was still not in full productionReasons:=> Incremental improvements to the software=> Repeated requests for more functionality=> Reluctance to reorganize clerical staffNobody had a sense of urgency13CS 501 Spring 2008Overtaken by EventsExample: University C has a project to develop a digital library system, with funds from Company Z , private foundations, and the government. • By 1993 an extensive system is running at the university and Z is marketing the technology to its customers.• By 1994 it is clear that web browsers and web formats (though technically weak) are becoming widely adopted.=> What should the university do?=> What should the company do?14CS 501 Spring 2008Changing Requirements and DesignExample: The CNRI Handle System -- a high performance, distributed system to map names to resources (1994 - ).Design decisions made in 1994 had to be changed. • In 1994 only Web browser was Mosaic• In 1994 Java did not exists• In 1994 mirroring and caching utilities were not available• In 1994 commercial interest was limitedSoftware was rewritten and greatly improved in 1998/9. In 2008, it is widely used by publishers (as DOI) and libraries.If a job's worth doing, it may be worth doing twice!15CS 501 Spring 2008Changes of LeadershipMany projects are wasted because of management changesExample: In 1988, Company W gave University D $1,000,000 to port a new operating system to its personal computers. The work was well done, on time. • Company W changed its president and senior technical staff during the project. The work was wasted.• Decades later and several presidents later, Company W has built its future around a modern version of the same operating system.A graduate student from University D has recently retired as Senior Vice President of Company W!16CS 501 Spring 2008Client OversightWhen work is out-sourced, the client must be vigilant.Example: Company G was the world's leader in software for optimization (e.g., linear and integer programming). G had successfully implemented several packages for various manufacturers.• An computer company H contracted with G to develop an optimization package for its new operating system.• The package was late, performed badly and disliked by customers.What went wrong? What can we learn?17CS 501 Spring 2008Too Difficult!A development team at University E was given government funds to build a high-performance gateway from protocol x to protocol y. • A promising


View Full Document

CORNELL CS 501 - Lecture 27 Risk in Software Engineering

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download Lecture 27 Risk in Software Engineering
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 27 Risk in Software Engineering and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 27 Risk in Software Engineering 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?