Slide 1

Slide 1 text

Cultivate Excellence In Engineering Teams through Continuous Software Engineering Sebastiano Armeli “The Healthy Engineering Leader“ Substack @sebarmeli DevOpsCon San Diego May 2024

Slide 2

Slide 2 text

Excellence in Engineering Teams Core Characteristic Effectiveness Craftsmanship & Quality Efficiency & Productivity Adaptability & Learning Collaboration & Communication

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Excellence in Engineering Teams Building things right Cost and Time optimization, Velocity Focus on Processes Measurements, such as DORA metrics Efficiency & Productivity

Slide 6

Slide 6 text

Excellence in Engineering Teams Learning from Experiments Data-driven decisions Continuous learning & innovation Knowledge sharing Flexibility & Resilience over changes Adaptability & Learning

Slide 7

Slide 7 text

Excellence in Engineering Teams Teamwork Collective problem-solving Crisp communication Verbal, Written and Visual Timely & Contextual Healthy & Inclusive communication Collaboration & Communication

Slide 8

Slide 8 text

How to cultivate excellence?

Slide 9

Slide 9 text

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 *

Slide 10

Slide 10 text

Continuous Software Engineering (CSE) Paper (“Towards a Framework for Continuous Software Engineering “) by Monalessa Barcellos (2020)”)

Slide 11

Slide 11 text

Continuous Planning

Slide 12

Slide 12 text

Yearly Planning

Slide 13

Slide 13 text

Yearly Planning Continuous Changes

Slide 14

Slide 14 text

Quarterly OKRs Continuous Planning with

Slide 15

Slide 15 text

Objective Key Results The inspirational "what" The measurable "how" Initiatives

Slide 16

Slide 16 text

Quarterly OKRs Planning Bi-weekly OKRs Reviews Quart erly OKRs Grading Communication Adaptability Effectiveness Continuous Planning Processes

Slide 17

Slide 17 text

...from a personal experience Building Shop Tab Shop Tab Continuous Planning

Slide 18

Slide 18 text

Continuous Prioritization every week or even every day

Slide 19

Slide 19 text

Product Features & KTLO Tech Debt & Tech Strategy

Slide 20

Slide 20 text

Weekly Planning XFN Staff Meeting Communication Adaptability Effectiveness Continuous Prioritization Processes Weekly Leads Pre-planning

Slide 21

Slide 21 text

Continuous Development

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Continuous Pull Request Development PR every day or every other day

Slide 24

Slide 24 text

Continuous Security & Continuous Compliance

Slide 25

Slide 25 text

Continuous Evolution

Slide 26

Slide 26 text

Tech Design Documents Tech Strategy Docs Quarterly Tech Reviews Craftsmanship Collaboration Efficiency Tech Circles Continuous Development Processes

Slide 27

Slide 27 text

Phase 1 “Alpha” version Phase 2 “Beta” version Ad Studio (Spotify Self-service ad platform) architecture ...from a personal experience Phase 3 Public Release

Slide 28

Slide 28 text

Continuous Quality Assurance

Slide 29

Slide 29 text

Continuous Verification Continuous Validation

Slide 30

Slide 30 text

Dogfooding Documentation (Test Plans) Quality Effectiveness Continuous Quality Processes Automated Tests in CI

Slide 31

Slide 31 text

“Dogfooding” Internal app before releasing was key in finding bugs proactively Re-architecture Messaging feature on iOS and Android ...from a personal experience

Slide 32

Slide 32 text

Continuous Experimentation

Slide 33

Slide 33 text

Data-driven approach A/B Testing

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Weekly Experiment Reviews OKRs Planning & Reviews Communication Adaptability Continuous Experimentation Processes

Slide 37

Slide 37 text

Experiment (MVF): PDP (Product Detail Page) Reviews ...from a personal experience Results: Actual != Expected Outcome: Keep Control

Slide 38

Slide 38 text

Continuous Software Measurement

Slide 39

Slide 39 text

Business Metrics Operation Metrics Execution Metrics

Slide 40

Slide 40 text

Dashboards & DORA metrics Bi-weekly Eng Ops Reviews Weekly Business Reviews Alerts & On-call Communication Adaptability Effectiveness Continuous Measurement Processes

Slide 41

Slide 41 text

Company-wide Weekly Business metrics reviews ...from a personal experience Timely Investigations around progressions & regressions

Slide 42

Slide 42 text

Continuous Improvement & Innovation

Slide 43

Slide 43 text

Continuous Learning

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Continuous Improvement “Challenges are seen as opportunities for growth.” Article (“The "Macros" for healthy engineering teams - part 2: Proteins”)

Slide 46

Slide 46 text

Continuous Improvement & Growth Mindset

Slide 47

Slide 47 text

Continuous Innovation Continuous Improvements Continuous Learning

Slide 48

Slide 48 text

Book clubs Conference attendance and speaking Mentorship program Adaptability Craftsmanship Continuous Innovation Processes Hack Weeks

Slide 49

Slide 49 text

Mobile Engineers learning C++ Initiative: Re-architecture Messaging feature on iOS and Android ...from a personal experience

Slide 50

Slide 50 text

Continuous Knowledge Management

Slide 51

Slide 51 text

Continuous knowledge management is the “ongoing process of capturing, organizing, sharing, and analyzing knowledge within an organization”.

Slide 52

Slide 52 text

Automation Culture of Ownership Measurement Sharing Knowledge Sharing article (Humble, Moleski, “Why Enterprises Must Adopt Devops to Enable Continuous Delivery”, 2011)

Slide 53

Slide 53 text

Trust & Psyche safety Curiosity & Reward Knowledge Sharing post (“How to Foster a Knowledge-Sharing Culture within Engineering Teams“) Empathy & Collaboration Innovation Emotional Well-Being

Slide 54

Slide 54 text

Pair Programming Tech Talks Internal Wiki updates Craftsmanship Communication Productivity Continuous Knowledge Management Processes

Slide 55

Slide 55 text

Thorough Confluence Wiki with all Technical Design Docs continuously updated in Wallet domain ...from a personal experience

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

Thank You! Sebastiano Armeli “The Healthy Engineering Leader“ Substack @sebarmeli DevOpsCon San Diego May 2024