Dave Farley Profile picture
Jun 5 12 tweets 3 min read Twitter logo Read on Twitter
Agile isn't dead, but it is widely misunderstood and more unusual than most people think.
a #Thread

1/12
I have spent the vast majority of my career working in what today we'd call 'agile' teams and organisations, but I hadn't heard the term until 20 odd years ago.

2/12
'Agile', with a capital 'A', has become the commonest form of SW dev, but it isn't 'agile' in the sense of the agile manifesto, it does not, as @pragdave says promote 'agility'

agilemanifesto.org

3/12
I believe that true agile development is important though, in that it is an informal adoption of some deeply important ideas, that are really at their roots the same ideas that are at the roots of science,

"Try something, see if it works, and react to what you learn."

4/12
I don't understand anyone who can argue against that idea. But to be fair, that is not what most people's experience of 'Agile' is.

5/12
"Trying stuff to see what works" has nothing to do with standing up during meetings, calling your
release-waterfall a train or expecting people to become "masters" at anything after 2 days in a class room.

6/12
If you work on an "agile team" and it is not working well, then to be agile in any real sense of the word, YOU MUST CHANGE IT, otherwise you aren't being agile at all.

7/12
I think that part of the slide into the failures of the ever popular water-scrummer-fall has been the focus on project management rather than on engineering.

8/12
People not familiar with what it takes to do engineering co-opted "let's try stuff and see what works" into "We need you to commit to your delivery promises" not a very subtle change really.

9/12
Fundamentally, I don't care too much about the labels, they do, and will, come and go. 'Agile' as a label has lasted a long time, and maybe it's time is up, as a useful term.

10/12
but the idea of "Try something, ideally in small controlled steps, and adapt to what you learn" is not going away. In fact that is the only way that people have ever solved hard problems. In other disciplines, we call that approach "Science" or "Engineering".

11/12
My preferred 'engineering approach' to agility is #ContinuousDelivery checkout my new, free, introductory training course to see what I mean.

12/12

courses.cd.training/courses/cd-fun…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Dave Farley

Dave Farley Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @davefarley77

Apr 25
Microservices are maybe not what you think they are, so here's a #Thread to describe them...

1/14
Microservices are distinct from Services, although they are commonly confused.
Services, as an approach to software design, have been around for many decades. Service Oriented design was popular in the 1990s and early 2000s.

2/14
The big difference is not the size, despite the name, it is the independence of the service from other services.

Most definitions of Microservices include:
Independently Deployable
Loosely coupled
Organised around business capabilities
Owned by a small team

3/14 Image
Read 14 tweets
Mar 27
What is the most important thing that I have learned in my career as a software developer?

Here's a #Thread

1/18
We could consider languages, how computers work, OS commands, understanding of design techniques and tools like editors and IDEs.
We could think of the need to collaborate, reducing dependencies & coupling, and focus on outcomes, but there's something more important.
2/18
I think that if I am to pick one thing, one pice of advice, it is this:

***Work in Small Steps***

3/18
Read 18 tweets
Feb 27
I confess that I am not a big fan of "The Test Pyramid" so here's a #Thread on what I think is a better focus for your automated testing strategy...

1/14
The Test Pyramid is usually described as something like this, though there are lots of different versions.
I don't think this helps much.

2/14
Part of the problem is that it is nearly right, we'd like to invest in our test strategy so that there are lots of the tests that are easy to write and give us the fastest feedback at the lowest cost and fewer of the more complex, more costly, slower tests.

3/14
Read 14 tweets
Jan 16
In this tweet @christofebert says "optimising for velocity is dangerous" in software development. The article that he references is behind a paywall, so I haven't read it, but here are some thoughts, and some evidence that counters this view.

(A thread)
1/17
As ever it depends on what you measure, what does "optimising for velocity" mean?
Velocity is speed + direction. In software terms, I assume that we mean that speed is the rate at which we can deliver software.

2/17
The DORA metrics call this: "Throughput", which is a measure of the efficiency with which we can deliver software.

3/17
Read 17 tweets
Jan 2
My recipe for Continuous Delivery (a thread)...

1/14
Start by measuring your Cycle Time, from "idea" to "working software in the hands of users"

2/14
Now optimise whatever it takes to reduce your Cycle Time in a series of steps. Each reduction will highlight the next steps that stop you going faster. Work to eliminate those barriers!

3/14
Read 14 tweets
Nov 7, 2022
Unit Testing or Acceptance Testing?
Actually you need both for the best test-strategy.

a thread...
1/12
I think that the right answer is "Both!" because each delivers different things, and provides very different insights and advantages for the systems that we build.
A good testing strategy needs both kinds of test.
2/12
Unit tests are best produced as the output of TDD.
This creates better tests, but the real value of TDD at this level is that it applies a pressure on the design of our code. It makes us design our code from the perspective of a consumer of our code.
3/12
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(