Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Web Engineering L3: Project Planning (3/8)

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Project sheduling
Project sheduling
Wird geladen in …3
×

Hier ansehen

1 von 47 Anzeige

Web Engineering L3: Project Planning (3/8)

Herunterladen, um offline zu lesen


This lecture focusses on project planning.
It focuses on:
- work breakdown
- project planning
- PERT
- Critical Path
- Project Tracking and Estimation

The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b


This lecture focusses on project planning.
It focuses on:
- work breakdown
- project planning
- PERT
- Critical Path
- Project Tracking and Estimation

The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Web Engineering L3: Project Planning (3/8) (20)

Weitere von Henry Muccini (20)

Anzeige

Aktuellste (20)

Web Engineering L3: Project Planning (3/8)

  1. 1. Progettazione di Applicazioni Web corso del Master in Web Technology a.a. 2017-2018 https://app.schoology.com/course/1511186315/ Henry Muccini Università degli Studi dell’Aquila 3. Pianificazione del lavoro del team
  2. 2. MWT– Progettazione di Applicazioni Web Henry Muccini 2 Copyright Notice Il materiale riportato in queste slide puo’ essere riutilizzato, parziale o totalmente, a patto che le fonti e gli autori vengano citati Henry Muccini
  3. 3. MWT– Progettazione di Applicazioni Web Henry Muccini 3
  4. 4. MWT– Progettazione di Applicazioni Web Henry Muccini 4 Principi (da L2) #principio: selezionare un insieme di tool di progettazione e sviluppo in modo chiaro e senza proliferazione #principio: individuare un unico canale per lo scambio dei contenuti, definendo regole di classificazione e nomenclatura #principio: Priorità nei requisiti, mai partire dalla comfort-zone, anticipare se possibile i punti 'rischiosi';
  5. 5. MWT– Progettazione di Applicazioni Web Henry Muccini 5 Difficolta’ (da L2) #difficoltà: la difficoltà a volte è indirizzare il cliente verso la soluzione corretta #difficoltà: organizzare il team e pianificare tempi e scadenze #difficoltà: interpretazione errata dei messaggi e conversazione all'interno del team
  6. 6. Project Plan
  7. 7. MWT– Progettazione di Applicazioni Web Henry Muccini 7 The Project Plan Think to the “Marriage Plan”… The project plan sets out: – The resources available to the project – The work breakdown – A schedule for the work Risk analysis
  8. 8. MWT– Progettazione di Applicazioni Web Henry Muccini 8 VIDEO:https://www.youtube.com/watch?v=qkuUBcmmBpk
  9. 9. MWT– Progettazione di Applicazioni Web Henry Muccini 9 Considerazioni dal Video
  10. 10. Work breakdown
  11. 11. MWT– Progettazione di Applicazioni Web Henry Muccini 11 Work breakdown and Planning A Work breakdown reflects the decomposition of a project into subactivities down to a level needed for effective planning and control Project planning involves scheduling all activities such that the constraints are satisfied and resource limits are not exceeded.
  12. 12. MWT– Progettazione di Applicazioni Web Henry Muccini 12 Let us model this… ?
  13. 13. MWT– Progettazione di Applicazioni Web Henry Muccini 13 Activities Have a beginning and end – Often marked by milestones – A milestone is a scheduled event for which some person is held accountable and which is used to measure and control progress. Consume resources – e.g. people and computer time Have dependencies – e.g. Can’t code before we have a specification – Expressed as constraints, a.k.a. precedence relations – Usually temporal, but sometimes deliverables
  14. 14. MWT– Progettazione di Applicazioni Web Henry Muccini 14 Representing Activities Work Breakdown Structure (WBS) – Graphical representation of a project and constituent activities – Can be abstract or highly detailed – Different types exist
  15. 15. MWT– Progettazione di Applicazioni Web Henry Muccini 15 Let us use a real example - WBS
  16. 16. MWT– Progettazione di Applicazioni Web Henry Muccini 16 How to represent activities and their link PERT GANTT chart Activity graph
  17. 17. MWT– Progettazione di Applicazioni Web Henry Muccini 17 PERT Charts PERT = Program Evaluation and Review Technique – First used in 1950s on Polaris missile program Most useful for finding dependencies and minimum schedule time
  18. 18. MWT– Progettazione di Applicazioni Web Henry Muccini 18 Gantt Chart Invented by Henry Gantt in 1910 – Engineer and management scientist – Used on Hoover dam project Like a bar chart version of PERT chart with extra features – Shows activities on a calendar – Depicts additional temporal dependencies • Start activity after the start of… • Start activity before the end of… – Allocate resources to tasks • Budgeting • Can ask what-if questions about allocations
  19. 19. MWT– Progettazione di Applicazioni Web Henry Muccini 19 Example in MS Project: Conference planning
  20. 20. MWT– Progettazione di Applicazioni Web Henry Muccini 20 Tools: some examples MS Project GANNT in Excel: https://www.youtube.com/watch?v=TjxL_hQn5w0 Gantter for Google Drive
  21. 21. MWT– Progettazione di Applicazioni Web Henry Muccini 21 Activity network A graph, where: – Arrow = activity – Node = completion of activity Picture taken from: http://www.cs.mcgill.ca/~cs251/OldCourses/1997/topic30/images/graph2-2-ff.gif
  22. 22. MWT– Progettazione di Applicazioni Web Henry Muccini 22 Critical Path A critical path is a sequence of activities without slack time. – example If activities on a critical path are delayed, the total project is delayed as well. Found by performing a breadth-first search while tracking the duration
  23. 23. MWT– Progettazione di Applicazioni Web Henry Muccini 23 Example: Activity network star t T2 M3 T6 Finish T10 M7T5 T7 M2 T4 M5 T8 4/7 /03 8 da ys 14/7 /03 15 da ys 4/8/03 15 da ys 25/8/03 7 da ys 5/9/03 10da ys 19/9/03 15 da ys 11/8/03 25 da ys 10 da ys 20 da ys 5 da ys 25/7 /03 15 da ys 25/7 /03 18/7 /03 10 da ys T1 M1 T3 T9 M6 T11 M8 T12 M4
  24. 24. Project Tracking
  25. 25. MWT– Progettazione di Applicazioni Web Henry Muccini 25 Project Tracking Effort – Individuals record how much time is spent on various tasks – Cumulative data can be compared to the plan Progress – Milestones – Reports Schedule slippage – Monitor closely on critical path Changes in activities – Need to re-plan (and re-schedule?)
  26. 26. MWT– Progettazione di Applicazioni Web Henry Muccini 26 Recall--Why software fails: other reasons Why (according to developers/testers/customers) – The programmers did not tell the truth about the real status of code, and lower than expected productivity – The management understimated time and did not carefully plan the project – The customer did not know what he wanted We do not produce just Software, we produce systems
  27. 27. MWT– Progettazione di Applicazioni Web Henry Muccini 27 Multiple stakeholders, with different concerns!!
  28. 28. MWT– Progettazione di Applicazioni Web Henry Muccini 28 In the project…
  29. 29. Estimation & project planning
  30. 30. MWT– Progettazione di Applicazioni Web Henry Muccini 30Project plans are based on effort estimates! Poor Estimation Techniques – Guessing – Parkinson's Law – Pricing to win – Budget method Discuss
  31. 31. MWT– Progettazione di Applicazioni Web Henry Muccini 31 Better Estimation Techniques Based on experience or hard data collection – Such techniques requires to “extensively record historical data” Informal: – Expert judgment – Estimation by analogy – Variation: Delphi method Formal: – Algorithmic cost modeling
  32. 32. MWT– Progettazione di Applicazioni Web Henry Muccini 32 Informal Expert judgment + Relatively cheap estimation method. + Can be accurate if (AND ONLY IF) experts have direct experience with similar systems - Does not use hard data Estimation by analogy + Accurate if project data available - Impossible if no comparable project has been undertaken. - Estimates can be inaccurate if details overlooked. -Subsequent similar projects can be quicker.
  33. 33. MWT– Progettazione di Applicazioni Web Henry Muccini 33 Informal: Delphi Method Idea: Create a group expert opinion, while counterbalancing personality factors in process Group of expert estimators + moderator 1. Experts independently create estimates. 2. Moderator collects written estimates from individuals. 3. Estimates are distributed to group. – No names 4. Experts deliver new estimates based on new information from moderator. 5. Continue until consensus is reached.
  34. 34. MWT– Progettazione di Applicazioni Web Henry Muccini 34 Formal: Algorithmic Cost Modeling Cost and development time for a project is estimated from an equation – E.g., Linear model • E = a0 + i=1…n aixi [Nelson] • E = man/months needed Effort estimates are based on size – Highly inaccurate at start of project Size is usually given in lines of code, which not reflect difficulty – Some short programs are harder to write than long ones – Lines of code ≠ effort • Not all activities produce code – Programming Language: Java vs. assembler
  35. 35. MWT– Progettazione di Applicazioni Web Henry Muccini 35 So, what can I do? You – Don’t have a historical database – Are not an expert (usually) Generate estimates using multiple models and compare based on your guesses or assumptions – Candidate models: • Walston and Felix (simple and easy to use) – E = 5.2 KLOC0.91 • COCOMO 2 (complicated and detailed) • DeMarco (based on UI requirements) • Brooks, p. 20 – 1/3 planning, 1/6 coding, ¼ component tests and early system test, ¼ system test
  36. 36. MWT– Progettazione di Applicazioni Web Henry Muccini 36 Esempio 1: NdR 2017 ► UnivAq Street Science & SHARPER ► 114 eventi ► Un solo giorno ► Un’unica app
  37. 37. MWT– Progettazione di Applicazioni Web Henry Muccini 37 Esempio 2: Uffizi
  38. 38. MWT– Progettazione di Applicazioni Web Henry Muccini 38 Esempio 3: DNE
  39. 39. Risk Management
  40. 40. MWT– Progettazione di Applicazioni Web Henry Muccini 40 Risk management Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project. “A risk is a possible future negative event that may affect the success of an effort” [VV8.3] – Project risks affect schedule or resources; – Product risks affect the quality or performance of the software being developed; – Business risks affect the organisation developing or procuring the software. Analogy with “Software Faults and Software Failures”
  41. 41. MWT– Progettazione di Applicazioni Web Henry Muccini 41The risk management process [from Sommerville book] Risk avoidance and contingency plans Risk planning Prioritised risk list Risk analysis List of potential risks Risk identification Risk assessment Risk monitoring
  42. 42. MWT– Progettazione di Applicazioni Web Henry Muccini 42 The risk management process [from Sommerville book] 1. Risk identification – Identify project, product and business risks; 2. Risk analysis – Assess the likelihood and consequences of these risks; – Called “Risk Exposure” in VV 3. Risk planning – Draw up plans to avoid or minimise the effects of the risk; – From VV: • risk avoidance, transfer, acceptance • Like in deadlock handling 4. Risk monitoring – Monitor the risks throughout the project; Discuss
  43. 43. In pratica?
  44. 44. MWT– Progettazione di Applicazioni Web Henry Muccini 44 GANTT diagrams tools Project Management tools
  45. 45. MWT– Progettazione di Applicazioni Web Henry Muccini 45 Project management tools – free https://zapier.com/blog/free-project-management-software/
  46. 46. MWT– Progettazione di Applicazioni Web Henry Muccini 46 Kanban boards https://zapier.com/learn/project-management/kanban-board/
  47. 47. MWT– Progettazione di Applicazioni Web Henry Muccini 47 Project management tools https://www.lifehack.org/articles/technology/the-best-8-project-management-apps.html

×