Software Project Management


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software Project Management

  1. 1. CIS224: Software Projects: Software Engineering and Research Methods Software Project Management 1. The Project Management Spectrum Project management involves the planning, monitoring and control of the people, process, and events that occur as software evolves. 1.1. The People - senior manager : coordinates the connection between the business and the software professionals. - project manager : plans, monitors, and controls the work of a team of software engineers. - software practitioner (engineer) : manages his day to day activities, planning, and managing technical tasks. 1.2. The Product Product is the software project plan, which defines the tasks to be conducted, the people who are going to do the work, the mechanisms for assessing risks, controlling change and evaluating quality.
  2. 2. 2. Organization of the Software Management Process 2.1. Beginning a Software Project Initially objectives and scope should be established before planning. The developer and customer meet to define the objectives and scope. Objectives are the overall goals of the software projects. Scope are the primary functions which the software is to accomplish. 2.2 Measures and Metrics Project measures and metrics are taken to provide insights into the organization of the software engineering. The software process is measured in order to improve it. The software product is measured in order to improve its quality. 2.3 Project Estimation - Planning requires estimates of the: - human effort- in person-months - chronological project duration- in calendar time - cost The estimation usually requires to broke the project into pieces.
  3. 3. In practice, past experience is often used as a guide.
  4. 4. 3. Software Decomposition Software decomposition includes product and process decomposition which occur simultaneously as the project plan evolves. 3.1. Software Problem Decomposition Software problem decomposition is usually performed according to the divide and conquer strategy: that is, a complex problem is partitioned in smaller problems which are easily manageable. 3.2. Software Process Decomposition For example, the work tasks for the communication activity could be: - review the customer request - plan and schedule a meeting with the customer - conduct research to propose solutions - prepare a working document - conduct another meeting - jointly develop a specification - improve the specification and make a scoping document.
  5. 5. 4. Project Management Metrics The software metrics are quantitative measures that enable software engineers to gain insight into the efficacy of the software process. Software measurement is important as it helps to identify trends in the engineering process with which true improvements can be made over time, without relying on subjective judgements. Reasons for measuring the software: - to indicate the quality of the product - to assess the productivity of the people - to assess the benefits from the new methods - to form a baseline for estimation - to help justify the needs for new tools
  6. 6. 4.1. Direct and Indirect Software Metrics The direct software metrics are: - lines of code - memory size - defects reported over a period of time The indirect software metrics are: - functionality - quality - complexity - efficiency - reliability - maintainability
  7. 7. 4.2. Size-Oriented Metrics Size-oriented metrics are derived by normalizing the productivity measures considering the size of software that has been produced. Productivity = KLOC / person-month, where: KLOC- thousand lines of code Quality = defects / KLOC Cost = $ / KLOC Documentation = pages of documentation / KLOC
  8. 8. 4.3. Function-Oriented Metrics Function-oriented metrics use as a normalization value the functionality delivered by the application. Since the functionality can not be measured directly, estimates called function points are derived based on countable information in the software domain and assessments of the software complexity. Five information domain characteristics are determined as follows: - number of user inputs: each user input provides distinct data; - number of user outputs: each output provides different information to the user, like reports, screens and messages; - number of user inquiries: these are on-line inputs that require immediate response from the software program; - number of files: each file is counted; - number of external interfaces: all readable interfaces are counted.
  9. 9. Function points are computed according to the following equation: FP = count-total × [ 0.65 + 0.01 × SUM( Fi ) ] where: count-total is the sum of all FP entries obtained Fi - are complexity adjustment values Productivity = FP / person-month, Quality = defects / FP Cost = $ / FP Documentation = pages of documentation / FP
  10. 10. Example: Perform software project estimation using the FunctionPoints metric, assuming the following software information domain characteristics: Measurement parameter count factor number of user inputs 20 4 number of user outputs 15 5 number of user inquiries 28 5 number of files 5 10 number of external interfaces 3 7 Suppose that the software complexity adjustment factors are as follows: Complexity adjustment value (Fi) Backup and recovery 5 Data communications 4 Distributed processing 2 Performance critical 5 Existing operating environment 3 On-line data entry 3 Input transaction over multiple screens 5 Master files updated on-line 2 Information domain values complex 4 Internal processing complex 5 Code designed for reuse 3 Conversion/installation in design 4 Multiple installations 5 Application designed for change 5
  11. 11. a) Estimated number of function points FPest = count-total × [ 0.65 + 0.01 × SUM(Fi) ] FPest = 366 × [ 0.65 + 0.01 × 55 ] = 439.2 b) Productivity of the team for 3 person-months using the derived function points Productivity = FPest / person-month Productivity = 439.2 / 3 = 146.4 [function points per person month] c) Quality of this software having 5 defects using the derived function points Quality = defects / FPest Quality = 5 / 439.2 = 0.011 [defects per function point] d) Software cost using the derived function points if there have been spend 3000 pounds Cost = $ / FPest Cost = 3000 / 439.2 = 6.83 [pounds per function point] e) Documentation size using these function points if 100 pages have been produced Documentation = pages of documentation / FPest Documentation = 100 / 439.2 = 0.228 [pages per function point]
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.