Introduction to Software Project Management Lecture1
Software Crisis Software crisis is characterized by inability to develop the desired Software Project because of such problems: Projects running over-budget. Projects running over-time. Software is inefficient. Software is of low quality. Software does not meet requirements. Project is unmanageable/ Code difficult to maintain.
3 A software engineer is challenged to produce high-quality software with finite amount of resources and to a predicted schedule and budget.
4 Law of diminishing returns Making the engineering decision! Benefit Cost
5 Software Engineering Software Engineering is not just about producing software, but about producing software in a COST-EFFECTIVE manner.
6 The Balancing Act! Potentially conflicting requirements Cost vs. Efficiency Cost vs. Reliability Efficiency vs. User-interface Challenge is to balance these requirements.
7 Well-Engineered Software Provides the required functionality Reliable User-friendly Cost-effective Efficient Maintainable
8 Management Construction Project planning and management Configuration management quality assurance Installation and training etc. Requirements Design Coding Testing Maintenance etc.
Software Engineering VS Project management Software Engineering is subject to budget and schedule constraints. Project Management ensures software development done according to organization’s constraints: policies, goals, and requirements.
10 Common Process Framework Umbrella Activities Framework Activities TASKS MILESONES, DELIVERABLES SQA POINTS Task Sets
Project: It is a Planned Activity A temporary activity undertaken to create a unique product or service. Characteristics of a Project Temporary Have definite beginning and end Create unique product or service Have objective that indicate completion
Portfolio / Program / Project Portfolio A portfolio can be a collection of programs or projects and without dependency between each other. One example or portfolio would be to improve facility services. It would be composed of a program to improve water, other to improve electricity, other to improve gas. Program A program is a collection of related projects, but they all share similar goals and would have benefits if coordinated together. Managing each of them alone would not allow to achieve same benefits. Programs and projects are grouped to achieve strategic business objectives. Project has a specific goal and scope.
Project Management Project management is the discipline of planning, organizing, managing, leading, and controlling resources to achieve specific goals It is the science of organizing the components of a project, whether the project is development of a new product, the launch of a new service, a marketing campaign,
Software Project Management (SPM) It is a process of managing, allocating and timing resources to develop computer software that meets requirements.
SPM Tasks Problem Identification Problem Definition Project Planning Project Organization Resource Allocation Project Scheduling Tracking, Reporting and Controlling Project Termination
Effective Project Management 4 P People Product Before a software project is planned, the product objectives and scope should be established, technical and management constraints should be identified. Process Here the important thing is to select an appropriate process model to develop the software. Project
Software Projects vs other Type of Projects Invisibility Complexity Conformity(similarity) Flexibility
Activates covered by SPM Feasibility Study Is it worth doing? It has a valid business case Planning How do we do it? Project Execution (Do It) Requirements Analysis Architecture Design Detailed Design Code and Testing Integration Installation Acceptance Support
Information System Vs. Embedded System Information System Will enable staff to carry out the office process Embedded System Which controls machines
Objectives Vs. Products Project aim is to produce a product or meet certain objectives Many projects have two stages Objective Driven It results in recommendation or Identify the need for new software system(Requirments) Product Driven It is actually to create a software prodcut(implimentation)
Stakeholders Internal to Project Team External to Project Team but within the same organization External to both organization and project team
Setting Objectives Who actually own the project? Objectives should define what the project team must to achieve for project success These are post conditions (outcomes) of a project Project authority is steering committee It is responsible for setting, monitoring and modifying objectives Project manager is responsible runs the project on a day to day basis
Sub Objectives and Goals Keep objective cost within a certain budget In order to achieve objective we must achieve certain goals or sub objectives first. Objectives must be Measurable(effectiveness) Achievable Relevant(obj relevent to project) Time Constrained (starting and ending date)
Business Case Projects need to have justification or business case Justification is based on cost-benefit analysis of a project
Project Success and Failure Project plan should be designed to ensure project success by preserving the business case for the project Project objectives vs. Business Objectives Project Objectives The agreed functionality, required level of quality, on time, within budget
What is Management? Planning(how we do it) Organizing(arrange activity) Staffing(resourse allocation) Directing(instrucation to staff) Monitoring(check project&process) Controlling(control activities) Innovating(always come up new idea) Representing(how to communicate the stack holder)
Text Book Software Project Management by Bob Hughes and Mike Cotterell, 5 th Edition