SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
Planning and Managing Software Projects 2011-12
Class 9

Scheduling
Fundamentals, Techniques, Optimization

Emanuele Della Valle, Lecturer: Dario Cerizza
http://emanueledellavalle.org
Credits                                                           2

 This slides are partially based on CEFRIEL’s slides for
  PMI Certification and largely based on Prof. John
  Musser class notes on “Principles of Software Project
  Management”
 Original slides are available at
  http://www.projectreference.com/
 Reuse and republish permission was granted




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                             3

 Class 7 and 8 Review
 Scheduling Fundamentals
 Scheduling Techniques
      • Network Diagrams
      • Bar Charts
 Schedule Optimization Techniques




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 and 8 Review                                              4

 WBS
 Estimation




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 and 8 Review
WBS                                                               5

 Types: Process, Product, Hybrid
 Formats: Outline or graphical organizational chart
 High-level WBS does not show durations and
  dependencies
 WBS becomes input to many things, esp. schedule
 What hurts most is what’s missing  100% Rule:
      • the sum of the work on the children must be equal to
        100% of the work referred by the parent
      • no work outside the scope of the project is in the WBS




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 and 8 Review
Estimation                                                        6

 Estimation is the process of determining the effort and
  the duration of activities


 Setting realistic expectations is the single most
  important task of a project
 “Unrealistic expectations based on inaccurate
  estimates are the single largest cause of software
  failure.”
      • Futrell, Shafer, Shafer, “Quality Software Project
        Management”




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 and 8
Estimation                                                        7

 Use multiple methods if possible
      • This reduces your risk
      • If using “experts”, use two
 History is your best ally
      • Especially when using Function Points, LOC (Lines of
        Code), …
 Get buy-in
      • Involve who will do the work in the estimation process
 Remember: estimation is an iterative process!
      • Esteems must be updated during project execution
 Know your “presentation” techniques
      • Esteems ranges
      • Different esteems with different probabilities



 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 and 8
Estimation                                                               8

 Bottom-up
              – More work to create but more accurate
              – Often with Expert Judgment at the task level (buy-in)

 Top-down
              – Used in the earliest phases
              – Usually as is the case with Analogy or Expert Judgment

 Analogy
              – Comparison with previous project: formal or informal

 Expert Judgment
              – Via staff members who will do the work
              – Most common technique along with analogy
              – Best if multiple ‘experts’ are consulted




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 and 8
Estimation                                                        9

 Parametric Methods
      • Know the trade-offs of: LOC & Function Points


 Function Points
      • Benefit: relatively independent of the technology used to
        develop the system
      • We will re-visit this briefly later in semester (when
        discussing “software metrics”)




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                             10

 Scheduling Fundamentals
 Scheduling Techniques
      • Network Diagrams
      • Bar Charts
 Schedule Optimization Techniques




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Initial Planning, Estimating and Scheduling                                                11

 Initial Planning:
              – It’s needed for the SOW and the Project Charter
              – It answers to the question: What/How
                      -     WBS (1st pass)
                      -     Should consider activities for other project management
                            documents
                              -     Software Development Plan, Risk Mgmt., Cfg. Mgmt.

 Estimating
              – It answers to the question: How much/How long
                      -     Size (quantity/complexity) and Effort (duration)
                      -     It’s an iterative process

 Scheduling
              – It answers to the question: In which order
                      -     Precedence, concurrences, lag & lead times, slack & float, …
                      -     It’s an iterative process



 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
What Scheduling is                                                12

 Once tasks (from the WBS) and effort/duration (from
  estimation) are known: then “scheduling”
 Scheduling is the definition of the start and the end
  time of each activity/task
      • Requires the definition of dependencies among tasks
        and the assignment of resources
 The result of scheduling is a plan that defint:
      • Who
      • does What
      • by When




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Scheduling Objectives                                                   13

 Scheduling aims to find a trade-off among six
  objectives:
      • Primary objectives
              1. Best time
              2. Least cost
              3. Least risk
      • Secondary objectives
              4. Propose and evaluate different schedule alternatives
              5. Make an effective use of resources
              6. Reduce communication overhead among resources




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
4 reasons for dependencies among tasks                                  14

1. Mandatory Dependencies
         •     These are “Hard logic” dependencies
         •     Nature of the work dictates an ordering
         •     Ex: UI design precedes UI implementation
         •     Ex: Coding has to precede testing (*)
2. Discretionary Dependencies
         •     “Soft logic” dependencies
         •     Determined by the project management team
         •     Process-driven
         •     Ex: Discretionary order of creating certain modules
         •     Ex: First Front-end, then Back-End (because the
               opposite order is also meaningful)
      (*) NOTE: substantial process innovation often take place when
       “hard logic” dependencies are shown to be wrong
         •     Ex: Test first approaches

    Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
4 reasons for dependencies among tasks                            15

3. External Dependencies
      • Outside of the project itself
      • Ex: Release of 3rd party product; contract signoff
      • Ex: stakeholders, suppliers, year end


4. Resource Dependencies
      • Two task rely on the same resource
      • Ex: You have only one DBA but multiple DB tasks
      • Ex: You have only one server but different software
        versions needs multiple installations




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Milestones                                                        16

 Identify crucial points in your schedule


 Have a duration of zero
 Typically shown as inverted triangle or a diamond
 Often used at “review” or “delivery” times
      • Or at end or beginning of phases
      • Ex: Software Requirements Review (SRR)
      • Ex: Delivery of working component
 Can be tied to contract terms
      • Ex: User Sign-off




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Example Milestones over the waterfall process                     17




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                             18

 Scheduling Fundamentals
 Scheduling Techniques
      • Network Diagrams
      • Bar Charts
 Schedule Optimization Techniques




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Techniques                                             19

 Network Diagrams
      • CPM
      • PERT
 Bar Charts
      • Milestone Chart
      • Gantt Chart




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Techniques
Network Diagrams                                                  20

 Developed in the 1950’s
 A graphical representation of the tasks necessary to
  complete a project
 Clearly visualizes the flow of tasks & relationships




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM & PERT                                                        21

 CPM
      • Critical Path Method
 PERT
      • Program Evaluation and Review Technique
 Sometimes treated synonymously
 All are models using network diagrams




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Two classic formats                                               22

 Two classic formats
      • AOA: Activity on Arrow
      • AON: Activity on Node
 Each activity labeled with
      • Identifier (usually a letter/code)
      • Duration (in standard unit like days)
 There are other variations of labeling
 There is one start & one end event
 Time goes from left to right




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Formats                                                           23




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Formats                                                               24

 AOA
      • Activities on Arrows
      • Circles representing Events
              – Such as ‘start’ or ‘end’ of a given task
      • Lines representing Tasks
              – Thing being done ‘Build UI’
      • a.k.a. Arrow Diagramming Method (ADM)


 AON
      • Activities on Nodes
              – Nodes can be circles or rectangles (usually latter)
              – Task information written on node
      • Arrows are dependencies between tasks
      • a.k.a. Precedence Diagramming Method (PDM)

 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
