1
Project: temporary endeavor to achieve some specific objectives in a defined time Project management ◦ Dynamic process ◦ Controlled and structured process ◦ Use the organization’s resources ◦ Achieve clear objectives 2
Program ◦ Collection of inter-dependent projects ◦ Managed in a coordinated manner Portfolio management ◦ Managing active and future projects 3
Seeking success Success means In time In budget Planned features (goals, deliverables) Responsibility and authority need to be clear 4
Shorter time Lower costs Higher quality Higher profits Higher productivity Better communication and coordination Better control of financial, physical, and human resources Less worker stress 5
Feasibility study Design and planning Launch and execution Termination Post-project evaluation 6
Time required to complete the project Availability and cost of key resources Technological problems New actions taken by competitors 7
Scope: What does the customer expect from the project? Time: What is the project’s schedule? Cost: What is the project’s budget? What resources are needed? Quality: How good does the quality of the product need to be to satisfy the customer? Risk: How much uncertainty are we willing to accept on the project? 8
9
Proposal writing (RFP) Project planning and scheduling Project costing Project monitoring and reviews Personnel selection and evaluation Report writing and presentations Conflict resolution Adjust to change and risks 10
The application area: domain, industry, market, etc. The project environment: politics, culture, change management, etc. General management: financial management, strategic planning, etc. Human relations: sensitivity, credibility, leadership, motivation, negotiation, conflict management, style, integrity, ethics, etc. 11
Project Concept Project Design Project Development Quality Assurance Beta Release GA and end of life 12
Discuss new project ideas ◦ Fit the company strategy? Evaluate and report on costs Get approval to define the new project 13
Project idea and costs have been approved Establish a core team Define schedule, feature list and release date Define cost baseline Freeze the requirements document 14
Develop the requirements Verify that it works Pass the project to the QA to check against the company quality standards Pass the project to the technical documentation team to create manuals and help files 15
Test programs and documentation Check conformance to the design and requirements documents 16
Determine Beta sites QA team leads the Beta testing activities Development team fix defects Help desk should be ready for full support 17
Help desk assists end users IT team manages the daily use of the project Development fixes bugs Evaluate the effectiveness of estimation Evaluate the work process Product withdrawal 18
Size is estimated as: ◦ Line Of Code (LOC) ◦ Function Points (FPs) Function points ◦ external inputs and outputs ◦ user interactions ◦ external interfaces ◦ files used by the system ◦ elementary processing FPs are very subjective. They depend on the estimator. Ian Sommerville19
There is no simple way to make an accurate estimate of the effort required to develop a software system ◦ Initial estimates are based on inadequate information in a user requirements definition ◦ The software may run on unfamiliar computers or use new technology ◦ The people in the project may be unknown Project cost estimates may be self-fulfilling ◦ The estimate defines the budget and the product is adjusted to meet the budget Ian Sommerville,20
One or more experts in both software development and the application domain use their experience to predict software costs. Process iterates until some consensus is reached. Advantages: Can be accurate if experts have direct experience of similar systems Disadvantages: Very inaccurate if there are no experts! Ian Sommerville,21
The cost of a project is computed by comparing the project to a similar project in the same application domain Advantages: Accurate if project data available Disadvantages: Impossible if no comparable projects. Ian Sommerville,22