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
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