AOA Example                                                       25




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
AON Example                                                       26




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path                                                      27

 A Critical Path is a specific set of sequential tasks upon
  which the project completion date depends


 Tasks on the critical path cannot be delayed without
  delaying the project completion day
      • If a task on the critical path is delayed by 1 day, then
        the project completion date is delayed (at least) by 1
        day


 All projects have at least one Critical Path
      • Critical Paths are the paths with duration = total project
        duration



 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path: an Example on AOA diagram                          28

 How many paths are here?
 Which one is the Critical Path?




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path: some Corollaries                                   29

 Delaying tasks on the critical path directly lengthens
  the schedule
 Accelerating tasks on the critical path does NOT
  directly shorten the schedule
      • Critical Path may change to another as you shorten the
        current critical path
 Delaying tasks NOT on the critical path does NOT
  directly lengthen the schedule
      • Tasks out of the critical path have a little amount of time
        (named slack) that let them to be delayed without
        impacting on the project completion date
 Accelerating tasks NOT on the critical path does NOT
  change the project completion date
      • Their slack increases



 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path Method (CPM)                                        30

 The process for determining and optimizing the critical
  path
 Should be done in conjunction with the project
  manager & the functional manager
 Based upon a 2-passes approach
      • Forward Pass and Backward Pass
 As result of the 2-passes, the critical path becomes
  evident


              (This exercise is part of course exams!)




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Forward Pass                                                 31

 Used to determine early start (ES) and early finish
  (EF) times for each task
 Work from left to right
 Adding times to each node and each path
 Rule: when several tasks converge, the ES for the
  next task is the largest of preceding EF times




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Forward (part 1)                                    32




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Forward (part 2)                                    33




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Backward Pass                                                34

 Used to determine the late finish (LF) and late start
  (LS) times
 Start at the end node and move backward left
 Subtract duration from connecting node’s earliest start
  time
 Rule: when several tasks converge, the last finish for
  the previous task is the smallest of following last
  start times




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Backward (part 1)                                   35




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Backward (part 2)                                         36




                                                                  180




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Compute Slacks and Identify Critical Paths                              37

Slack = Late Finish – Early Finish = Late Start – Early Start
Critical Path: all tasks with slack = 0




                                                                   30




   0                              0                                0          0   0




                                90                                 90   180




  Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM and Slack & Reserve                                                                     38


                                                                  Reserve
                                                                   Time      

     Forward
      Pass
                                                                  Expected
                                                                   Finish

                                                                                 Backward
                                       All the tasks will                          Pass
                                        have slack >0

                      Start                                           Project Due
                      Date                                               Date
                                              These are given
 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM and Slack & Reserve                                                               39


                                                                          Negative
                                                                           Slack      

     Forward
      Pass
                                                                           Expected
                                                                            Finish


                                                                        Backward
                                  All the tasks will                      Pass
                                   have slack <0

                      Start                                       Project Due
                      Date                                           Date
 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Advantages and Disadvantages                                         40

 Advantages
      •     Show precedence well
      •     Reveal interdependencies not shown in other techniques
      •     Ability to calculate critical path
      •     Ability to perform “what if” exercises


 Disadvantages
      • Default model assumes resources are unlimited
              – You need to incorporate this yourself (Resource
                Dependencies) when determining the “real” Critical Path
      • Difficult to follow on large projects




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT                                                              41

 Program Evaluation and Review Technique
 Based on idea that estimates are uncertain
      • Therefore uses duration ranges
      • And the probability of falling to a given range
 First is done on each task, then at project level
For each task:
1) Start with 3 estimates for each task
      • Optimistic
              – Would likely occur 1 time in 20
      • Most likely
              – Modal value of the distribution
      • Pessimistic
              – Would be exceeded only one time in 20


 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT Formula                                                              42

2) Calculate the expected time of each task:




3) Calculate the standard deviation of each task:

                                                                  i   i
                                               i




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
MEMO: bell curve (normal distribution)                                                      43




[source : http://www.fontys.nl/lerarenopleiding/tilburg/engels/Toetsing/bell_curve2.gif ]
  Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT Example on a single task                                                     44

      Planner 1 (P1) and Planner 2 (P2) are asked to estimate m,
       a and b for a task
                                                        Planner 1     Planner 2
                              m                                 10d      10d
                               a                                 9d      9d
                               b                                12d      20d

      Calculate estimated time and standard deviation
                                                        Planner 1     Planner 2
                   PERT time                                 10.2d      11.5d
                     Std. Dev.                                 0.5d     1.8d

      With the (34%+34%=) 68% of probability
         •     Planner 1 says that task will last between 9.7 to 10.7 days
         •     Planner 2 says that task will last between 9.7 to 13.3 days

    Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT Formula                                                      45

For the whole project:
1) Update the network diagram with the expected time of
each task


2) Calculate the critical path with the CPM method
               Result is the expected time of the whole project


3) For each task in the critical path, calculate the
standard deviation of the project as:




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT: Advantages and Disadvantages                                46

 Advantages
      • Accounts for uncertainty


 Disadvantages
      •     Time and labor intensive
      •     Assumption of unlimited resources is big issue
      •     Lack of functional ownership of estimates
      •     Mostly only used on large, complex project


 Get PERT software to calculate it for you




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM vs. PERT                                                      47

 Both use Network Diagrams
 CPM: deterministic
 PERT: probabilistic
 CPM: one estimate, PERT, three estimates
 PERT is infrequently used




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Techniques                                             48

 Network Diagrams
      • CPM
      • PERT
 Bar Charts
      • Milestone Chart
      • Gantt Chart




 Planning and Managing Software Projects – Emanuele Della Valle
