1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 3 Feasibility Studies.

Slides:



Advertisements
Similar presentations
Rational Unified Process
Advertisements

CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 8 Requirements I.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
CS CS 5150 Software Engineering Lecture 27 People 2.
CS 501: Software Engineering Fall 2000 Lecture 4 Management I: Project Management.
CS 501: Software Engineering
CS 5150 Software Engineering
1 Software project management (intro) An introduction.
CS 5150 Software Engineering
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 3 Feasibility Studies.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 7 Requirements I.
CS 501: Software Engineering
CS CS 5150 Software Engineering Lecture 3 Feasibility Studies.
CS 5150 Software Engineering
CS 5150 Software Engineering
CS 501: Software Engineering Fall 2000
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
CS 501: Software Engineering
Chapter 3: The Project Management Process Groups
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 7 Requirements I.
Lesson 10: IT Project and Program Management. Lesson 10 Objectives  Identify resources for technical data  Identify project management fundamentals.
The Agile vs. Waterfall Methodologies Systems Development:  the activity of creating new or modifying / enhancing existing business systems.  Objectives.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Sharif University of Technology Session # 4.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Do it pro bono. Strategic Scorecard Service Grant The Strategy Management Practice is presented by Wells Fargo. The design of the Strategic Scorecard Service.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 3 Feasibility Studies.
Feasibility Studies CS 360 Lecture 2.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
EARTO – working group on quality issues – 2 nd session Anneli Karttunen, Quality Manager VTT Technical Research Centre of Finland This presentation.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software Development Process and Management (or how to be officious and unpopular)
Software Engineering Management Lecture 1 The Software Process.
Product Documentation Chapter 5. Required Medical Device Documentation  Business proposal  Product specification  Design specification  Software.
Building a Business Case for Quality Improvement Glen Copping CFO and Vice-President, Systems Development & Performance Session: BC PSQC D2 Thursday, February.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
3 1 Project Success Factors u Project management important for success of system development project u 2000 Standish Group Study l Only 28% of system development.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 3 Feasibility Studies.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
CS 5150 Software Engineering Lecture 4 Feasibility Studies.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
CS CS 5150 Software Engineering Lecture 24 People 2.
Systems Development Life Cycle
CS CS 5150 Software Engineering Lecture 26 People 2.
CS CS 5150 Software Engineering Lecture 5 Feasibility Studies.
CS SE370 Software Engineering Lecture 5 Feasibility Studies.
CS 5150 Software Engineering Lecture 2 Software Processes 1.
SWE 513: Software Engineering
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
Feasibility Studies CS 560 Lecture 2 2/2/2016.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
What has been accomplished at the end of MSD 1 & 2?
Software Engineering Management
Exam 0 review CS 360 Lecture 8.
Managing the Project Lifecycle
Systems Analysis and Design in a Changing World, 4th Edition
CS 501: Software Engineering
Project Initiation & Planning
CS 5150 Software Engineering
Software Documentation
CS 501: Software Engineering Fall 1999
Software Process Models and the feasibility study
KEC Dhapakhel Lalitpur
Presentation transcript:

1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 3 Feasibility Studies

2 CS 501 Spring 2006 Administration Assignment 0: preliminary survey See the Assignments Web page for instructions Submit by Monday, February 6 Send questions to Sadat Shami

3 CS 501 Spring 2006 Administration Projects: Announcements by project groups

4 CS 501 Spring 2006 Administration Project teams: If you do not have a team, you can meet after class If you are having difficulty finding a team send to We may ask teams to add extra members If you have definitely chosen a project and reached agreement with your client, send to with the names of your team members

5 CS 501 Spring 2006 Feasibility Study A feasibility study is a study made before committing to a project. A feasibility study leads to a decision: go ahead do not go ahead think 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 2006 Why are Feasibility Studies Difficult? Benefits are usually very hard to quantify (e.g., NSDL). Approach is usually ill-defined. Estimates of resources needed and timetable are very rough (e.g., eCornell). Organizational changes may be needed (e.g., Copyright deposit system). Therefore, feasibility studies rely heavily on the judgment of experienced people. Mistakes made at the beginning are the most difficult to correct.

7 CS 501 Spring 2006 Why are Feasibility Studies Difficult? Advocacy Advocacy is needed to build enthusiasm for a large project: to convince an organization to undertake an expensive, complex project with many risks. Enthusiasm is good, but enthusiasts usually emphasize potential benefits and downplay risks. People carrying out the feasibility study and making the decision often have a vested interest in the project going ahead, e.g., financial gain, career development.

8 CS 501 Spring 2006 The Decision Maker's Viewpoint A senior member of an organization must decide whether to begin a major software project. What information is needed? Client: Who is this project for? Scope: What are the boundaries of the project? Benefits: What are the benefits? Can they be quantified? Technical: Is there at least one technical way to carry out the project? Resources: What are the estimates of staff, time, equipment, etc? Alternatives: What are the options if the project is not begun?

9 CS 501 Spring 2006 The Decision Maker's Viewpoint Where are risks? Can they be minimized? Technical There must be an outline plan with a rough timetable and staff allocation. The plan must have a very large margin for contingencies. (Projects typically require twice the staff and/or time envisaged in the feasibility plan.) External Every system interacts with others. Are the others committed to the necessary efforts? Where are the external pressures and obstacles?

