INTRODUCTION TO SOFTWARE
PROJECT MANAGEMENT
WHAT IS A PROJECT
A specific plan or design
A planned undertaking
A large undertaking e.g. a public
works scheme
JOBS VERSUS PROJECTS
‘Jobs’ – repetition of very well-defined and well understood tasks with very
little uncertainty
‘Exploration’ – e.g. finding a cure for cancer: the outcome is very uncertain
‘Projects’ – in the middle!
Characteristics of projects
 Non-routine
 Planned
 Aiming at a specific target
 Work carried out for a customer
 Made up of several different phases
 Constrained by time and resources
 Large and/or complex
SP versus Other Projects
Not really! …but…
 Invisibility
 Complexity
 Conformity
 Flexibility
make software more problematic to build than other
engineered artefacts.
Software Projects vs. Other Projects
 Invisibility
 When a Physical artifact such as bridge construction we can see
progress.
 Software Projects progress is not immediately visible.
 Complexity
 Software products contain more complexity than other engineered
products.
Software Projects vs. Other Projects
 Conformity
 Software Projects requirements are conform to Human Clients.
 Not governed by any physical law.
 Scope of Changing requirements is more.
 Flexibility
 Software is easy to change as a strength.
Activities covered by project management
Feasibility study
Is the project technically feasible and worthwhile from a business
business point of view?
Planning
How to do.
Project Execution
Implementation of Plan
The software development life-
cycle (ISO 12207)
What is Project Management?
“The application of knowledge, skills, tools and techniques to
project activities to meet project requirements” (PMBOK® Guide,
Fifth Edition, 2012)
What is software project management?
 Software Project Management is the process of planning,
organizing, staffing, monitoring, controlling and leading a
software project.
or
 Software Project Management is the complete set of tasks,
techniques, tools applied during project execution.
ISO 12207 life-cycle
Requirements analysis
• Requirements elicitation: what does the client need?
• Analysis: converting ‘customer-facing’ requirements into
technical equivalents that developers can understand
• In Requirements, we have
 Functions
 Quality
 Resource constraints i.e. costs
ISO 12207 life-cycle
 Architecture design
- Defines components of system: hardware, software, organizational.
- Maps Software requirements Software components.
• Detailed Design
- The number of software units can be separately coded and tested.
- The detailed design of these units is carried out separately.
ISO 12207 life-cycle
 Code and test
- Writing code for each software unit.
- Testing each software unit.
 Integration
- Putting the individual components together.
• Qualification testing
- Testing the system including software components to ensure that all the requirements
have been fullfilled.
ISO 12207 life-cycle
 Installation
 The process of making the system operational
 Includes setting up standing data, setting system parameters,
installing on operational hardware platforms, user training etc
 Acceptance support
 Including maintenance and enhancement
Categorizing SPs
Distinguishing different types of project is important as
different types of task need different project approaches
e.g.
 Information systems versus embedded systems
 Objective-based versus product-based
Requirement Specification
Functional Requirements
- what the end-product of the project is to do.
- systems analysis and design methods are
designed to provide functional requirements.
Quality Requirements
- How to do it.
Resource Requirements
- How much the organization is willing to
spend on the system.
What is management
 Planning – deciding what is to be done
 Organizing – making arrangements
 Staffing – selecting the right people for the job
 Directing – giving instructions
 Monitoring – checking on progress
 Controlling – taking action to remedy hold-ups
 Innovating – coming up with solutions when problems emerge
 Representing – liaising with clients, users, developers and other stakeholders
So, Management is the process of setting objective for a system and then monitoring
the system to see what its true performance.
Management control
Management control
 Data – the raw details
 e.g. ‘6,000 documents processed at location X’
 Information – the data is processed to produce something that is meaningful and useful
 e.g. ‘productivity is 100 documents a day’
 Comparison with objectives/goals
 e.g. we will not meet target of processing all documents by 31st March
 Modelling – working out the probable outcomes of various decisions
 e.g. if we employ two more staff at location X how quickly can we get the documents
processed?
 Implementation – carrying out the remedial actions that have been decided upon

