Slide 1

Slide 1 text

HYPER-AGILITY? A Way of Working based on Hackathons

Slide 2

Slide 2 text

This presenta7on is a Defense Statement PROGRAMMERS AND PROGRAMMING

Slide 3

Slide 3 text

Digital World is based on SoEware

Slide 4

Slide 4 text

SoEware is Programmed

Slide 5

Slide 5 text

But the Industry, specifically Enterprises, do not know how to deal with soEware programming

Slide 6

Slide 6 text

Dealing with SoEware - Evolu7on SoEware Crisis So6ware Engineering No Silver Bullet Agile Manifesto Cra6smanship Manifesto CraEing Incremental 1960 1970 1980 1950 1990 2000 2010 Waterfall Itera7ve Rapid Prototyping CMM Evolu7onary Agility?

Slide 7

Slide 7 text

We never reach “Plateau of Produc7vity” hZps://en.wikipedia.org/wiki/Hype_cycle

Slide 8

Slide 8 text

Trough of Disillusionment with “Agile” AGILE is DEAD DARK SIDE OF AGILE hGp://programming-motherXYZ.com/ Dave Thomas hZps://pragdave.me/blog/2014/03/04/7me-to-kill-agile/ PROGRAMMING MOTHER FXYZ

Slide 9

Slide 9 text

The problem we have (I think): NOT A MATCH create systema7c approaches = “Procedures” and “Methodologies” for developing soEware

Slide 10

Slide 10 text

Insights about SoEware Development

Slide 11

Slide 11 text

INSIGHT 1 SoEware Development is about PROGRAMING SOFTWARE Implies Wri7ng Code/ Deploying /Running / Tes7ng

Slide 12

Slide 12 text

PROGRAMMING !!!! EVERYTHING ELSE IS SUPPORTING

Slide 13

Slide 13 text

ProvocaTon : If you do not PROGRAM then your role is not Fundamental when it comes to create products and services based on soEware Probably your role is important, but not fundamental Managers UX Designer Analysts Solu7on Architects Business Developers …

Slide 14

Slide 14 text

FACTS A team made of Managers, Analysts, UX Designers, Solu7on Architects… etc can define a Product based on soEware, but they can not deliver it … EXCEL PPT VIDEO UI SKETCH PAPERWARE

Slide 15

Slide 15 text

FACTS A team made of So6ware Programmers only, can define and deliver a Product based on SoEware Google Facebook TwiZer SOFTWARE Florian Weber Jack Dorsey tw#r facemash Mark Zuckerberg googol Sergey Brin Larry Page

Slide 16

Slide 16 text

INSIGHT 2 SoEware execu7on is Uncertain CAN NOT BE PREDICTED (by humans)

Slide 17

Slide 17 text

HW calcula7on power is higher than Humans Picture: from Hans Moravec 1997, When will computer hardware match the human brain? hZp://www.transhumanist.com/volume1/moravec.htm

Slide 18

Slide 18 text

INSIGHT 3 SoEware programming is a CreaTve ac7vity

Slide 19

Slide 19 text

OBSERVING A PROGRAMER

Slide 20

Slide 20 text

ISRF cycle Inten7on Realiza7on Feedback Synthesis Idea Coding Running Tes7ng

Slide 21

Slide 21 text

OBSERVING AN ARTIST

Slide 22

Slide 22 text

ISRF cycle Inten7on Realiza7on Feedback Synthesis Idea Pain7ng Picture Evalua7ng (by seeing)

Slide 23

Slide 23 text

The Ar7st aZributes Knowledge Mastery Talent Mo7va7on Crea7vity Inspira7on Passion Genius The SW Programmer

Slide 24

Slide 24 text

INSIGHT 4 SoEware has Structure and Run-Time behavior

Slide 25

Slide 25 text

Perhaps SoEware is like Music Structure and Dynamic (Tme) dimensions

Slide 26

Slide 26 text

Program vs Pentagram

Slide 27

Slide 27 text

Computer vs Music Player

Slide 28

Slide 28 text

Programming vs Composing

Slide 29

Slide 29 text

Perhaps Programming SoEware in a Team is like Jazz Original Dixieland Jass Band Melodies are improvised/created on top of a shared Harmony created by a composer (so?ware architect) Everybody is a Composer The Harmony (architecture) provides consistency

Slide 30

Slide 30 text

New Job 7tle: SoEware Composer

Slide 31

Slide 31 text

INSIGHT 5 SoEware Programming is full of Complexity Inherent complexity RelaTve to the Problem/Hardware Accidental complexity created by Humans

Slide 32

Slide 32 text

Provoca7on: You, Programmer, can easily be an Accidental Complexity generator Libraries, Frameworks, Technologies, Paradigms, Style, Tools, …

Slide 33

Slide 33 text

INSIGHT 6 Both the Problem and its SoluTon have to be figured out at the same 7me!! Both Problem definiTon and one of its SoluTon EMERGE in parallel

Slide 34

Slide 34 text