Bar Charts
Milestone Chart                                                   49

 It shows the temporal sequence of tasks
      • One bar per each task
      • Bar length is proportional to task duration
 It shows only more general tasks of the WBS




 Planning and Managing Software Projects – Emanuele Della Valle
Bar Charts
Gantt Chart                                                        50

 As the milestone chart, it shows the temporal
  sequence of tasks and their duration
 Moreover
      • It consider all tasks organized in groups and subgroups
      • It shows dependencies among tasks
 It may also show:
      • Start and end dates of each task
      • Resources involved in each task
      • Percentage of completion of each task (useful during
        project controlling phases)
      • Today date
   (Next lab lesson will entirely focus in drawing Gantt charts)
                   (A Gantt chart is required by last homework)


 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
An example                                                        51




 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Precedence and Concurrence                                                                    52

 Precedence:
      • A task that must occur before another is said:
              – To have precedence of the other
                      -     or                                           A         B
              – To be a predecessor of the other



 Concurrence:
      • Concurrent tasks are those that can occur in parallel at
        the same time
              – Completely overlapped                             or   Partially overlapped

                                         A                                     A
                                         B                                         B

 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Dependency types                                                                              53

 Finish-to-start: “A f-to-s B”: B
                                                                                    FS
    cannot start until A finishes. B can                                   A             B
    start after A finishes.

 Start-to-start: “A s-to-s B”: B cannot                           A
    start until A starts. B can start after A                     SS
    starts.                                                        B

 Finish-to-finish: “A f-to-f B“: B                                                  A
    cannot finish until A finishes. B can                                                FF
    finish after A finishes                                                          B

 Start-to-finish: “A s-to-f B“: B cannot
    finish until A starts. B can finish after                                       A
                                                                               SF
    A starts.
                                                                       B
 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Dependency types (test)                                                                  54

 Which ones are wrong?


       A                                                A                      A
      SS                                                          FF                FF
              B                                         B                  B


                                                                           FS
             A                                                    A    A
                                                            SF                       B
               SF
                                                                               FS
    B                                         B
                                                                           C




 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Lag Time                                                                              55

 It means a delay between tasks in sequence
 Example: if "A f-to-s B" and lag is equal to 10, B can
  start only 10 days after A end



                                           A                      FS +   lag
                                                                     B


                                                                               time
                                                     Lag Time




 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Lead Time                                                                       56

 It means an advance between tasks in sequence
 Example: if "A f-to-s B" and lead is equal to 10, B can
  start 10 days before A end




                                     A                     FS -   lead
                                                 B

                                                                         time



 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Slack & Float                                                                  57

 When the schedule contains some concurrent tasks, it
  may happen that some “free” time is between tasks


                                                                          FS
                                                                   FS

                                                             Slack Time



 A Slack is the amount of time that a task can be
  delayed without causing a delay to:
      • any downstream task (named Free Slack)
      • the end of the project (named Total Slack)
 Slack & Float are synonymous terms
      • We’ll use Slack


 Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Free Slack                                                               58

 Free Slack: Maximum delay of a task without causing
  a delay for any downstream task
      Example
       • A and B can be activated as soon as possible
       • Relationships
                 – “A finish-to-start C”
                 – “B finish-to-start C”




                                                  Free Slack of Task B




    Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Total Slack                                                           59

 Total Slack: Maximum delay of a task without causing
  a delay for the end of the project
         • It can cause delays to some downstream tasks




      Normally, if not specified, slack stands for total slack (as
       we did in the CPM)

    Planning and Managing Software Projects – Emanuele Della Valle
Gantt Chart
Advantages and Disadvantages                                      60

 Advantages
      •     Easily understood
      •     Easily created and maintained
      •     Good support from software tools
           Largely used
 Disadvantages
      • It has difficulties to show complex relationships among
        tasks (network diagrams are better in this)
      • It does not show uncertainty of a given activity (as does
        PERT)




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                             61

 Scheduling Fundamentals
 Scheduling Techniques
      • Network Diagrams
      • Bar Charts
 Schedule Optimization Techniques




 Planning and Managing Software Projects – Emanuele Della Valle
Schedule Optimization Techniques                                                62

 Several techniques may be adopted to shorten the
  schedule
      • They act on the Trade-off Triangle (time, scope, cost)
1. Re-organize schedule:
      •       Split and merge tasks to reduce dependencies and
              slacks
      •       Move resources among tasks to better spread their
              effort in the time
             –       A senior developer may act as a junior admin if needed
      •       Advantage: focus on a pure schedule optimization with
              no impact on scope and cost
      •       Disadvantages: risks increase
             –       The schedule may become difficult to respect
             –       Delays have stronger impact on the project (since slacks
                     are reduces)
             –       Resources may loose their motivation


 Planning and Managing Software Projects – Emanuele Della Valle
Schedule Optimization Techniques                                                       63

2. Reduce scope:
      •       Reduce requirements and consequently remove whole
              tasks
              – Advantage: cost and time reduction
              – Disadvantage: customers may not accept this
              – e.g. less tests, worsen performances, less graphics


      •       Reduce quality of software doing some tasks faster
              – e.g. less tests, worsen performances, less graphics
              – Disadvantages:
                      -     Customers and marketers may not accept this
                      -     Poorly tested software may cost more in the long time due to
                            dependencies with other parts




 Planning and Managing Software Projects – Emanuele Della Valle
Schedule Optimization Techniques                                                         64

3. Increase cost:
      • Crashing: Add resources to tasks
              – To shorten tasks
                      -     E.g. 2 developers may do the same work in less time
              – To break resource dependencies
                      -     E.g. another developer permits to parallelize tasks that would
                            otherwise be sequential
              – Disadvantage: increased costs
      • Fast Tracking: Break dependencies (both discretionary
        and some mandatory dependencies)
              – Such tasks become overlapped even if they should be
                sequential
                      -     E.g. developing data model and business logic in parallel
              – Disadvantages:
                      -     New resources may be needed on concurrent tasks (cost
                            increases)
                      -     Since some tasks need inputs from other parallel tasks, some
                            effort is spent in working with unstable inputs and some
                            rework may occur (cost increases)
 Planning and Managing Software Projects – Emanuele Della Valle
