Time Management โ€“ Critical Path Method (CPM)

Critical path longest sequence of necessary activities diameter of the graph

Pros & Cons

Advantages:

  • Effective communication
  • Easier prioritization of tasks
  • More precise planning
  • Better visualization

Disadvantages:

  • Multiple complexities
  • Limited applicability
  • Less understanding of resources

Definitions

  • : earliest start time
  • : latest start time
  • : earliest completion time
  • : latest completion time
  • : cost of task (represented as edges)
  • Float: how long can a task be postponed without affecting its task order or the project timeline
    • Critical path has no float
    • Total float: amount of time a task can be postponed (w.r.t. the earliest start time) without delaying the project
    • Free float: amount of time a task can be postponed without pushing back the earliest start time of a succeeding task

Calculations

Forward Pass: with preceding

Backward Pass: with preceding

Critical Path:

  • for all nodes on the path
  • for all neighbors and

Dummy Task: Edges without cost (labeled ), that can be used to model otherwise inexpressible dependencies


Project Management Anti-Patterns

  • Analysis Paralysis: Striving for perfection and completeness in the analysis phase often leads to project gridlock and excessive trashing of requirement methods
  • Death by Planning: Excessive planning for software projects leads to complex schedules that cause downstream problems
  • Irrational Management: Habitual indecisiveness and other bad management habits lead to de facto decisions and chronic development crises
  • Fire Drill: Airline pilots describe flying as hours of boredom followed by 15 seconds of sheer terror. Many software projects might resemble that, when suddenly urgent demands for new requirements imply large refactoring

Scrum

Mythical Man-Month

Adding more people to a late project makes it later โ€” Fred Brooks

Reasons:

  1. training newcomers
  2. knowledge acquisition
  3. more communication
  4. more coordination
  5. more planning to partition work
  6. more interfaces, more integration

Risk Management

Unter einem Risiko ist ein eventuelles, hinsichtlich seiner Eintrittswahrscheinlichkeit und Auswirkung bewertetes, zukรผnftiges Ereignis zu verstehen

Goal: Increase the probability and/or impact of positive risks and decrease the probability and/or impact of negative risks, in order to optimize the chances of project success

Process

  1. Plan Risk Management: definition of activities and tools
  2. Identify Risks: study the specific risks of the project
  3. Perform Qualitative Risk Analysis: prioritize risks for further analysis
  4. Perform Quantitative Risk Analysis: analyze the probabilities and impacts of risks
  5. Plan Risk Response: develop options, strategies, and actions to mitigate risks
  6. Implement Risk Response: execute the risk response
  7. Monitor Risks: tracking identified risks, analyze new risks, and evaluate risk process effectivity

Categories

  1. Technical risk: scope definition, requirements, estimates, assumptions, technical process, technology, technical interfaces, etc.
  2. Management risks: poor allocation of time and resources, funding, lack of prioritization of projects, inadequate quality of the project plan, poor use of project management disciplines (e.g. communication), etc.
  3. Commercial risks: contractual terms and conditions, internal procurement, suppliers, vendors, subcontracts, client / customer stability, partnership / join-ventures, etc.
  4. External risks: legislation, exchange rates, sites / facilities, environmental / weather, competition, regulatory, etc.

Qualification

Organizationโ€™s thresholds for low, moderate, or high risks are used to categorize the risks

Additional Parameter:

  • Urgency: the period of time within which a response to the risk is to be implemented
  • Proximity: the period of time before the risk might have an impact on one or more objectives
  • Dormancy: the period of time that may elapse after a risk has occurred before its impact is discovered
  • Manageability: the ease with which the risk owner can manage the occurrence or impact of risk
  • Controllability: the degree with which the risk owner is able to control the riskโ€™s outcome
  • Detectability: the ease of which the results of the risk occurring (or about to occur) can be detected and recognized
  • Connectivity: the extent to which the risk might have a positive or negative effect on the organizationโ€™s strategic goals
  • Propinquity: the degree to which a risk is perceived to matter by one or more stakeholders

Each of these parameters can be combined in charts to be analyzed in 2 or more dimensions:

Response Strategies

Negative Risks:

  • Avoid: Eliminate risks by clarifying requirements, obtaining information, improving communication, acquiring expertise, developing proof-of-concepts, etc.
  • Transfer: Acquire insurance, delegate objective associated with the risk to another team, postpone objective, etc.
  • Mitigate: Reduce the probability of occurrence and/or impact by designing fail-safe mechanisms, developing safety features, adding specific regression tests, training team and operators, etc.
  • Accept: No change or response action is needed, either because the occurrence or impact are negligible