10 CS 501 Spring 2006 Example 1: Benefits of the National Science Digital Library (NSDL) Concept Create a comprehensive digital library for all aspects of science education, where science and education are both defined very broadly. The National Science Foundation studied potential benefits for five years before going ahead. It came to the conclusion that, even though the benefits could not be quantified, the potential was sufficient to justify a major program.

11 CS 501 Spring 2006 Example 1: NSDL Feasibility Timetable 1996Vision articulated by NSF's Division of Undergraduate Education 1997National Research Council workshop 1998SMETE-Lib workshop 1999NSDL solicitation demonstration projects of the core system 2001Core integration system funded Five years from concept to decision to definitely go ahead. Note: Since going ahead, the NSF has been less careful about continuing to review the feasibility study after each major iteration.

12 CS 501 Spring 2006 Example 2: 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.

13 CS 501 Spring 2006 Example 2: Chronology A scientific computing center at University of California was commissioned to develop a prototype system to demonstrate technology. Funds were approved by Congress to "procure" a major computer system. The National Academy of Sciences was commissioned to report on the technical approach to be followed and the results of the University of California prototype (feasibility study). Note: The decision to go ahead was made and the budget approved before the feasibility study was begun.

14 CS 501 Spring 2006 Example 2: National Academy Report The National Academy study finds: The computer system is technically feasible. The University of California prototype is promising but incomplete. Agency needs stronger technical staff. The study was not asked to comment on external factors, but discovered major weaknesses in the agency's management structure and organizational skills.

15 CS 501 Spring 2006 Example 2: 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

16 CS 501 Spring 2006 Example 2: National Academy Report: Technical Recommendations The study recommends a phased approach: 1.System architecture created by iterative refinement to create a Phase 1 design. 2.Followed by sequential implementation using the Phase 1 design [Note that this is the same phasing used in the vector graphics for Basic project discussed in Lecture 2.]

17 CS 501 Spring 2006 Example 2: Prototype and Phased Development A prototype is not released to users, except experimentally In phased development, each phase is released into full production UC prototype Build phase 1 Build phase 2 Demonst- ration only Phase 1 production Phase 2 production Developers Users Iterative process Sequential process

18 CS 501 Spring 2006 Example 2: Dilemma 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.] The agency, adopted a pure waterfall model, put out a Request for Proposal for the Requirements, and placed a major contract with a software house. This is a disaster in the making.

19 CS 501 Spring 2006 Feasibility Study: Scope Scope expresses the boundaries of the system: It will include a list of included functions It will exclude a list of excluded functions It depends on a list of dependencies It replaces a list of functions to be replaced Confusion over scope is a common reason for clients to be dissatisfied with a system. "Is that all you planned to do?" "But I assumed that you were going to do xyz." "I can't use the system without abc."

20 CS 501 Spring 2006 Example 3: Library of Congress Confusion over Scope 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. An outside organization (CNRI) built a repository system to store and manipulate complex digital objects Nobody built the sub-systems needed to organize, validate, and to load material into the repository. The Library of Congress expected the repository system to include this sub-system. CNRI considered it external to the repository system A good feasibility study would have seen this confusion.

21 CS 501 Spring 2006 Feasibility Study: Benefits Why is this project proposed? Can you quantify the benefits? Organization benefits 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 (e.g., EPIRB) Professional benefits are not the reason for doing a project Get a good grade on CS 501

22 CS 501 Spring 2006 Feasibility Study: Technical A feasibility study needs to demonstrate that the proposed system is technically feasible. This requires: a rough outline of the requirements a possible system design (e.g., database, distributed, etc.) estimates of numbers of users, data, transactions, etc. possible choices of software to be acquired or developed These very rough numbers are fed into the provisional plan that is used to estimate the staffing, timetable, equipment needs, etc. The technical approach actually followed may be very different.

23 CS 501 Spring 2006 Feasibility Study: Planning and Resources The feasibility study should include an outline plan: Estimate the staffing and equipment needs, and the preliminary timetable Identify major decision points Identify interactions with and dependences on external systems Provide a preliminary list of deliverables and delivery dates Lecture 4 is about planning techniques.

24 CS 501 Spring 2006 Feasibility Study: Alternatives and Risks A feasibility study should identify alternatives and risks. Alternatives Continue with current system, enhance it, or create new one? Develop in-house, or contract out? (How will a contract be managed?) Phases of delivery and possible points for revising plan. Risks What can go wrong? How will problems be identified (visibility)? What are the fall-back options?

25 CS 501 Spring 2006 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

26 CS 501 Spring 2006 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. Details are often included in supporting documents. It should be a well written, well presented document.

27 CS 501 Spring 2006 Feasibility Study: Decision The implications of the Feasibility Report must be understood by all key people. Different organizations and senior managers have different styles, e.g., Monitor the team and the process Rely on detailed reading of written report Rely on face-to-face questioning of knowledgeable people But they must understand the decision. A report that is never read and understood is useless.

28 CS 501 Spring 2006 CS 501: Client In CS 501, you have two clients: The client for the project The professor for the course Satisfy the client and the professor is pleased!

29 CS 501 Spring 2006 CS 501: 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?

30 CS 501 Spring 2006 CS 501: 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?

31 CS 501 Spring 2006 CS 501: 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

32 CS 501 Spring 2006 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? *