Jessica Joy Kerr Profile picture
Jul 10 11 tweets 3 min read
A ten-principle checklist for socio-technical design

by Albert Cherns, quoted by Jackson in Critical Systems Thinking

paraphrased by me, with commentary for software teams 🧵
Compatibility
the process of design is compatible with its objectives. Want democracy? use participative design.

The means match the ends.
You don't get autonomous teams by specifying Scrum.
Minimal Critical Specification
of the who and how of carrying out the work, only the essentials are decided up-front.

Figure out the basics, and plan on figuring out more later, within the team. Keep detailed decisions near the work.
The Socio-technical Criterion (why is it called that?)
fix errors at the point where they arise, or as near as possible.

This is unit tests, trunk-based development, and continuous deployment #devops
The Multifunction Principle
for flexibility and equifinality, each individual can perform more than one function.

"equifinality" means "depending on what comes up, this may play out in a lot of different ways, but the result is the same."
People can cover for each other.
Boundary Location
Control of team activities is with the members; the manager concentrates on boundary activities

The manager makes sure the team gets what it needs, and knows what the org needs.
Information Flow
information systems get the info to the work teams who need it.

Get the software to alert us when it needs help, and answer our questions for "what is wrong?" and "did it work?" #observability
Support Congruence
social support should reinforce the org structure. If you work in teams, give bonuses to teams--not individuals.

Promotions and reviews reward teamwork, not heroism.
Design and human values
Emery's six principles. roughly: the work is hard enough, lets us learn and make decisions, gets us respect at work and outside, and has a good future.

Software has the variety and learning, the prestige, and many paths "upward" besides promotion.
Power and Authority
the resources you need to do the work--you have authority to take them and responsibility to use them well.

Hooray cloud! Hooray allocating my own compute! Give us access to all the observability and let us deploy, please. #cloud
Incompletion (my favorite)
design is an iterative process

We are never "done," not at writing the software or designing how we work. The world is changing, we are changing, the learning continues. #symmathesy

• • •

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

Keep Current with Jessica Joy Kerr

Jessica Joy Kerr 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 @jessitron

May 24
How to sell your ideas, by Tom Bellinson
hint: expertise and explanations won’t do it.
#AgileAndBeyond ImageImage
Step 1: focus on their win. Find out what it is by asking questions.
if you can’t deliver on THEIR goals, move on. #AgileAndBeyond ImageImageImage
your goal is to enter the other person’s world, so you can communicate with them.
figure out their communication style and use that. @tomsbigideas Image
Read 8 tweets
Apr 6
How do you take a legacy system toward fast flow of change? @suksr takes us through an evolution
using wholistic approaches including DDD, Wardley Mapping, and Team Topologies #QConLondon
The Wardley Map is only part of Wardley Mapping. There’s a whole strategy cycle

from @suksr #QConLondon
Team Topologies has categories of teams, and even more important: consciously plan the interactions between teams

from @suksr #QConLondon
Read 5 tweets
Apr 6
Slow means risky. 130000 dev hours in a single weekend deploy

@audunstrand and @trulsjor #QConLondon
It’s not about how fast the team can program.
It’s about how fast the team can find solutions to each problem, uncover organizational secrets for how the domain works and should work.
There’s a conflict between cross-functional teams and the organizational hierarchy.

And alignment is a Challenge in autonomous teams
Read 12 tweets
Apr 6
Flow in a software team is a socio-technical property.
Dropping flow comes with downtime, bugs, and other general misery.

from @ntcoding #QConLondon
Enforcing the same JIRA workflow doesn’t make developers interchangable.
“It takes me weeks to develop rapport with teammates, months to learn domain and code, a few hours to learn a JIRA workflow.” @ntcoding #QConLondon
Smooth devex, sustainable flow:
“This is working in the government, six years ago.
No one else has an excuse anymore.”
@ntcoding #QConLondon
Read 4 tweets
Apr 5
This morning at #QConLondon , @glenathan tells a story of an experiment at Circle CI: for this greenfield project, let’s have NO LOGGING.
Instead of logs, events! that make traces!

“Events are good logs.”
They’re data-first instead of human-first; they wrap units of work with durations; they can be explored multiple ways

@glenathan #QConLondon
They found best practices like: wrap each unit of work; report errors in a standard field; use span names that are specific enough to tell you what’s happening but general enough for useful grouping.

~ @glenathan #QConLondon
Read 9 tweets
Apr 5
and now what we’ve all been waiting for: @KevlinHenney keynote #QConLondon

“If there’s any probability, even so close to zero it won’t fit in a floating point number, it is not impossible”
Representations are never perfect.
“Software development is the creation and maintaining of illusions.”
@KevlinHenney #QConLondon
Programming paradigms are ways to organize our illusions.
@KevlinHenney #QConLondon
Read 11 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!

:(