1.Introduction To Software Project Management.pptx

  • 1.
  • 2.
    WHAT IS APROJECT A specific plan or design A planned undertaking A large undertaking e.g. a public works scheme
  • 3.
    JOBS VERSUS PROJECTS ‘Jobs’– repetition of very well-defined and well understood tasks with very little uncertainty ‘Exploration’ – e.g. finding a cure for cancer: the outcome is very uncertain ‘Projects’ – in the middle!
  • 4.
    Characteristics of projects Non-routine  Planned  Aiming at a specific target  Work carried out for a customer  Made up of several different phases  Constrained by time and resources  Large and/or complex
  • 5.
    SP versus OtherProjects Not really! …but…  Invisibility  Complexity  Conformity  Flexibility make software more problematic to build than other engineered artefacts.
  • 6.
    Software Projects vs.Other Projects  Invisibility  When a Physical artifact such as bridge construction we can see progress.  Software Projects progress is not immediately visible.  Complexity  Software products contain more complexity than other engineered products.
  • 7.
    Software Projects vs.Other Projects  Conformity  Software Projects requirements are conform to Human Clients.  Not governed by any physical law.  Scope of Changing requirements is more.  Flexibility  Software is easy to change as a strength.
  • 8.
    Activities covered byproject management Feasibility study Is the project technically feasible and worthwhile from a business business point of view? Planning How to do. Project Execution Implementation of Plan
  • 9.
    The software developmentlife- cycle (ISO 12207)
  • 10.
    What is ProjectManagement? “The application of knowledge, skills, tools and techniques to project activities to meet project requirements” (PMBOK® Guide, Fifth Edition, 2012)
  • 11.
    What is softwareproject management?  Software Project Management is the process of planning, organizing, staffing, monitoring, controlling and leading a software project. or  Software Project Management is the complete set of tasks, techniques, tools applied during project execution.
  • 12.
    ISO 12207 life-cycle Requirementsanalysis • Requirements elicitation: what does the client need? • Analysis: converting ‘customer-facing’ requirements into technical equivalents that developers can understand • In Requirements, we have  Functions  Quality  Resource constraints i.e. costs
  • 13.
    ISO 12207 life-cycle Architecture design - Defines components of system: hardware, software, organizational. - Maps Software requirements Software components. • Detailed Design - The number of software units can be separately coded and tested. - The detailed design of these units is carried out separately.
  • 14.
    ISO 12207 life-cycle Code and test - Writing code for each software unit. - Testing each software unit.  Integration - Putting the individual components together. • Qualification testing - Testing the system including software components to ensure that all the requirements have been fullfilled.
  • 15.
    ISO 12207 life-cycle Installation  The process of making the system operational  Includes setting up standing data, setting system parameters, installing on operational hardware platforms, user training etc  Acceptance support  Including maintenance and enhancement
  • 16.
    Categorizing SPs Distinguishing differenttypes of project is important as different types of task need different project approaches e.g.  Information systems versus embedded systems  Objective-based versus product-based
  • 17.
    Requirement Specification Functional Requirements -what the end-product of the project is to do. - systems analysis and design methods are designed to provide functional requirements. Quality Requirements - How to do it. Resource Requirements - How much the organization is willing to spend on the system.
  • 18.
    What is management Planning – deciding what is to be done  Organizing – making arrangements  Staffing – selecting the right people for the job  Directing – giving instructions  Monitoring – checking on progress  Controlling – taking action to remedy hold-ups  Innovating – coming up with solutions when problems emerge  Representing – liaising with clients, users, developers and other stakeholders So, Management is the process of setting objective for a system and then monitoring the system to see what its true performance.
  • 19.
  • 21.
    Management control  Data– the raw details  e.g. ‘6,000 documents processed at location X’  Information – the data is processed to produce something that is meaningful and useful  e.g. ‘productivity is 100 documents a day’  Comparison with objectives/goals  e.g. we will not meet target of processing all documents by 31st March  Modelling – working out the probable outcomes of various decisions  e.g. if we employ two more staff at location X how quickly can we get the documents processed?  Implementation – carrying out the remedial actions that have been decided upon