Questions?                                                       74




Planning and Managing Software Projects – Emanuele Della Valle

Contenu connexe

Tendances

Project planning and scheduling
Project planning and schedulingProject planning and scheduling
Project planning and schedulingadeel hamid
 
Project Management Principles and Process
Project Management Principles and ProcessProject Management Principles and Process
Project Management Principles and ProcessCharles Cotter, PhD
 
PROJECT SCHEDULE
PROJECT SCHEDULEPROJECT SCHEDULE
PROJECT SCHEDULEAjeesh Mk
 
PROJECT PLANNING AND MANAGEMENT
PROJECT PLANNING AND MANAGEMENTPROJECT PLANNING AND MANAGEMENT
PROJECT PLANNING AND MANAGEMENTAbraham Ncunge
 
An Introduction To Project Management
An Introduction To Project ManagementAn Introduction To Project Management
An Introduction To Project ManagementAshish Mittal
 
Project management process and Project Management Knowledge areas
Project management process and Project Management Knowledge areasProject management process and Project Management Knowledge areas
Project management process and Project Management Knowledge areasMazen Zbib
 
Project management-planning and scheduling
Project management-planning and schedulingProject management-planning and scheduling
Project management-planning and schedulingAditi Garg
 
Project scheduling and resource levelling_Construction Management
Project scheduling and resource levelling_Construction Management Project scheduling and resource levelling_Construction Management
Project scheduling and resource levelling_Construction Management A Makwana
 
Project management
Project managementProject management
Project managementSimran Kaur
 
Productivity improvement in construction
Productivity  improvement in constructionProductivity  improvement in construction
Productivity improvement in constructionKabilanP1
 
Project Schedule Management - PMBOK6
Project Schedule Management - PMBOK6Project Schedule Management - PMBOK6
Project Schedule Management - PMBOK6Agus Suhanto
 
Work breakdown structure in project management ppt by kiran j
Work breakdown structure in project management ppt by kiran jWork breakdown structure in project management ppt by kiran j
Work breakdown structure in project management ppt by kiran jIIT delhi
 

Tendances (20)

Project planning and scheduling
Project planning and schedulingProject planning and scheduling
Project planning and scheduling
 
Project Management Principles and Process
Project Management Principles and ProcessProject Management Principles and Process
Project Management Principles and Process
 
PROJECT SCHEDULE
PROJECT SCHEDULEPROJECT SCHEDULE
PROJECT SCHEDULE
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
PROJECT PLANNING AND MANAGEMENT
PROJECT PLANNING AND MANAGEMENTPROJECT PLANNING AND MANAGEMENT
PROJECT PLANNING AND MANAGEMENT
 
Project management techniques
Project management techniquesProject management techniques
Project management techniques
 
An Introduction To Project Management
An Introduction To Project ManagementAn Introduction To Project Management
An Introduction To Project Management
 
Project Management Tools and Techniques
Project Management Tools and TechniquesProject Management Tools and Techniques
Project Management Tools and Techniques
 
Project cost management-slides
Project cost management-slidesProject cost management-slides
Project cost management-slides
 
Project time management
Project time managementProject time management
Project time management
 
Project management process and Project Management Knowledge areas
Project management process and Project Management Knowledge areasProject management process and Project Management Knowledge areas
Project management process and Project Management Knowledge areas
 
07 project cost management
07 project cost management07 project cost management
07 project cost management
 
Project management-planning and scheduling
Project management-planning and schedulingProject management-planning and scheduling
Project management-planning and scheduling
 
crashing of project
crashing of project crashing of project
crashing of project
 
Project scheduling and resource levelling_Construction Management
Project scheduling and resource levelling_Construction Management Project scheduling and resource levelling_Construction Management
Project scheduling and resource levelling_Construction Management
 
Project management
Project managementProject management
Project management
 
Project Management Tools
Project Management ToolsProject Management Tools
Project Management Tools
 
Productivity improvement in construction
Productivity  improvement in constructionProductivity  improvement in construction
Productivity improvement in construction
 
Project Schedule Management - PMBOK6
Project Schedule Management - PMBOK6Project Schedule Management - PMBOK6
Project Schedule Management - PMBOK6
 
Work breakdown structure in project management ppt by kiran j
Work breakdown structure in project management ppt by kiran jWork breakdown structure in project management ppt by kiran j
Work breakdown structure in project management ppt by kiran j
 

En vedette

Ms project management
Ms  project managementMs  project management
Ms project managementchinunki4
 
Maintenance and Management Best Practices from Support
Maintenance and Management Best Practices from SupportMaintenance and Management Best Practices from Support
Maintenance and Management Best Practices from SupportCA | Automic Software
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering3Quill Softwares
 
Time cost optimisation
Time cost optimisationTime cost optimisation
Time cost optimisationCharul Sharma
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software MaintenanceIfan Dhani
 
Software development best practices & coding guidelines
Software development best practices & coding guidelinesSoftware development best practices & coding guidelines
Software development best practices & coding guidelinesAnkur Goyal
 
Operations and-maintenance-best-practices
Operations and-maintenance-best-practicesOperations and-maintenance-best-practices
Operations and-maintenance-best-practicesNikhil Nangia
 
Lecture5---Gantt Chart
Lecture5---Gantt ChartLecture5---Gantt Chart
Lecture5---Gantt Chartdanishrafiq
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 

En vedette (15)

Ms project management
Ms  project managementMs  project management
Ms project management
 
Maintenance and Management Best Practices from Support
Maintenance and Management Best Practices from SupportMaintenance and Management Best Practices from Support
Maintenance and Management Best Practices from Support
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
 
Time cost optimisation
Time cost optimisationTime cost optimisation
Time cost optimisation
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
Software development best practices & coding guidelines
Software development best practices & coding guidelinesSoftware development best practices & coding guidelines
Software development best practices & coding guidelines
 
