Download presentation
Presentation is loading. Please wait.
Published byPhebe Wilkerson Modified over 9 years ago
1
1 Chapter 3 Project Management
2
2 Software project management Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software
3
3 Software management distinctions The product is intangible The product is uniquely flexible Software engineering is not recognized as an engineering discipline with the sane status as mechanical, electrical engineering, etc. The software development process is not standardised Many software projects are 'one-off' projects
4
4 The 4 P’s People — the most important element of a successful project Product — the software to be built Process — the set of framework activities and software engineering tasks to get the job done Project — all work required to make the product a reality
5
5 Software Project Management Work to be done (estimate) Resources available Technical personnel hours Administrative support hours Equipment Software Budget
6
6 Software Project Management Resources People Money Tasks Map people to tasks Map money to tasks Time Map tasks and people to a schedule Handle constraints among task serialization Manage milestones (intermediate deadlines)
7
7 Project Management Tools Resources Spreadsheet Tasks Spreadsheet Time Calendar Pert-type chart Everything Project Management Software
8
8 Project Management Project [persistent] functions Planning Hiring/firing/evaluations Accounting/budgeting Activities Non-persistent Comprised of tasks Work products Results of tasks
9
9 The Players Senior Managers Project Managers Practitioners Customers End users 10
10
10 The Project Managers Hardest Problem Having the right people On the right part of the project At the right time At the right price
11
11 Software Projects size delivery deadline budgets and costs application domain technology to be implemented system constraints user requirements available resources Factors that influence the end result...
12
12 Project Management Concerns
13
13 Why Projects Fail? an unrealistic deadline is established an unrealistic deadline is established changing customer requirements changing customer requirements an honest underestimate of effort an honest underestimate of effort predictable and/or unpredictable risks predictable and/or unpredictable risks technical difficulties technical difficulties miscommunication among project staff miscommunication among project staff failure in project management failure in project management
14
14 Software Teams difficulty of the problem to be solved size of resultant program(s) in LOC or FP time the team will stay together (team lifetime) degree to which the problem can be modularized required quality and reliability of the system to be built rigidity of the delivery date degree of communication required for the project The following factors must be considered when selecting a software project team structure...
15
15 closed paradigm—structures a team along traditional hierarchy of authority random paradigm—structures a team loosely and depends on individual initiative of the team members open paradigm—attempts to structure a team in a manner that achieves some of the controls associated with the closed paradigm but also much of the innovation that occurs when using the random paradigm synchronous paradigm—relies on the natural compartment-alization of a problem and organizes team members to work on pieces of the problem with little active communication among themselves Organizational Paradigms suggested by Constantine [CON93]
16
16 Software Team Paradigms Controlled (the traditional approach) Centralized (vertical only) Decentralized (horizontal too) Demographic Pairs
17
17 Democratic Software Team 10 (or so) egoless programmers No single leader No programmer trying to get promoted to the next level Roles are dynamics and not well-defined Quality Circles
18
18 Democratic Software Team Egoless programming Every programmer must encourage the other members of the team to find faults The presence of faults must not be considered something bad, but rather a normal and accepted event The reviewer is asked for advice
19
19 Democratic Software Team Leverages the diversity of the group Two heads really are better than one Facilitates reviews and walkthroughs, which are proven to improve fault detection The ultimate goal is to reduce fear in the workplace. Primary means is by sharing responsibility
20
20 Fallacy of Egolessness Everybody has egos Leaders "need" to lead Capitalism is founded on competition Difficult to attain group decisions that truly represent the entire group Large number of personal interconnections required Group dynamics suggests that structure will occur
21
21 Pair Programming Match up two people One to define requirements, another to document requirements. Allows interaction between two people to drive out requirements. Can have two people programming, one thinking and one keying.
22
22 Defining the Problem establish scope—a narrative that bounds the problem decomposition—establishes functional partitioning
23
23 Melding Problem and Process
24
24 To Get to the Essence of a Project Why is the system being developed? What will be done? By when? Who is responsible for a function? Where are they organizationally located? How will the job be done technically and managerially? How much of each resource (e.g., people, software, tools, database) will be needed? Barry Boehm
25
25 Critical Practices Formal risk analysis Empirical cost and schedule estimation Metrics-based project management Earned value tracking Defect tracking against quality targets People aware project management
26
26 Management activities Proposal writing Project planning and scheduling Project costing Project monitoring and reviews Personnel selection and evaluation Report writing and presentations
27
27 Project staffing May not be possible to appoint ideal team Budget may not allow use of high-paid staff Staff with the appropriate experience may not be available An organisation may wish to develop employee skills on a software project Managers work within these constraints especially with the international shortage of skilled IT staff
28
28 Project planning Probably the most time-consuming project management activity Continuous activity from initial concept through to system delivery. Plans must be regularly revised as new information becomes available Various different types of plan may be developed to support the main software project plan that is concerned with schedule and budget
29
29 Activity organization Activities in a project should be organised to produce tangible outputs for management to judge progress Milestones are the end-point of a process activity Deliverables are project results delivered to customers The waterfall process allows for the straightforward definition of progress milestones
30
30 Project scheduling Split project into tasks and estimate time and resources required to complete task Organize tasks concurrently to make optimal use of workforce Minimize task dependencies to avoid delays caused by one task waiting for another to complete Dependent on project managers intuition and experience
31
31 Scheduling problems Estimating the difficulty of problems and hence the cost of developing a solution is hard Productivity is not proportional to the number of people working on a task Adding people to a late project makes it later because of communication overheads The unexpected always happens. Always allow contingency in planning
32
32 Bar charts and activity networks Graphical notations used to illustrate the project schedule Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two Activity charts show task dependencies and the the critical path Bar charts show schedule against calendar time
33
33 Pert Charts Program Evaluation Review Techniques US Navy, 1957 Systematic method of estimating project length Based on a systematic serialization algorithm based on: Dependencies Resource availability Adds administrative oversight to critical paths Critical path: Sequence of tasks such that if any task on the CP is delayed, so is the whole project 22
34
34 Activity network - PERT T8 4/7/99 8 days 14/7/99 15 days 4/8/99 15 days 25/8/99 7 days 5/9/99 10 days 19/9/99 15 days 11/8/99 25 days 10 days 20 days 5 days 25/7/99 15 days 25/7/99 18/7/99 10 days T1 M1T3 T9 M6 T11 M8 T12 M4
35
35 Activity timeline - Gantt
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.