INSIGHT 7 Plans, Designs, Specs must be treated as INTENTIONS

Slide 35

Slide 35 text

INSIGHT 8 A SoEware Program is a form of Knowledge Reflects the prac7cal understanding of Problem and one of its Solu7ons

Slide 36

Slide 36 text

SOFTWARE CODE = ASSET

Slide 37

Slide 37 text

INSIGHT 9 SoEware Development requires humans (PROGRAMMERS) with a lot of knowledge, crea7vity and passion

Slide 38

Slide 38 text

INSIGHTS SUMMARY 1.  SoEware development is about Programming !!!! 2.  SoEware program execu7on is uncertain 3.  SoEware programming is a creaTve ac7vity 4.  SoEware has structure and dynamic (runTme) dimensions 5.  SoEware development is full of complexity 6.  Both the problem and a soluTon have to be figured out in parallel 7.  Requirements, Plans, Designs must be treated as IntenTonal 8.  SoEware code is a Form of Knowledge (code is an asset) 9.  SoEware development requires high skilled, high knowledge, crea7ve and passionate PROGRAMMERS

Slide 39

Slide 39 text

We need a way of working centered on Programming

Slide 40

Slide 40 text

hZp://www.wired.com/2012/02/ff_hackathons/all/1 A hackathon (also known as a hack day, hackfest or codefest) is an event in which computer programmers and others involved in soEware development and hardware development, including graphic designers, interface designers and project managers, collaborate intensively on so6ware projects

Slide 41

Slide 41 text

Observing a Hackathon: Exhibits True Agile Values

Slide 42

Slide 42 text

Applying hackathons to your projects HACKING SCRUM AN EXAMPLE OF HOW WE HAVE HACKED SCRUM IN MY TEAM

Slide 43

Slide 43 text

Typical Sprint Planning: The Theory

Slide 44

Slide 44 text

Typical Sprint Planning: The Prac7ce TOOLS and PROCESSES

Slide 45

Slide 45 text

From Sprint Planning to Sprint Hackaning No Sprint “Planning” , instead start with a Hackathon (2-3days) that delivers a MVP (working soEware) Sprint Hackaning Sprint Planning

Slide 46

Slide 46 text

The Sprint Hackaning delivers a real MVP (working soEware) that is grown and hardened over the next days and weeks M T W T F Hackathon M T W T F ISRF Cycles RELEASE 0 MVP S S Growing and/or Hardening(features, architecture, design, quality) Hackaning

Slide 47

Slide 47 text

From Daily Mee7ngs to Direct CollaboraTon (Avoid most of the typical Mee7ngs)

Slide 48

Slide 48 text

only 1 Weekly Review

Slide 49

Slide 49 text

Weekly Review To Release or not To Release

Slide 50

Slide 50 text

From Planned Sprints to MicroSprints (Weekly) (make soEware emerge) M T W T F S S M T W T F S S M T W T F S S …. …. M T W T F S S M T W T F S S MSP-N Week1=MSP1 MSP2 MSP3 MVP Hackathon Weekly Review Weekly Review Weekly Review RELEASE M T W T F S S Delivery Hackathon MSPN-1 MVP RFS MVP Hackathon MVP •  Release docs •  Checkout, Install, Run •  Opera7on procedures •  Set Context •  Targets & Priori7es •  Issues & Risks This is an Example!!!

Slide 51

Slide 51 text

Hacking + Growing AND/OR Hardening M T W T F S S M T W T F S S M T W T F S S …. …. M T W T F S S M T W T F S S MSP-N Week1=MSP1 MSP2 MSP3 MVP Hackathon Weekly Review Weekly Review Weekly Review RELEASE M T W T F S S Delivery Hackathon MSPN-1 MVP RFS MVP Hackathon MVP Growing Hardening Growing and Hardening Hacking This is an Example!!!

Slide 52

Slide 52 text

Type of Hackathons (Sample) •  MVP Hackathon •  Integra7on Hackathon •  DevOps Hackathon •  Architecture Hackathon •  … Uncertainty? Hackathon!!!

Slide 53

Slide 53 text

From Control Roles to Suppor7ng Roles From Product Owner to Customer/User Proxy From Program Manager (Control) to Program Facilitator From Architect to others programmers Enabler

Slide 54

Slide 54 text

Making the soEware Emerge in an “environment” not aware of SoEware

Slide 55

Slide 55 text

Making the soEware Emerge in an “environment” not aware of SoEware

Slide 56

Slide 56 text

Making the soEware Emerge in an “environment” not aware of SoEware ISOLATION/TRANSLATION LAYER ROADMAP LAYER (PROGRAMMING CENTERED) Business Stakeholders Customers ENABLING LAYER Tech Architects Release Management Opera7ons Program Management Business Development Product Management Tools Solu7on Architects

Slide 57

Slide 57 text

Remember: PROGRAMMING !!!! EVERYTHING ELSE IS SUPPORTING

Slide 58

Slide 58 text

Remember

Slide 59

Slide 59 text

No content