Gantt
GanttGantt
Gantt
 
Gantt chart
Gantt chartGantt chart
Gantt chart
 
12 software maintenance
12 software maintenance12 software maintenance
12 software maintenance
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Gantt Charts
Gantt ChartsGantt Charts
Gantt Charts
 
Operations and-maintenance-best-practices
Operations and-maintenance-best-practicesOperations and-maintenance-best-practices
Operations and-maintenance-best-practices
 
Lecture5---Gantt Chart
Lecture5---Gantt ChartLecture5---Gantt Chart
Lecture5---Gantt Chart
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 

Similaire à Scheduling

P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-managementEmanuele Della Valle
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsEmanuele Della Valle
 
Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningEmanuele Della Valle
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project ManagementEmanuele Della Valle
 
Overview Of Project Management - P&MSP2010 (2/11)
Overview Of Project Management - P&MSP2010 (2/11)Overview Of Project Management - P&MSP2010 (2/11)
Overview Of Project Management - P&MSP2010 (2/11)Emanuele Della Valle
 
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Emanuele Della Valle
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software ProjectsEmanuele Della Valle
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Jkumararaja
 
Software Project Management - Classic Mistakes
Software Project Management - Classic MistakesSoftware Project Management - Classic Mistakes
Software Project Management - Classic MistakesEmanuele Della Valle
 

Similaire à Scheduling (20)

Estimation
EstimationEstimation
Estimation
 
P&msp2010 04 wbs-and-estimation
P&msp2010 04 wbs-and-estimationP&msp2010 04 wbs-and-estimation
P&msp2010 04 wbs-and-estimation
 
P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-management
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentals
 
Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle Planning
 
Work Breakdown Structure
Work Breakdown StructureWork Breakdown Structure
Work Breakdown Structure
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project Management
 
Overview Of Project Management - P&MSP2010 (2/11)
Overview Of Project Management - P&MSP2010 (2/11)Overview Of Project Management - P&MSP2010 (2/11)
Overview Of Project Management - P&MSP2010 (2/11)
 
Planning Phase - P&MSP2010 (3/11)
Planning Phase - P&MSP2010 (3/11)Planning Phase - P&MSP2010 (3/11)
Planning Phase - P&MSP2010 (3/11)
 
P&msp2010 05 scheduling
P&msp2010 05 schedulingP&msp2010 05 scheduling
P&msp2010 05 scheduling
 
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
 
P&msp2010 10 project-control
P&msp2010 10 project-controlP&msp2010 10 project-control
P&msp2010 10 project-control
 
P&msp2010 11 final-stages
P&msp2010 11 final-stagesP&msp2010 11 final-stages
P&msp2010 11 final-stages
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software Projects
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
 
Spm tutorials
Spm tutorialsSpm tutorials
Spm tutorials
 
Unit 1 spm
Unit 1  spmUnit 1  spm
Unit 1 spm
 
Unit 1 spm
Unit 1  spmUnit 1  spm
Unit 1 spm
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
Software Project Management - Classic Mistakes
Software Project Management - Classic MistakesSoftware Project Management - Classic Mistakes
Software Project Management - Classic Mistakes
 

Plus de Emanuele Della Valle

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streamsEmanuele Della Valle
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningEmanuele Della Valle
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search enginesEmanuele Della Valle
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoEmanuele Della Valle
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Emanuele Della Valle
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...Emanuele Della Valle
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Emanuele Della Valle
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create valueEmanuele Della Valle
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Emanuele Della Valle
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Emanuele Della Valle
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Emanuele Della Valle
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesEmanuele Della Valle
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Emanuele Della Valle
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Emanuele Della Valle
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Emanuele Della Valle
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)Emanuele Della Valle
 

Plus de Emanuele Della Valle (20)

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streams
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream Reasoning
 
Big Data and Data Science W's
Big Data and Data Science W'sBig Data and Data Science W's
Big Data and Data Science W's
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - Fluxedo
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create value
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic Technologies
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)
 

Dernier

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 

Dernier (20)

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 

