Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cultivate Excellence In Engineering Teams throu...

Cultivate Excellence In Engineering Teams through Continuous Software Engineering

Talk given at DevOpsCon (San Diego, US) - May 2024

Sebastiano Armeli

May 21, 2024
Tweet

More Decks by Sebastiano Armeli

Other Decks in Technology

Transcript

  1. Cultivate Excellence In Engineering Teams through Continuous Software Engineering Sebastiano

    Armeli “The Healthy Engineering Leader“ Substack @sebarmeli DevOpsCon San Diego May 2024
  2. Excellence in Engineering Teams Core Characteristic Effectiveness Craftsmanship & Quality

    Efficiency & Productivity Adaptability & Learning Collaboration & Communication
  3. Excellence in Engineering Teams Effectiveness Understanding Customer’s needs Building the

    right things Right Scope and Impact Correlation with Business Metrics Full context on Planning & Prioritization
  4. Excellence in Engineering Teams Craftsmanship & Quality Deep Tech Knowledge

    Low Tech Debt, balance KTLO & features Low number of bugs Continuous improvement and knowledge sharing High standards, no compromise on quality
  5. Excellence in Engineering Teams Building things right Cost and Time

    optimization, Velocity Focus on Processes Measurements, such as DORA metrics Efficiency & Productivity
  6. Excellence in Engineering Teams Learning from Experiments Data-driven decisions Continuous

    learning & innovation Knowledge sharing Flexibility & Resilience over changes Adaptability & Learning
  7. Excellence in Engineering Teams Teamwork Collective problem-solving Crisp communication Verbal,

    Written and Visual Timely & Contextual Healthy & Inclusive communication Collaboration & Communication
  8. C ontinuous Software Engineering (CSE) Paper (“Brian Fitzgerald, Klass-Jan Stol,

    Continuous software engineering: A roadmap and agenda, The Journal of Systems and Software (2015)”) Holistic view of a set of continuous activities divided in 3 main phases: Business Strategy & Planning, Development, and Operations C ontinuous *
  9. Continuous Software Engineering (CSE) Paper (“Towards a Framework for Continuous

    Software Engineering “) by Monalessa Barcellos (2020)”)
  10. Quarterly OKRs Planning Bi-weekly OKRs Reviews Quart erly OKRs Grading

    Communication Adaptability Effectiveness Continuous Planning Processes
  11. Continuous Integration Continuous Delivery Continuous Deployment Merge into master Automated

    tests CI tools (build, test, deploy) Multiple jobs Pushing code through different envs Manual step to push to prod Continuous Delivery + automatic push to prod Feature Flags
  12. Tech Design Documents Tech Strategy Docs Quarterly Tech Reviews Craftsmanship

    Collaboration Efficiency Tech Circles Continuous Development Processes
  13. Phase 1 “Alpha” version Phase 2 “Beta” version Ad Studio

    (Spotify Self-service ad platform) architecture ...from a personal experience Phase 3 Public Release
  14. “Dogfooding” Internal app before releasing was key in finding bugs

    proactively Re-architecture Messaging feature on iOS and Android ...from a personal experience
  15. The Hypex Model Strategy Goals 1. Feature Backlog 2. Feature

    Selection Based on Strategic Plan 3. MVF (Minimum Viable Feature) Build and Launch 4. Paper (“he HYPEX Model: From Opinions to Data-Driven Software Development”) by Olsson, Helena & Bosch, (2014)”) Hypothesis Experiment Data-Driven Development
  16. The Hypex Framework 5. Gap Analysis 6a. if (exp !=

    actual) then develop Hypothesis and Alternative MVF2 , back to Gap Analysis 6b. if (exp == actual) then results feed into the Strategic Plan Paper (“he HYPEX Model: From Opinions to Data-Driven Software Development”) by Olsson, Helena & Bosch, (2014)”) Continuous Planning
  17. Experiment (MVF): PDP (Product Detail Page) Reviews ...from a personal

    experience Results: Actual != Expected Outcome: Keep Control
  18. Dashboards & DORA metrics Bi-weekly Eng Ops Reviews Weekly Business

    Reviews Alerts & On-call Communication Adaptability Effectiveness Continuous Measurement Processes
  19. Continuous Learning with clear goals and structured processes Paper (“A

    Practical Approach to Continuous Improvement in Software Engineering“) by Andreas Birk & Dieter Rombach Continuous Improvement
  20. Continuous Improvement “Challenges are seen as opportunities for growth.” Article

    (“The "Macros" for healthy engineering teams - part 2: Proteins”)
  21. Continuous knowledge management is the “ongoing process of capturing, organizing,

    sharing, and analyzing knowledge within an organization”.
  22. Automation Culture of Ownership Measurement Sharing Knowledge Sharing article (Humble,

    Moleski, “Why Enterprises Must Adopt Devops to Enable Continuous Delivery”, 2011)
  23. Trust & Psyche safety Curiosity & Reward Knowledge Sharing post

    (“How to Foster a Knowledge-Sharing Culture within Engineering Teams“) Empathy & Collaboration Innovation Emotional Well-Being
  24. Continuous Planning Effectiveness Craftsmanship & Quality Efficiency & Productivity Adaptability

    & Learning Collaboration & Communication Continuous Development Continuous Quality Assurance Continuous Experimentation Continuous Software Measurement Continuous Improvement & Innovation Continuous Knowledge Management