Positive Risks:

  • Exploit: Eliminate the uncertainty to increase the chances that the opportunity happens, e.g. obtaining the best resources for the team / project
  • Share: Create the conditions that a third-party also benefits of the opportunity, e.g. establish agreements for how the project outcomes will be shared
  • Enhance: Increase the probability and impact of a given risk, e.g. adapting the plan so an activity finishes earlier than initially planned
  • Accept: No change or response action is needed, just be willing to take advantage of an opportunity if it happens

Cost Management

Costs of a project is composed of the costs of the team, software licenses, hardware, facilities, financial costs (loan interests), etc.

Value of a project consists of the benefit perceived by the customer of the final product

Triangle of Constraints:

Earned Value Analysis

  • Earned value
  • Planned value:
  • Actual cost:
  • Budget at completion
  • Cost variance
  • Cost performance index
    • good (under budget) | bad (over budget) | (as planned)
  • Estimate at completion
    • Optimist:
    • Pessimist:
  • Estimate to complete
  • To-complete performance index:
    • | performance required to achieve original
    • | performance required to achieve a new, revised budget total
  • Independent estimate at completion (managerโ€™s, no team input)


Operations โ€“ Grundlagen

Operations / Betrieb: RoutinemรครŸige Ausfรผhrung und Management einer Aktivitรคt, eines Produkts, Service oder eines anderen Configuration Item

IT Service: Ein Service, der auf dem Einsatz von Informationstechnologie basiert

IT Service Management (ITSM): Bezeichnet die Fรคhigkeiten und Prozesse zur Zuweisung und Steuerung der Aktivitรคten und Ressourcen einer Organisation fรผr die Planung, Entwurf, Transition, Lieferung und Verbesserung von IT-Services

Information Technology Infrastructure Library (ITIL)

Best-Practice-Leitfaden fรผr das IT Service Management

ITIL-4 Praktiken

  • Availability Management: sicherstellen, dass Services den vereinbarten Verfรผgbarkeits-Leveln entsprechen, um die Bedรผrfnisse der Kunden und Benutzer zu erfรผllen
  • Capacity and Performance Management: sicherstellen, dass Services die vereinbarte und erwartete Leistung erbringen sowie den aktuellen und zukรผnftigen Bedarf kosteneffizient erfรผllen
  • Change Enablement: Anzahl an erfolgreichen Changes an Services und Produkten maximinieren
    • Risikobewertung, Autorisierung und Planung von Changes (Change-Kalender)
  • Incident Management: negative Auswirkungen von Incidents so gering wie mรถglich halten, indem der normale Service-Betrieb so schnell wie mรถglich wiederhergestellt wird
    • Zusammenarbeit unterschiedlicher Stakeholder: Service-Desk, IT-Support, Zulieferer, Kunden
  • Monitoring and Event Management: Service oder Service-Komponenten systematisch รผberwachen und Zustandsรคnderungen (Events) aufzeichnen und melden
    • identifiziert und priorisiert Infrastruktur-, Service-, Geschรคftsprozess- und Information-Security-Events
    • legt entsprechende Reaktionen fest (z.B. informierend, warnend, Ausnahme)
  • Problem Management: Eintrittswahrscheinlichkeit und Auswirkungen von Incidents reduzieren, indem aktuelle und potentielle Ursachen identifiziert sowie Workarounds und Known Errors entwickelt werden
    • Problem: aktuelle oder potentielle Ursache eines oder mehrerer Incidents
    • Known Error: Problem, welches zwar analysiert, aber noch nicht gelรถst wurde
    • Workaround: vorlรคufige Lรถsung, welche die Auswirkungen eines Incidents reduziert und neutralisiert, solange keine vollstรคndige Lรถsung zur Verfรผgung steht
  • Release Management: neue und geรคnderte Services oder Funktionen zur Verfรผgung stellen
  • Service Configuration Management: sicherstellen, dass prรคzise und belastbare Informationen รผber die Konfiguration der Services vorliegen
  • Service Continuity Management: sicherstellen, dass im Katastrophenfall (Desaster) dier Verfรผgbarkeit und Leistung eins Service auf einem ausreichenden Level erhalten bleibt
    • Schutz der Interessen der Stakeholder, Unternehmensreputation, Marke und wertschaffender Aktivitรคten
  • Service Desk: Nachfrage nach Lรถsungen von Incidents und Service Requests erfassen
    • Single Point of Contact (SPCO) des Service Provider fรผr alle Anwender
  • Service Validation and Testing: sicherstellen, dass neue und geรคnderte Produkte und Services die definierten Anforderungen erfรผllen
    • Mehrwert abhรคngig von Input der Kunden, Geschรคftsziele und regulatorischen Anforderungen Qualitรคts- und Performance-Indikatoren
  • Deployment Management: neue oder geรคnderte Hardware, Software, Dokumentation, Prozesse oder andere Komponenten in eine Live-Umgebung transferieren
    • ggf. auch Bereitstellung von Test- und Staging-Umgebungen
  • Infrastructure and Platform Management: Infrastruktur und Plattformen, die von der Organisation genutzt werden, betreuen und รผberwachen
    • Monitoring der in der Organisation verfรผgbaren technischen Lรถsungen (inklusive externer Service Provider)
  • Software Development and Management: sicherstellen, dass Anwendungen die Bedรผrfnisse der internen und externen Stakeholder hinsichtlich Funktionalitรคt, Zuverlรคssigkeit, Wartbarkeit, Compliance und Auditierbarkeit erfรผllen