Scheduling

  • 1. Planning and Managing Software Projects 2011-12 Class 9 Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza http://emanueledellavalle.org
  • 2. Credits 2  This slides are partially based on CEFRIEL’s slides for PMI Certification and largely based on Prof. John Musser class notes on “Principles of Software Project Management”  Original slides are available at http://www.projectreference.com/  Reuse and republish permission was granted Planning and Managing Software Projects – Emanuele Della Valle
  • 3. Today 3  Class 7 and 8 Review  Scheduling Fundamentals  Scheduling Techniques • Network Diagrams • Bar Charts  Schedule Optimization Techniques Planning and Managing Software Projects – Emanuele Della Valle
  • 4. Class 7 and 8 Review 4  WBS  Estimation Planning and Managing Software Projects – Emanuele Della Valle
  • 5. Class 7 and 8 Review WBS 5  Types: Process, Product, Hybrid  Formats: Outline or graphical organizational chart  High-level WBS does not show durations and dependencies  WBS becomes input to many things, esp. schedule  What hurts most is what’s missing  100% Rule: • the sum of the work on the children must be equal to 100% of the work referred by the parent • no work outside the scope of the project is in the WBS Planning and Managing Software Projects – Emanuele Della Valle
  • 6. Class 7 and 8 Review Estimation 6  Estimation is the process of determining the effort and the duration of activities  Setting realistic expectations is the single most important task of a project  “Unrealistic expectations based on inaccurate estimates are the single largest cause of software failure.” • Futrell, Shafer, Shafer, “Quality Software Project Management” Planning and Managing Software Projects – Emanuele Della Valle
  • 7. Class 7 and 8 Estimation 7  Use multiple methods if possible • This reduces your risk • If using “experts”, use two  History is your best ally • Especially when using Function Points, LOC (Lines of Code), …  Get buy-in • Involve who will do the work in the estimation process  Remember: estimation is an iterative process! • Esteems must be updated during project execution  Know your “presentation” techniques • Esteems ranges • Different esteems with different probabilities Planning and Managing Software Projects – Emanuele Della Valle
  • 8. Class 7 and 8 Estimation 8  Bottom-up – More work to create but more accurate – Often with Expert Judgment at the task level (buy-in)  Top-down – Used in the earliest phases – Usually as is the case with Analogy or Expert Judgment  Analogy – Comparison with previous project: formal or informal  Expert Judgment – Via staff members who will do the work – Most common technique along with analogy – Best if multiple ‘experts’ are consulted Planning and Managing Software Projects – Emanuele Della Valle
  • 9. Class 7 and 8 Estimation 9  Parametric Methods • Know the trade-offs of: LOC & Function Points  Function Points • Benefit: relatively independent of the technology used to develop the system • We will re-visit this briefly later in semester (when discussing “software metrics”) Planning and Managing Software Projects – Emanuele Della Valle
  • 10. Today 10  Scheduling Fundamentals  Scheduling Techniques • Network Diagrams • Bar Charts  Schedule Optimization Techniques Planning and Managing Software Projects – Emanuele Della Valle
  • 11. Scheduling Fundamentals Initial Planning, Estimating and Scheduling 11  Initial Planning: – It’s needed for the SOW and the Project Charter – It answers to the question: What/How - WBS (1st pass) - Should consider activities for other project management documents - Software Development Plan, Risk Mgmt., Cfg. Mgmt.  Estimating – It answers to the question: How much/How long - Size (quantity/complexity) and Effort (duration) - It’s an iterative process  Scheduling – It answers to the question: In which order - Precedence, concurrences, lag & lead times, slack & float, … - It’s an iterative process Planning and Managing Software Projects – Emanuele Della Valle
  • 12. Scheduling Fundamentals What Scheduling is 12  Once tasks (from the WBS) and effort/duration (from estimation) are known: then “scheduling”  Scheduling is the definition of the start and the end time of each activity/task • Requires the definition of dependencies among tasks and the assignment of resources  The result of scheduling is a plan that defint: • Who • does What • by When Planning and Managing Software Projects – Emanuele Della Valle
  • 13. Scheduling Fundamentals Scheduling Objectives 13  Scheduling aims to find a trade-off among six objectives: • Primary objectives 1. Best time 2. Least cost 3. Least risk • Secondary objectives 4. Propose and evaluate different schedule alternatives 5. Make an effective use of resources 6. Reduce communication overhead among resources Planning and Managing Software Projects – Emanuele Della Valle
  • 14. Scheduling Fundamentals 4 reasons for dependencies among tasks 14 1. Mandatory Dependencies • These are “Hard logic” dependencies • Nature of the work dictates an ordering • Ex: UI design precedes UI implementation • Ex: Coding has to precede testing (*) 2. Discretionary Dependencies • “Soft logic” dependencies • Determined by the project management team • Process-driven • Ex: Discretionary order of creating certain modules • Ex: First Front-end, then Back-End (because the opposite order is also meaningful)  (*) NOTE: substantial process innovation often take place when “hard logic” dependencies are shown to be wrong • Ex: Test first approaches Planning and Managing Software Projects – Emanuele Della Valle
  • 15. Scheduling Fundamentals 4 reasons for dependencies among tasks 15 3. External Dependencies • Outside of the project itself • Ex: Release of 3rd party product; contract signoff • Ex: stakeholders, suppliers, year end 4. Resource Dependencies • Two task rely on the same resource • Ex: You have only one DBA but multiple DB tasks • Ex: You have only one server but different software versions needs multiple installations Planning and Managing Software Projects – Emanuele Della Valle
  • 16. Scheduling Fundamentals Milestones 16  Identify crucial points in your schedule  Have a duration of zero  Typically shown as inverted triangle or a diamond  Often used at “review” or “delivery” times • Or at end or beginning of phases • Ex: Software Requirements Review (SRR) • Ex: Delivery of working component  Can be tied to contract terms • Ex: User Sign-off Planning and Managing Software Projects – Emanuele Della Valle
  • 17. Scheduling Fundamentals Example Milestones over the waterfall process 17 Planning and Managing Software Projects – Emanuele Della Valle
  • 18. Today 18  Scheduling Fundamentals  Scheduling Techniques • Network Diagrams • Bar Charts  Schedule Optimization Techniques Planning and Managing Software Projects – Emanuele Della Valle
  • 19. Scheduling Techniques 19  Network Diagrams • CPM • PERT  Bar Charts • Milestone Chart • Gantt Chart Planning and Managing Software Projects – Emanuele Della Valle
  • 20. Scheduling Techniques Network Diagrams 20  Developed in the 1950’s  A graphical representation of the tasks necessary to complete a project  Clearly visualizes the flow of tasks & relationships Planning and Managing Software Projects – Emanuele Della Valle
  • 21. Network Diagrams CPM & PERT 21  CPM • Critical Path Method  PERT • Program Evaluation and Review Technique  Sometimes treated synonymously  All are models using network diagrams Planning and Managing Software Projects – Emanuele Della Valle
  • 22. Network Diagrams Two classic formats 22  Two classic formats • AOA: Activity on Arrow • AON: Activity on Node  Each activity labeled with • Identifier (usually a letter/code) • Duration (in standard unit like days)  There are other variations of labeling  There is one start & one end event  Time goes from left to right Planning and Managing Software Projects – Emanuele Della Valle
  • 23. Network Diagrams Formats 23 Planning and Managing Software Projects – Emanuele Della Valle
  • 24. Network Diagrams Formats 24  AOA • Activities on Arrows • Circles representing Events – Such as ‘start’ or ‘end’ of a given task • Lines representing Tasks – Thing being done ‘Build UI’ • a.k.a. Arrow Diagramming Method (ADM)  AON • Activities on Nodes – Nodes can be circles or rectangles (usually latter) – Task information written on node • Arrows are dependencies between tasks • a.k.a. Precedence Diagramming Method (PDM) Planning and Managing Software Projects – Emanuele Della Valle
  • 25. Network Diagrams AOA Example 25 Planning and Managing Software Projects – Emanuele Della Valle
  • 26. Network Diagrams AON Example 26 Planning and Managing Software Projects – Emanuele Della Valle
  • 27. Network Diagrams Critical Path 27  A Critical Path is a specific set of sequential tasks upon which the project completion date depends  Tasks on the critical path cannot be delayed without delaying the project completion day • If a task on the critical path is delayed by 1 day, then the project completion date is delayed (at least) by 1 day  All projects have at least one Critical Path • Critical Paths are the paths with duration = total project duration Planning and Managing Software Projects – Emanuele Della Valle
  • 28. Network Diagrams Critical Path: an Example on AOA diagram 28  How many paths are here?  Which one is the Critical Path? Planning and Managing Software Projects – Emanuele Della Valle
  • 29. Network Diagrams Critical Path: some Corollaries 29  Delaying tasks on the critical path directly lengthens the schedule  Accelerating tasks on the critical path does NOT directly shorten the schedule • Critical Path may change to another as you shorten the current critical path  Delaying tasks NOT on the critical path does NOT directly lengthen the schedule • Tasks out of the critical path have a little amount of time (named slack) that let them to be delayed without impacting on the project completion date  Accelerating tasks NOT on the critical path does NOT change the project completion date • Their slack increases Planning and Managing Software Projects – Emanuele Della Valle
  • 30. Network Diagrams Critical Path Method (CPM) 30  The process for determining and optimizing the critical path  Should be done in conjunction with the project manager & the functional manager  Based upon a 2-passes approach • Forward Pass and Backward Pass  As result of the 2-passes, the critical path becomes evident (This exercise is part of course exams!) Planning and Managing Software Projects – Emanuele Della Valle
  • 31. Network Diagrams CPM: Forward Pass 31  Used to determine early start (ES) and early finish (EF) times for each task  Work from left to right  Adding times to each node and each path  Rule: when several tasks converge, the ES for the next task is the largest of preceding EF times Planning and Managing Software Projects – Emanuele Della Valle
  • 32. Network Diagrams CPM: Example: Forward (part 1) 32 Planning and Managing Software Projects – Emanuele Della Valle
  • 33. Network Diagrams CPM: Example: Forward (part 2) 33 Planning and Managing Software Projects – Emanuele Della Valle
  • 34. Network Diagrams CPM: Backward Pass 34  Used to determine the late finish (LF) and late start (LS) times  Start at the end node and move backward left  Subtract duration from connecting node’s earliest start time  Rule: when several tasks converge, the last finish for the previous task is the smallest of following last start times Planning and Managing Software Projects – Emanuele Della Valle
  • 35. Network Diagrams CPM: Example: Backward (part 1) 35 Planning and Managing Software Projects – Emanuele Della Valle
  • 36. Network Diagrams CPM: Example: Backward (part 2) 36 180 Planning and Managing Software Projects – Emanuele Della Valle
  • 37. Network Diagrams CPM: Example: Compute Slacks and Identify Critical Paths 37 Slack = Late Finish – Early Finish = Late Start – Early Start Critical Path: all tasks with slack = 0 30 0 0 0 0 0 90 90 180 Planning and Managing Software Projects – Emanuele Della Valle
  • 38. Network Diagrams CPM and Slack & Reserve 38 Reserve Time  Forward Pass Expected Finish Backward All the tasks will Pass have slack >0 Start Project Due Date Date These are given Planning and Managing Software Projects – Emanuele Della Valle
  • 39. Network Diagrams CPM and Slack & Reserve 39 Negative Slack  Forward Pass Expected Finish Backward All the tasks will Pass have slack <0 Start Project Due Date Date Planning and Managing Software Projects – Emanuele Della Valle
  • 40. Network Diagrams CPM: Advantages and Disadvantages 40  Advantages • Show precedence well • Reveal interdependencies not shown in other techniques • Ability to calculate critical path • Ability to perform “what if” exercises  Disadvantages • Default model assumes resources are unlimited – You need to incorporate this yourself (Resource Dependencies) when determining the “real” Critical Path • Difficult to follow on large projects Planning and Managing Software Projects – Emanuele Della Valle
  • 41. Network Diagrams PERT 41  Program Evaluation and Review Technique  Based on idea that estimates are uncertain • Therefore uses duration ranges • And the probability of falling to a given range  First is done on each task, then at project level For each task: 1) Start with 3 estimates for each task • Optimistic – Would likely occur 1 time in 20 • Most likely – Modal value of the distribution • Pessimistic – Would be exceeded only one time in 20 Planning and Managing Software Projects – Emanuele Della Valle
  • 42. Network Diagrams PERT Formula 42 2) Calculate the expected time of each task: 3) Calculate the standard deviation of each task: i i i Planning and Managing Software Projects – Emanuele Della Valle
  • 43. Network Diagrams MEMO: bell curve (normal distribution) 43 [source : http://www.fontys.nl/lerarenopleiding/tilburg/engels/Toetsing/bell_curve2.gif ] Planning and Managing Software Projects – Emanuele Della Valle
  • 44. Network Diagrams PERT Example on a single task 44  Planner 1 (P1) and Planner 2 (P2) are asked to estimate m, a and b for a task Planner 1 Planner 2 m 10d 10d a 9d 9d b 12d 20d  Calculate estimated time and standard deviation Planner 1 Planner 2 PERT time 10.2d 11.5d Std. Dev. 0.5d 1.8d  With the (34%+34%=) 68% of probability • Planner 1 says that task will last between 9.7 to 10.7 days • Planner 2 says that task will last between 9.7 to 13.3 days Planning and Managing Software Projects – Emanuele Della Valle
  • 45. Network Diagrams PERT Formula 45 For the whole project: 1) Update the network diagram with the expected time of each task 2) Calculate the critical path with the CPM method  Result is the expected time of the whole project 3) For each task in the critical path, calculate the standard deviation of the project as: Planning and Managing Software Projects – Emanuele Della Valle
  • 46. Network Diagrams PERT: Advantages and Disadvantages 46  Advantages • Accounts for uncertainty  Disadvantages • Time and labor intensive • Assumption of unlimited resources is big issue • Lack of functional ownership of estimates • Mostly only used on large, complex project  Get PERT software to calculate it for you Planning and Managing Software Projects – Emanuele Della Valle
  • 47. Network Diagrams CPM vs. PERT 47  Both use Network Diagrams  CPM: deterministic  PERT: probabilistic  CPM: one estimate, PERT, three estimates  PERT is infrequently used Planning and Managing Software Projects – Emanuele Della Valle
  • 48. Scheduling Techniques 48  Network Diagrams • CPM • PERT  Bar Charts • Milestone Chart • Gantt Chart Planning and Managing Software Projects – Emanuele Della Valle
  • 49. Bar Charts Milestone Chart 49  It shows the temporal sequence of tasks • One bar per each task • Bar length is proportional to task duration  It shows only more general tasks of the WBS Planning and Managing Software Projects – Emanuele Della Valle
  • 50. Bar Charts Gantt Chart 50  As the milestone chart, it shows the temporal sequence of tasks and their duration  Moreover • It consider all tasks organized in groups and subgroups • It shows dependencies among tasks  It may also show: • Start and end dates of each task • Resources involved in each task • Percentage of completion of each task (useful during project controlling phases) • Today date (Next lab lesson will entirely focus in drawing Gantt charts) (A Gantt chart is required by last homework) Planning and Managing Software Projects – Emanuele Della Valle
  • 51. Gantt Chart An example 51 Planning and Managing Software Projects – Emanuele Della Valle
  • 52. Gantt Chart Precedence and Concurrence 52  Precedence: • A task that must occur before another is said: – To have precedence of the other - or A B – To be a predecessor of the other  Concurrence: • Concurrent tasks are those that can occur in parallel at the same time – Completely overlapped or Partially overlapped A A B B Planning and Managing Software Projects – Emanuele Della Valle
  • 53. Gantt Chart Dependency types 53  Finish-to-start: “A f-to-s B”: B FS cannot start until A finishes. B can A B start after A finishes.  Start-to-start: “A s-to-s B”: B cannot A start until A starts. B can start after A SS starts. B  Finish-to-finish: “A f-to-f B“: B A cannot finish until A finishes. B can FF finish after A finishes B  Start-to-finish: “A s-to-f B“: B cannot finish until A starts. B can finish after A SF A starts. B Planning and Managing Software Projects – Emanuele Della Valle
  • 54. Gantt Chart Dependency types (test) 54  Which ones are wrong? A A A SS FF FF B B B FS A A A SF B SF FS B B C Planning and Managing Software Projects – Emanuele Della Valle
  • 55. Gantt Chart Lag Time 55  It means a delay between tasks in sequence  Example: if "A f-to-s B" and lag is equal to 10, B can start only 10 days after A end A FS + lag B time Lag Time Planning and Managing Software Projects – Emanuele Della Valle
  • 56. Gantt Chart Lead Time 56  It means an advance between tasks in sequence  Example: if "A f-to-s B" and lead is equal to 10, B can start 10 days before A end A FS - lead B time Planning and Managing Software Projects – Emanuele Della Valle
  • 57. Gantt Chart Slack & Float 57  When the schedule contains some concurrent tasks, it may happen that some “free” time is between tasks FS FS Slack Time  A Slack is the amount of time that a task can be delayed without causing a delay to: • any downstream task (named Free Slack) • the end of the project (named Total Slack)  Slack & Float are synonymous terms • We’ll use Slack Planning and Managing Software Projects – Emanuele Della Valle
  • 58. Gantt Chart Free Slack 58  Free Slack: Maximum delay of a task without causing a delay for any downstream task  Example • A and B can be activated as soon as possible • Relationships – “A finish-to-start C” – “B finish-to-start C” Free Slack of Task B Planning and Managing Software Projects – Emanuele Della Valle
  • 59. Gantt Chart Total Slack 59  Total Slack: Maximum delay of a task without causing a delay for the end of the project • It can cause delays to some downstream tasks  Normally, if not specified, slack stands for total slack (as we did in the CPM) Planning and Managing Software Projects – Emanuele Della Valle
  • 60. Gantt Chart Advantages and Disadvantages 60  Advantages • Easily understood • Easily created and maintained • Good support from software tools  Largely used  Disadvantages • It has difficulties to show complex relationships among tasks (network diagrams are better in this) • It does not show uncertainty of a given activity (as does PERT) Planning and Managing Software Projects – Emanuele Della Valle
  • 61. Today 61  Scheduling Fundamentals  Scheduling Techniques • Network Diagrams • Bar Charts  Schedule Optimization Techniques Planning and Managing Software Projects – Emanuele Della Valle
  • 62. Schedule Optimization Techniques 62  Several techniques may be adopted to shorten the schedule • They act on the Trade-off Triangle (time, scope, cost) 1. Re-organize schedule: • Split and merge tasks to reduce dependencies and slacks • Move resources among tasks to better spread their effort in the time – A senior developer may act as a junior admin if needed • Advantage: focus on a pure schedule optimization with no impact on scope and cost • Disadvantages: risks increase – The schedule may become difficult to respect – Delays have stronger impact on the project (since slacks are reduces) – Resources may loose their motivation Planning and Managing Software Projects – Emanuele Della Valle
  • 63. Schedule Optimization Techniques 63 2. Reduce scope: • Reduce requirements and consequently remove whole tasks – Advantage: cost and time reduction – Disadvantage: customers may not accept this – e.g. less tests, worsen performances, less graphics • Reduce quality of software doing some tasks faster – e.g. less tests, worsen performances, less graphics – Disadvantages: - Customers and marketers may not accept this - Poorly tested software may cost more in the long time due to dependencies with other parts Planning and Managing Software Projects – Emanuele Della Valle
  • 64. Schedule Optimization Techniques 64 3. Increase cost: • Crashing: Add resources to tasks – To shorten tasks - E.g. 2 developers may do the same work in less time – To break resource dependencies - E.g. another developer permits to parallelize tasks that would otherwise be sequential – Disadvantage: increased costs • Fast Tracking: Break dependencies (both discretionary and some mandatory dependencies) – Such tasks become overlapped even if they should be sequential - E.g. developing data model and business logic in parallel – Disadvantages: - New resources may be needed on concurrent tasks (cost increases) - Since some tasks need inputs from other parallel tasks, some effort is spent in working with unstable inputs and some rework may occur (cost increases) Planning and Managing Software Projects – Emanuele Della Valle
  • 65. Questions? 74 Planning and Managing Software Projects – Emanuele Della Valle