Feasibility Study and Presentations

advertisement
Feasibility
Studies
CS 560
Lecture 2
2/2/2016
Feasibility study
• Study
•A
made before committing to a project.
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.
• The
feasibility study may be in the form of a proposal.
2
Risks of the project
• Technical
Risks:
 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 allocated in the
feasibility plan.
• External
Risks:
 Where are the external pressures and obstacles?
 Client commitments?
3
Organizational feasibility
• Creation
of a major software system makes demands on
the development team.
 Does the team have management expertise?
 Does the team have technical expertise?
 Can the team accommodate changes in personnel, project requirements,
workflow?
• Concepts
covered by the CS 560 project:
 Management of project teams of 4 – 5 people.
 Determining technical level of each team member and assigning tasks
appropriately.
 Steady progression of a software system while being open to potential
change of requirements.
 Software documentation management.
4
Why are feasibility studies difficult?
• Uncertainty
 Clients and/or development teams may be unsure of the scope of the
project.
 Benefits are usually very hard to quantify.
 Approach is usually ill-defined. Estimates of resources and timetable are
very rough.
 Organizational changes may be needed.
• Mistakes
made at the beginning of a project are the most
difficult to correct.
5
The Decision Maker’s Viewpoint
• The
feasibility study helps make recommendations.
• What
information is needed before beginning a project?
 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 the project possible?
 Resources:
 What are the estimates of staff, time, equipment, etc.?
6
Feasibility Study: Scope
• Scope
expresses the boundaries of the system:
 The project will have a list of included functions.
 The project will have a list of excluded functions.
 The project will have a list of dependencies.
• Confusion
over scope is a common reason for clients to be
dissatisfied with a system.
 “I assumed that you were going to do xyz.”
 “I can’t use the system without abc.”
 Remember, you are building the product for the client, not yourself.
7
Feasibility Study: Scope Example
• An
organization requires a “repository system” to store
and make accessible very large amounts of material over a
long period of time.
 An outside software development team was hired to build the repository
system.
 BUT…
 No one built the sub-systems needed to organize, validate, and load
material into the repository.
 The organization expected these subsystems, but the software development
team considered those systems to be separate from the repository system.
•A
good feasibility report would have foreseen this
problem.
8
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
 Control complex systems
 New or improved service
 Safety or security
• Professional
a project.
benefits are not the reason for doing
9
Feasibility Study: Technical
•A
feasibility study needs to demonstrate that the proposed
system is technically feasible. This requires:
 An outline of the requirements
 A possible system design
 Database, distributed, autonomous, etc.
 Possible choices of software to be used or developed
 Estimates on number of users, data, transactions, etc.
• These
rough numbers are part of the plan that is used to
estimate the staffing, timetable, equipment needs, etc.
• The
technical approach actually followed may be very
different.
10
Feasibility Study: Planning and
Resources
• The
feasibility study must include an outline plan:
 Estimate the staffing and equipment needs, and the preliminary
timetable.
 Identify major milestones and decision points.
 Identify interactions with and dependences on external systems.
 Provide a preliminary list of deliverables and delivery dates.
• There
is a separate lecture about Project Management.
11
Feasibility Study: Alternatives and
Risks
•A
feasibility study should identify risks and
alternatives.
 Risks
 What can go wrong?
 How will progress be monitored and problems identified?
 What is the contingency plan?
 Alternatives
 Continue with current system, enhance it, or make a new one?
 Phases of delivery and possible points for revision
12
Techniques for Feasibly studies
• The
highest priority is to ensure that the client and
development team have the same understanding of the
goals of the system.
• For
the development team to understand the system:
 Interviews with the client
 Review of existing systems, including competing systems
 Background research, reading journal/conference articles, technical papers,
etc.
• For
the client to appreciate the proposed system:
 Demonstration of key features or similar systems
 Mock-up system designs and architectures
 Walk through typical transactions or interactions
13
Techniques for Feasibly studies
• Resource
budget:
 N people for H hours per week for M months
 Equipment, development space, etc.
 Contingency
• Phases/Milestones:
 Specify deliverables (designs, software, documentations, etc.) at
certain deadlines
 Feasibility report due February 18th
14
Feasibility Report
•A
feasibility report should be a well written, well
presented document.
 Written 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 can be included in supporting documents, appendix, etc.
• The
report should be very concise, and explain in detail
how the project will be approached.
15
CS 560: Feasibility Report
• Challenges:
 Team:
 How many hours per week?
 How often to meet as a group? Work individually?
 Skillset of team members?
 Time:
 Must be completed by the end of the semester.
 Including all software, documentation, and presentation resources
 Equipment and software:
 What special needs are there?
 Start-up time:
 Team creation, scheduling meetings, acquiring hardware and software, learning new
systems, etc..
 Too ambitious:
 Nothing to show at the end of the semester..