Kann bei Spezialisierung des Personal auf Aktivitรคten / Praktiken durch Entkopplung von der Entwicklung zu vielen Silos fรผr die speziellen Aktivitรคten / Praktiken fรผhren


DevOps

Agile Entwicklung (Dev) und Betrieb (Ops) zusammen denken

Hintergrund

  • Entwicklung muss sehr schnell auf verรคnderte Wettbewerbssituation reagieren
  • Operations muss stabile, zuverlรคssige und sichere Services fรผr den Kunden bieten
  • diametral entgegengesetzte Ziele
  • oft Abwรคrtsspirale bei Time to Market und Qualitรคt, hรคufige Ausfรคlle, wachsende technische Schulden

DevOps-Idee:

  • kleine Entwicklerteams implementieren unabhรคngig voneinander ihre Features
  • Code-Deployments der Teams sind Routinen und werden zu den normalen Arbeitszeiten ausgefรผhrt
  • durch schnelle Feedback-Schleifen fรผr jeden Prozessschritt kann jeder sofort die Ergebnisse seiner Aktivitรคt sehen
  • fรผhrt bei leistungsstarken Firmen zu hรถheren Metriken bei Durchsatz, Zuverlรคssigkeit und Firmenperformance

Skalierbarkeit durch DevOps

  • Klassisch: Hinzufรผgen von neuen Entwicklern zum Erreichen einer Deadline drรผckt die Gesamtproduktivitรคt
  • DevOps: Bei der richtigen Architektur, den richtigen technischen Praktiken und den richtigen kulturellen Normen kรถnnen kleine Teams mit Entwicklern schnell, zuverlรคssig und unabhรคngig voneinander ร„nderungen fรผr die Produktivumgebung entwickeln, integrieren, testen und deployen

  • Niedrige Entwickler-Performance: weniger Deploys bei wachsender TeamgrรถรŸe
  • Mittlere Entwickler-Performance: gleichbleibende Deploy-Anzahl
  • Hohe Entwickler-Performance: lineares Wachstum

Wertketten

Folge von Aktivitรคten, die erforderlich sind, um eine Ware / einen Service fรผr einen Kunden zu entwerfen, zu produzieren und auszuliefern

Kennzahlen:

  • Durchlaufzeit (lean time): von โ€œTicket angelegtโ€ bis โ€œArbeit abgeschlossenโ€
  • Verarbeitungszeit (touch time): von โ€œArbeit beginntโ€ bis โ€œArbeit abgeschlossenโ€

Prinzipien des DevOps

Prinzipien des Flow: das Ausliefern von Arbeit von der Entwicklung รผber Operations hin zu unseren Kunden beschleunigen

  • z.B. produktivรคhnliche Umgebungen fรผr Entwickler, schnelles und automatisiertes Testen, Continuous Integration, Continuous Delivery, einfache Rollbacks (Risiko reduzieren)

Prinzipien des Feedbacks: durch schnelles und kontinuierliches Feedback bei allen Schritten unserer Wertkette schaffen oder hinterlassen wir dort Wissen, wo es gebraucht wird

  • z.B. Telemetrie- / Loggingdaten sammeln und analysieren, Arbeit in der Wertkette beobachten, A/B-Tests fรผr Hypothesen, Peer Review / Pair Programming

Prinzipien des kontinuierlichen Lernens und Experimentierens: eine Kultur des Vertrauens und ein wissenschaftlicher Ansatz, der das Eingehen von Risiken unterstรผtzt und das firmenweite Lernen ermรถglicht

  • z.B. Kultur des Lernens, Post-Mortem-Meetings (nach Unfรคllen) ohne Schuldzuweisungen, Zwischenfรคlle an Game Days รผben, kalkulierte Risiken unterstรผtzen, Wissen in Chatrooms und Bots sammeln, gemeinsames Repository fรผr gesamte Firma, Zeit fรผr Lernen und Verbesserungen reservieren (Rituale, Meetings, Workshops, Community-Strukturen)

Continuous Delivery, Continuous Deplyoment

  • Continuous Delivery: kurzlebige Feature-Branches, die regelmรครŸig in einen releasebaren Trunk eingecheckt werden
  • Continuous Deployment: mindestens einmal pro Tag oder automatisch nach jeder ร„nderung werden gute Builds deployed