1 cs 501 spring 2003 cs 501: software engineering lecture 3 feasibility studies

28
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 3 Feasibility Studies

Upload: kenneth-butler

Post on 28-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

1 CS 501 Spring 2003

CS 501: Software Engineering

Lecture 3

Feasibility Studies

2 CS 501 Spring 2003

Administration

News group: newsstand.cit.cornell.edu/cornell.class.cs501

Projects:

New concept on Web site, MIDAS

Announcements by project groups

3 CS 501 Spring 2003

Administration

Project teams:

• If you have definitely chosen a project, please notify the Teaching Assistants. Send email to [email protected] with the names of your team members

• If you do not have a team you can meet after class

• We may ask teams to add extra members

• A Teaching Assistant will be added to each team.

4 CS 501 Spring 2003

Feasibility Study

Before beginning a project, a (usually) short, low-cost study to identify:

• Client

• Scope

• Potential benefits

• Resources needed:

staff, time, equipment, etc.

• Potential obstacles

Where are the risks? How can they be minimized?

5 CS 501 Spring 2003

Feasibility Study

A feasibility study leads to a decision:

go aheaddo not go aheadthink again

In production projects, the feasibility study often leads to a budget request.

In research, a feasibility study is often in the form of a proposal.

6 CS 501 Spring 2003

Example 1: NSDL (Good but Slow Process)

Outline Description

Create a comprehensive digital library for all aspects of science education, where science and education are both defined very broadly.

7 CS 501 Spring 2003

Example 1: NSDL Timetable

1996 Vision articulated by NSF's Division of Undergraduate Education

1997 National Research Council workshop

1998 SMETE-Lib workshop

1999 NSDL solicitation

2000 6 demonstration projects (core system)

2001 1 large core integration system funded

2002 Phase 1 release

2006 End of implementation phase

8 CS 501 Spring 2003

Example 2: Library of Congress(No Feasibility Study)

Outline Description

The Library of Congress required a repository system to store and make accessible very large amounts of highly varied material over long periods of time.

9 CS 501 Spring 2003

Example 2: Chronology (Bad)

1993-94 CNRI carried out research on architectures for digital libraries.

1995-97 CNRI developed prototype repository for Library of Congress.

1998 CNRI and Library of Congress realized that the project was going in the wrong direction.

10 CS 501 Spring 2003

Example 2: Mistakes

• Confusion of objectives (research and implementation)

• Failure to involve all stakeholders

• Over-ambitious (no proper feasibility study)

11 CS 501 Spring 2003

Example 2: Bad Discoveries During Prototype

• Resistance to change within Library of Congress

• Technical weakness of Library of Congress

• Gaps in CNRI architecture

12 CS 501 Spring 2003

Example 2: Research During Prototype

1. CORBA implementation of repository access protocol.

2. Integration of persistent naming through handle system.

3. Use of structural metadata to describe complex objects, elementary typology.

4. Access management framework and implementation.

5. Applet-based middleware for user interfaces.

6. Information visualization program to view the structure of large collections.

As research this was excellent, but it did not help the client build a production system.

13 CS 501 Spring 2003

Example 3: U.S. Government Agency(Decision before Feasibility Study)

Outline Description

A U.S. government agency, which manages huge numbers of documents and other records, has been very slow in moving from a paper based approach to managing digital documents.

14 CS 501 Spring 2003

Example 3: Chronology

• Scientific computing center at University of California commissioned to develop prototype system.

• Funds approved by Congress to "procure" major computer system.

• National Academy of Sciences commissioned to report on the technical approach to be followed and the results of the University of California prototype.

15 CS 501 Spring 2003

Example 3: National Academy report

The (draft) National Academy study finds:

• The computer system is technically feasible

• University of California prototype promising but incomplete

• Agency needs stronger technical staff

The study recommends a modified Waterfall approach:

1. System architecture created by iterative refinement

2. Followed by implemented to design created as part of system architecture

16 CS 501 Spring 2003

Example 3: Obvious Problems

Organizational:

• Agency senior management clearly not ready to lead a very large project that will completely change the agency

• No thought given to the workflow and job changes that will affect almost every member of staff

Preparation:

• No preliminary study made of volumes or kinds of data; nor of the very complex access policies

Complexity

• Major changes in the requirements and design are inevitable once the system goes into production and has real users

17 CS 501 Spring 2003

Example 3: Dilemma

This is a disaster in the making, but...

• Agency does not want to return money to Congress

• National Academy study was paid for by agency and restricted to technical considerations

• The fundamental problem lies at the senior management level

[A phased approach over many years might possibly work, but only after the organizational problems are addressed]

18 CS 501 Spring 2003

Example 3: Prototype and Phased Development

• A prototype is not released to users, except experimentally

• In phased development, each phase is released into full production

Build release 1

Build release 2

Build release 3

Userelease 1

Userelease 2

Userelease 3

Developers

Users

19 CS 501 Spring 2003

Why are Feasibility Studies Difficult?

Benefits are usually very hard to quantify.

Approach is usually ill-defined. Estimates of resources needed and timetable are very rough.

(e.g., eCornell)

Organizational changes may be needed.

(e.g., British auto licensing center.)

Therefore, feasibility studies rely heavily on the judgment of experienced people. Who are often over-enthusiastic.

Mistakes made at the beginning are the most difficult to correct.

20 CS 501 Spring 2003

Techniques for Feasibility Studies

Give client appreciation of system:

demonstration

mock-up

walk through

Outline budget:

n people for m months at $x per month

equipment, buildings, etc.

Phases/milestones:

deliverables at approximate date

21 CS 501 Spring 2003

CS 501: Client

In CS 501, you have two clients:

• The client for the project

• The professor for the course

Can you satisfy them both?

22 CS 501 Spring 2003

Potential Benefits

Why are you doing this project? Can you price the benefits?

Examples

• Create a marketable product

• Improve the efficiency of an organization (e.g., save staff)

• Control a system that is too complex to control manually

• New or improved service (e.g., faster response to customers)

• Safety or security

• Get a good grade on CS 501

23 CS 501 Spring 2003

Resources

Examples: CS 501

Staff: 5 to 7 students, with some help. How many hours per week? What skills do people have?

Time: Must be completed by end of semester, including operational system, documentation, presentation

Equipment and software: What special needs are there?

Client: Will the client be sufficiently available and helpful?

24 CS 501 Spring 2003

Obstacles

CS 501 projects

Start-up time. Creating a team, scheduling meetings, acquiring software, learning new systems, ...

Business considerations. Licenses, trade-secrets, ...

Too ambitious. Nothing to show at the end of the semester...

Changing circumstances. Client leaves the university, ...

What else?

25 CS 501 Spring 2003

How to Minimize Risk?

CS 501 Projects

• Several target levels of functionality: required, desirable, optional phases

• Visible software process: intermediate deliverables

• Good communication within team and with Teaching Assistant

Good processes lead to good software

Good processes reduce risk

26 CS 501 Spring 2003

Scope

What are the boundaries of the project?

27 CS 501 Spring 2003

Feasibility Report

A written document

• For a general audience: client, financial management, technical management, etc.

• Short enough that everybody reads it.

• Long enough that no important topics are skipped.

In CS 501, I am looking for a well written, well presented document.

28 CS 501 Spring 2003

CS 501: Feasibility Report

Specific Requirements for the Feasibility Report

• Outline plan, showing principal activities and milestones (to be discussed on Thursday).

• Discussion of Business Considerations (see Projects page on the course Web site).

• Risk analysis. What can go wrong? What is your fall back plan?