This is the deck I presented at Agile Turkey's Agile Talk Meetup. I touched the points we usually miss during agile adoption.
the invisible gorilla
at your product development journey
lemi orhan ergin
Building software is a journey
to generate business value
expertise in programming languages
domain driven design
evolutionary architecture, emergent design
hexagonal architecture / ports and adaptors
branching mechanisms / trunk based development
automated tests (unit, integration, functional, etc)
pair & mob programming
code review, team standards
continuous integration and cd pipeline
design patterns & refactoring
test driven development (tdd, bdd, atdd)
expertise in frameworks
oop and functional paradigms
consumer driver contract testing
code quality and static code analysis
event handling / messaging
non-blocking io, data streaming
monitoring & traceability
rest / grpc api management
idea PLAN DEVelop RELEASE
What business understands about agility
What engineering understands about agility
What agility is totally about
Product development requires
doing fast experiments
for learning fast
LEAN STARTUP PROCESS
THE RIGHT WAY
THE MINDSET SOFTWARE CRAFTSMANSHIP
Agile doesn’t cure INCOMPETENCE.
You can coach teams to be more engaged and
collaborative, but NO Agile framework, method,
or mindset can save you from BLATANT FAILURE
if your development team is INCOMPETENT in
basic engineering practices.
Technical excellence is a MUST!
7:48 PM · Mar 21, 2018
Mike Beedle (died at March 23, 2018)
Agile Manifesto co-creator
proposed the term “agile” to manifesto co-creators
introduced “Enterprise Scrum” and “Business Agility”
Many Agile adoptions have treated technical
practices as secondary compared to the
management and team practices that some Agile
Our research shows that technical practices play
a vital role in achieving these outcomes.
Nicole Forsgren PhD, Jez Humble, et al.
Accelerate: The Science of Lean Software and DevOps: Building
and Scaling High Performing Technology Organizations
You work on projects, not products.
You don't know how to build high quality products.
You optimize things ﬁrst that do not matter for customer.
You change organizational schema before architecture.
You cannot experiment, fail, learn, repeat.
You do a piece of your product, totally blind for others.
You have a formula for success.
You don't know what your teammates are doing.
You do nothing but complaining.
LEMi ORHAN ERGiN