1 cs 501 spring 2003 cs 501: software engineering lecture 3 feasibility studies
TRANSCRIPT
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
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?