16
CS 560: How to minimize Risk?
• Techniques
for managing risk:
 Several target levels of functionality for project:
 Required
 Desirable
 Optional
 Visible software process:
 Intermediate deliverables
 Good communication:
 Within the project group
 With the client
 Well defined development processes:
 Good processes lead to good software and reduced risk
17
CS 560: Feasibility Study reports
• Appoint
one or two team members to read and edit
the entire report before it is due.
• Content:
 If different authors write different sections, are the
sections consistent?
 Scope, plan, requirements, etc. agree on what is to be done?
• Style:
 Is the text comprehensible?
 Does the report use jargon that is not clear to the client?
18
CS 560: Feasibility Studies Common Problems
• The
purpose of a feasible study is the establish if a project
is feasible, at reasonable cost, within the planned period.
• The
report should conclude with:
 Recommendations about whether to proceed
 With the final decision made by the client.
• Potential
problems with feasibility reports:
 The report is vague about scope.
 The project scope should be clearly defined. Otherwise, it is not clear if the project is
feasible.
 The report does not describe project group activities in enough
detail.
 Detail is needed about all activities to convincingly estimate effort.
 The project is too ambitious.
 The report should describe how you will monitor the progress and adjust the scope if
necessary.
19
Software Engineering
Project Presentations
Presentations
• Presentations
engineering.
are an important part of software
 Reasons:
 Marketing to potential clients
 Reporting of progress to senior management
 Reporting and demonstrations to clients
• If
you are uncomfortable making presentations,
take every opportunity to gain experience.
 It is difficult to achieve a leadership position in the
software industry if you can’t make decent presentations.
21
Planning for Presentations
• Objectives:
 What is the purpose of the presentation?
 What do you want to achieve?
 Who will be there?
 How much time will you have? How will you use the time?
 What room will you use? What equipment will be available?
• CS
560 Presentations:
 The presentations should be directed to the client
 The presentations will be 15 minutes in length
 Each team member should participate by speaking during the project
presentations
22
Topics for software presentations
• Four
project groups in CS 560, different projects for
each group
• Suggestions:
 General topics for every project:
 A description of what you have agreed to deliver to your client
 Summary of progress since last presentation/report
 Test plan and test cases
 Discussion of unexpected events and risks
 Overview of plan to complete and deliver the project
 Topics that apply to many projects:
 Results of user testing
 Technical details
23
Topics for the first CS 560 presentation
• Your
first assignment is the project proposal
Project team presentations – February 4th
10 minutes to present your project idea to the class.
You should include
 Initial approach
 Team member duties
 Feasibility requirements
 Resources needed
 Projected project time line
 Expected outcomes for your project at each milestone
24
Planning for a presentation
• Visual
aids:
 Useful, but not essential to have visual aids, such as presentation slides.
 If you use presentation slides:
 Keep them simple
 They must be legible
• Demonstrations:
 Can be very useful, but need preparation and practice to do well
 Technical:
 Load and configure all software before the presentation. Make sure it is working
correctly.
 If you need test data, create it in advance.
 If you have to type complex commands to run a presentation, do so before the
presentation.
 Script for demo:
 Prepare a script that lists the preparation, examples, and task delegations so that
team members will be more prepared during the presentation.
25
Planning for a presentation
• Have
a rehearsal, check visual aids and demonstrations.
• Check
the equipment in the presentation room.
 Do you need a network connection?
 How do you connect your computer?
• CS
560 Presentations:
 There are four milestone presentations during the semester.
 All group members must participate during each presentation.
 The current presenter should stand closest to the projector screen. Other team
members should give the presenter space to move around the front of the room.
 The project group should take notes during the presentation on format, clarity, class
interaction, client interaction, etc.
 Used to enhance future presentations.
 The first presenter should introduce everybody at each presentation, along with their
most important task(s).
26
Progressing toward the final
presentation
•
What do you want to achieve?




•
Personal team satisfaction in handing over a quality software product to the client.
Complete the course in good style with a good grade.
A clean handover of the product without loose ends.
Perhaps, a good basis for future involvement with the client, team, or project.
Who is the audience? What do they want?
 Clients:
 Is the product ready for production?
 Should we invest more effort to bring it into production?
 Should we abandon the project?
 Software Project Team:
 What has been accomplished?
 What has been learned?
 Not learned?
 Is the client satisfied?
 Are you handing over a maintainable software product?
27
Second weekly team/client meeting
deliverables
• Each
team should bring to the second meeting an 8 - 9
page draft of the feasibility report, which includes:
 Description of the project
 Technical feasibility
 Risk analysis
 Resources needed
 People hours, equipment, development space, etc.
 Outline of the team management process
 Team meeting schedule, individual tasks, etc.
 Rough draft of weekly and milestone goals
 Suggested deliverables
• Each
person in the group should have a copy of the
feasibility report draft during the meeting.
28
Download