Sunday 16 January 2022

LAND and freedom

Back in 2019 a user called @agileklzkittens made a hella assertive tweet:

LAND: Large, Atomic Non-Deployable requirements.
In early 2022 they tweeted again, changing Non-Deployable to Non-Divisible. I think this probably captures their point better.

What are they on about? In the linked Atlassian Community discussion a user asks how to manage in Jira a User Story that's too large for his team's two-week Sprint. There are 2 responses, both advising him to break it into smaller Stories. In fact the user has already broken it down into sub-tasks.

So breaking down AKK's tweet:

  1. There are Large, Atomic Non-Deployable requirements
  2. These break Agile
  3. The respondents are somehow dishonest for giving their best advice

So can Agile handle LAND requirements?

Yes Agile emphatically can handle LAND requirements.
They may challenge Scrum, and our Agile-sceptical chum was naughty to conflate the two.

Let's assume that LAND requirements really do exist. Though in my experience theymust be exceedingly rare.

For sure they might break Scrum. You can't fit a pint in a half-pint pot and you can't fit three weeks of developmet into two.

They won't break Agile. Remember the first Value in the Agile Manifesto:

"Individuals and interactions over processes and tools"

And the 4th:

"Responding to change over following a plan"

Both of these comfortably tell an Agile team "Can't be done in 2 weeks? Fine. Flex your approach."

What's the difference?

Scrum is a tool built around a simple model. All models have limits – Newton's laws break down when you get too heavy or too fast or too small. That doesn't make them wrong – they'll still get a body to the moon and back. Models have a limited range of applicability, and a LAND requirement larger than your Sprint is simply not in the range of applicability for Scrum. I think that's entirely acceptable for a rare case.

Agile by contrast is a set of value statements. They may also have a limited range of applicability. If so, it's broader than a specific set of instructions (Scrum) that's broadly under the Agile umbrella.

What advice would I give?

If you find a LAND requirement:

1. Try to break it up anyway

It's easy to assume a piece of work is LAND. And we all need help sometimes with story slicing, particularly if we're new to it. So grab someone with a bit more experience – or simply different experience – and try to break it into smaller user stories that meet the INVEST criteria. One way or another your going to reinforce the habit of assuming it can be broken up or assuming that it can't. Assuming that it can is healthier.

2. Don't worry

If it truly is Large, Atomic and Non-Divisible, Agile has your back! Flex your method if necessary. You're running Scrum? Let the work cross a Sprint boundary, declare a double-Sprint or whatever. Agile is about what works best for your team and their needs, not about following a specific method's rules.

Happy trails!

child on bike with stabilisers, heading down a rural road