Agile Design and Development
So that you can get feedback on it and make it better
The most rewarding iterations
Building is never a straight line
Product owner vs. product manager
A Product Owner is focused on output i.e. how quickly can we build these features?
Product Management, on the other hand, is focused on outcomes i.e. why are we building these features in the first place?
Good design is redesign
Good design is redesign. It's rare to get things right the first time. Experts expect to throw away some early work. They plan for plans to change.
It helps to have a medium that makes change easy. When oil paint replaced tempera in the fifteenth century, it helped painters to deal with difficult subjects like the human figure because, unlike tempera, oil can be blended and overpainted.
Finish designing as close to the end of a sprint as possible
The traditional process of delivering design, vs. delivering design just in time.
Designers are often working at least one sprint ahead of engineers. While one sprint might not seem like much of a lag, a typical product team learns a lot after the design hand-off. ...Instead of working ahead, we should finish designing as close to the end of a sprint as possible: just-in-time design.
We optimize what we measure
Scrum does not say “only focus on output”, but, unfortunately, humans will optimize for what they measure.
If you worry about story points & hitting your estimations, that’s what is going to consume your attention. That is what you and your team will optimize for.
And that is the core critique of Scrum as it is practiced: That it focuses a product team’s attention so heavily on delivery — on building lots of features quickly & efficiently — that teams fail to focus on spending time to discover what the right thing to build is.
How we can do better
It actually doesn't matter whether you actually have a formal retrospective. It doesn't matter whether you have four or five labels of things on your retro board, or exactly how you do the retro. What does matter is the notion of thinking about what we're doing and how we can do better, and it is the team that's doing the work that does this, that is the central thing.
The 'date scrum' anti-pattern
Date Scrum is an R&D pattern where developers are asked to estimate software project requirements upfront for the entirety of the project. After the project is green lighted and the budget is set based on the final estimates, the team then holds daily scrums to status and manage risk as they “iterate” the solution toward the release date. To some, this approach is described as doing Waterfall in sprints.
The fundamental problem with Date Scrum is that the team is de-focused from discovering the best solution. Instead they are heavily focused on delivering Something™ by the Date™. Engineers are problem solvers, and if the primary problem becomes delivering Something™ that will pass QA by the Date™, they will, with enough pressure, solve that exact problem.
That which requires caring
Today's real world of technology is characterized by the dominance of prescriptive technologies.
The temptation to design more or less everything according to prescriptive and broken-up technologies is so strong that it is even applied to those tasks that should be conducted in a holistic way. Any tasks that require caring, whether for people or nature, any tasks that require immediate feedback and adjustment, are best done holistically. Such tasks cannot be planed, coordinated, and controlled the way prescriptive tasks must be.
Prescriptive technologies eliminate the occasions for decision-making and judgment in general and especially for the making of principled decisions. Any goal of the technology is incorporated a priori in the design and is not negotiable.
Manifesto for Agile Software Development
A DefinitionWe are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Agile Scrum is not working
The Agile founders had it right, one size doesn't fit all. What the founders perhaps didn’t foresee, or couldn’t agree on, is that in order for the world to scale and consume their wisdom, it had to be packaged as concrete practices, not as abstract classes with virtual methods to be defined in context. And to the proponents of Agile Scrum, give them their due, for their part, they made it concrete – Agile Scrum has been packaged and delivered. Yet much work remains to realize the promise of Agile, which in summary is, the realization of wise use of lightweight development practices and workflows that flexibly adapt to the changing and evolving needs of customers.
Driving engineers to an arbitrary date is a value destroying mistake
An Article by Gandalf HudlowWhat happens when you apply date pressure to software engineers working on high value software projects? The engineers will focus on delivering Something™ by the Date™! This fatal flaw results in delivery of a Something™ full of chaos and features that nobody really wants or needs.
Beware SAFe, an Unholy Incarnation of Darkness
An Article by Sean DexterThe Lean Portfolio Management function that controls funding, are given sole authority to approve which Portfolio Epics move into each stream. Epics are not explanations about a problem that needs to be solved. They are pre-formed ideas about how best to solve those problems.
Right away we can see signs of the old-school mindset of viewing teams as a “delivery” function instead of a strategic one. The high level thinkers come up with ideas, and the low level doers execute on those ideas. Ignored is the possibility that those closest to the work might be best equipped to make decisions about it. Escaping from this misguided mindset is a core goal of Agile thinking that SAFe fails to remotely accomplish.
Why Scrum is killing your product
An Article by Henry LathamDesign Systems, Agile, and Industrialization
An Article by Brad FrostI’ve come to the conclusion that “enterprise web development” is just regular web development, only stripped of any joy or creativity or autonomy. It’s plugging a bunch of smart people into the matrix and forcing them to crank out widgets and move the little cards to the right.
In these structures, people are stripped of their humanity as they’re fed into the machine. It becomes “a developer resource is needed” rather than “Oh, Samantha would be a great fit for this project.” And the effect of all this on individuals is depressing. When people’s primary motivation is to move tickets over a column, their ability to be creative or serve a higher purpose are almost completely quashed. Interaction with other humans seems to be relegated to yelling at others to tell them they’re blocked.
Reading “AS PER THE REQUIREMENTS” in tickets makes me dry heave. How did such sterile, shitty language seep into my everyday work?
The value-destroying effect of arbitrary date pressure on code
An Article by Gandalf HudlowThe mandate from above is clear, just get it done! Avoid everything that's in the way: all advice, all expertise, all discovery efforts that detract from hitting the Date™!
What these organizations don't realize is that all software change can be modeled as three components: Value, Filler and Chaos. Chaos destroys Value and Filler is just functionality that nobody wants. When date pressure is applied to software projects, the work needed to remove Chaos is subtly placed on the chopping block. Work like error handling, clear logging, chaos & load testing and other quality work is quietly deferred in favor of hitting the Date™.
Agile is Dead (Long Live Agility)
An Article by Dave ThomasThe word “agile” has been subverted to the point where it is effectively meaningless, and what passes for an agile community seems to be largely an arena for consultants and vendors to hawk services and products.
…Let’s abandon the word agile to the people who don’t do things. Instead, let’s use a word that describes what we do. Let’s develop with agility.
- You aren’t an agile programmer—you’re a programmer who programs with agility.
- You don’t work on an agile team—your team exhibits agility.
- You don’t use agile tools—you use tools that enhance your agility.
/
Individuals and Interactions over Processes and Tools
Working Software over Comprehensive Documentation
Customer Collaboration over Contract Negotiation, and
Responding to Change over Following a PlanTraditional companies are losing because they mismanage software engineers
An Article by Emma WattersonInnovation is messy, and frankly Anti-Steve [Jobs] can’t figure out why you wouldn’t just tell people the right thing to build and skip all the trial and error that comes with innovation. Anti-Steve and his board of directors that keep him in place fundamentally believe that they know what needs to be built. Or at least that they can hire the messiah that will come down off the mountain and tell everyone what to build. There is no such messiah.
Why we stopped breaking down stories into tasks
An Article by Adam SilverThe Scrum process says to break down stories into tasks to make estimation easier, encourage collaboration and to be able to show more granular progress during a sprint.
But after a few sprints, we decided to do the next sprint without creating tasks. As a result we drastically increased our velocity and never went back. Here I'll jot down some of the reasons we decided to do this:
- Breaking down stories into tasks is time consuming
- The tasks we came up with invariably would change as we worked on the stories
- Tasks are repetitive
- Tasks were often carried out in parallel
- Our estimates didn't improve
- It decluttered our task board
- It encouraged collaboration throughout the sprint
While we started our process by following Scrum to the letter, we soon realised that breaking down stories into tasks was something that wasn’t worthwhile for us. In the end we realised that it was overplanning and poor use of our time. In the end we used that time to get on with the work and deliver at a significantly faster pace.
Why We Don't Do Daily Stand-Ups at Supercede
An Article by Jezen ThomasYesterday I worked on the widget.
Today I will work on the widget.
I have no blockers.Are you asleep yet? The developers are. You promise them an intellectually stimulating work environment and what they end up with is drudgery.
What value can be had from these meetings anyway? Using “alignment” for justification is so nebulous that it is essentially meaningless. Engineers align themselves. They talk. Especially if you hire good ones (which, you know, you’ll struggle to if you have a culture of coercing them into this kind of busywork). Where does the real discussion happen? It’s written down.
Software that nobody wants
An Article by Gandalf HudlowFinding value is the result of enabling individual and group-level discovery attempts. It's not the result of everyone following one leader's gut.
What just happened is a new software product/feature was created that no customer wanted. This happens way too often. In fact, most hyper important software projects that must be done by date certain or else, have deep flaws that cause some variation of this phenomenon, flaws that include:
- Not wanted - Company specified a solution to a problem that customers don't actually have
- No Rarity - Company is pursuing an iKnockoff of existing products. The market already has two scaled competitors with working solutions, customers naturally spend budget on products that are already successful to avoid risk
- Incorrect Packaging - Customers need a website, but the company created an iOS app instead
- Incorrect Pricing - Customers need SaaS pricing, but the company created a shrink wrapped, on-premise solution with CapEx and maintenance agreements instead
Making sense of MVP
An ArticleHenrik Kniberg:
The top scenario (delivering a front tire) sucks because we keep delivering stuff that the customer can’t use at all. If you know what you’re doing – your product has very little complexity and risk, perhaps you’ve built that type of thing hundreds of times before – then go ahead and just do big bang. Build the thing and deliver it when done.
Doing It Right
An Article by Brad FrostDoing it right requires a different pace of working and a much broader thought process than “ok, let’s get this thing out the door.” Which is super tough because most workplaces place a huge emphasis on getting things out the door, and fast. Little agile tickets that are expected to be completed in micro sprints to me seem to be antithetical to doing it right.
Planning doesn't make for better software
A Fragment by Robin RendleMy own time in a Silicon Valley startup has proved this much to be true; planning doesn’t make for better software. In fact today our design systems team doesn’t have sprints, we don’t have tickets or a daily standup. Each day we come to work, figure out what’s the most important thing that we could be doing, and then we—gasp!—actually do it.
Watching so many other teams slowly flail about whilst they plan for quarter 3.2 of subplan A, whilst our team produces more work in a week than they all do combined in a quarter has been shocking to me.
After four years of working in a large startup, I know what I always assumed was true: you don’t need a plan to make a beautiful thing. You really don’t. In fact, there’s a point where overplanning can be a signal of inexperience and fear and bullshit. The scrum board and the sprints and the inane meetings each and every day are not how you build another Super Mario 64.
Instead all you have to do is hire smart people, trust them to do their best work, and then get the hell out of their way.
Agile as Trauma
An Essay by Dorian TaylorThe Agile Manifesto is an immune response on the part of programmers to bad management.
Yagni
A Definition by Martin FowlerYagni originally is an acronym that stands for "You Aren't Gonna Need It". It is a mantra from Extreme Programming that's often used generally in agile software teams. It's a statement that some capability we presume our software needs in the future should not be built now because "you aren't gonna need it".
The State of Agile Software in 2018
A Talk by Martin FowlerOn the surface, the world of agile software development is bright, since it is now mainstream. But the reality is troubling, because much of what is done is faux-agile, disregarding agile's values and principles. The three main challenges we should focus on are: fighting the Agile Industrial Complex and its habit of imposing process upon teams, raising the importance of technical excellence, and organizing our teams around products (rather than projects).
Product vs. Feature Teams
An Article by Marty CaganThis article is certain to upset many people.
The Pale King
We change them and are changed
"We fill pre-existing forms and when we fill them we change them and are changed."
— Frank Bidart, Borges and I
Displacement
...the man fitted to his job like a man to the exact pocket of space he displaces.
What's wrong?
Pay attention, boy. The next suitable person you're in light conversation with, you stop suddenly in the middle of the conversation and look at the person closely and say, "What's wrong?" You say it in a concerned way. He'll say, "What do you mean?" You say, "Something's wrong. I can tell. What is it?" And he'll look stunned and say, "How did you know?" He doesn't realize something's always wrong, with everybody. Often more than one thing.
Narrative codes
The idea, as both sides' counsel worked it out, is that you will regard features like shifting p.o.v.s, structural fragmentation, willed incongruities, & c. as simply the modern literary analogs of 'Once upon a time...' or 'Far, far away, there once dwelt...' or any of the other traditional devices that signaled the reader that what was under way was fiction and should be processed accordingly. For as everyone knows, whether consciously or not, there's always a kind of unspoken contract between a book's author and its reader; and the terms of this contract always depend on certain codes and gestures that the author deploys in order to signal the reader what kind of book it is, i.e., whether it's made up vs. true. And these codes are important, because the subliminal contract for nonfiction is very different from the one for fiction.
An enormous machine
The couple of years in question here saw one of the largest bureaucracies anywhere undergo a convulsion in which it tried to reconceive itself as a non- or even anti-bureaucracy, which at first might sound like nothing more than an amusing bit of bureaucratic folly. In fact, it was frightening; it was a little like watching an enormous machine come to consciousness and start trying to think and feel like a real human.
Abstruse dullness
Consider, from the Service's perspective, the advantages of the dull, the arcane, the mind-numbingly complex. The IRS was one of the very first government agencies to learn that such qualities help insulate them against public protest and political opposition, and that abstruse dullness is actually a much more effective shield than is secrecy. For the great disadvantage of secrecy is that it's interesting.
To hide or dissemble
Fact: The birth agonies of the New IRS led to one of the great and terrible PR discoveries in modern democracy, which is that if sensitive issues of governance can be made sufficiently dull and arcane, there will be no need for officials to hide or dissemble, because no one not directly involved will pay enough attention to cause trouble.
Distraction
To me, at least in retrospect, the really interesting question is why dullness proves to be such a powerful impediment to attention. Why we recoil from the dull. Maybe it's because dullness is intrinsically painful; maybe that's where phrases like 'deadly dull' or 'excruciatingly dull' come from. But there might be more to it. Maybe dullness is associated with psychic pain because something that's dull or opaque fails to provide enough stimulation to distract people from some other, deeper type of pain that is always there, if only in an ambient, low-level way, and which most of us spend nearly all our time and energy trying to distract ourselves from feeling, or at least from feeling directly or with our full attention.
The Manual
I don't believe I have anything to say that isn't in the code or Manual.
In a stare
Being in a stare referred to staring fixedly and without expression at something for extensive periods of time. It can happen when you haven't had enough sleep, or too much sleep, or if you've overeaten, or are distracted, or merely daydreaming. It is not daydreaming, however, because it involved gazing at something. Staring at it. Usually straight ahead—a shelf on a bookcase, or the centerpiece on the dining room table, or your daughter or child. But in a stare, you are not really looking at this thing you are seeming to stare at, you are not even really noticing it—however, neither are you thinking of something else. You in truth are not doing anything, mentally, but you are doing it fixedly, with what appears to be intent concentration. It is as if one's concentration becomes stuck the way an auto's wheels can be stuck in the snow, turning rapidly without going forward, although it looks like intense concentration. And now I too do this.
We infantilize ourselves
Here in the US, we expect government and law to be our conscience. Our superego, you could say. It has something to do with liberal individualism, and something to do with capitalism, but I don't understand much of the theoretical aspect—what I see is what I live in. Americans are in a way crazy. We infantilize ourselves. We don't think of ourselves as citizens—parts of something larger to which we have profound responsibilities. We think of ourselves as citizens when it comes to our rights and privileges, but not our responsibilities. We abdicate our civic responsibilities to the government and expect the government, in effect, to legislate morality.
Doubling
Obetrolling didn't make me self-conscious. But it did make me much more self-aware. If I was in a room, and had taken an Obetrol or two with a glass of water and they'd taken effect, I was now not only in the room, but I was aware that I was in the room. In fact, I remember I would often think, or say to myself, quietly but very clearly, 'I am in this room.' It's difficult to explain this. At the time, I called it 'doubling', but I'm still not entirely sure what I meant by this, nor why it seemed so profound and cool to not only be in a room but be totally aware that I was in the room.
Strings and clots
The walls' texture was mostly smooth, but if you really focused your attention there were also a lot of the little embedded strings and clots which painters tend to leave when they're paid by the job and not the hour and thus have no motivation to hurry. If you really look at something, you can almost always tell what type of wage structure the person who made it was on.
More by accident
In an intentional bout of concentrated major thinking, where you sit down with the conscious intention of confronting major questions like 'Am I currently happy?' or 'What, ultimately, do I really care about and believe in?' or— particularly if some kind of authority figure has just squeezed your shoes—'Am I essentially a worthwhile, contributing type of person or a drifting, indifferent, nihilistic person?', then the questions often end up not answered but more like beaten to death, so attacked from every angle and each angle's different objections and complications that they end up even more abstract and ultimately meaningless than when you started. Nothing is achieved this way, at least that I've ever heard of. Certainly, from all evidence, St. Paul, or Martin Luther, or the authors of The Federalist Papers, or even President Reagan never changed the direction of their lives this way—it happened more by accident.
Wisdom
This remains largely theory, but my best guess as to his never dispensing wisdom like other dads is that my father understood that advice—even wise advice—actually does nothing for the advisee, changes nothing inside, and can actually cause confusion when the advisee is made to feel the wide gap between the comparative simplicity of the advice and the totally muddled complication of his own situation and path.
No-nonsense
Admittedly, though, however alert and aware I felt, I was probably more aware of the effects the lecture seemed to be having on me than of the lecture itself, much of which was over my head, and yet was almost impossible to look away from or not feel stirred by. This was partly due to the substitute's presentation, which was rapid, organized, undramatic, and dry in the way of people who know that what they are saying is too valuable in its own right to cheapen with concern about delivery or 'connecting' with the students. In other words, the presentation had a kind of zealous integrity that manifested not as style but as the lack of it. I felt that I suddenly, for the first time, understood the meaning of my father's term 'no-nonsense', and why it was a term of approval.
The pie has been made
"In today's world, boundaries are fixed, and most significant facts have been generated. Gentleman, the heroic frontier now lies in the ordering and deployment of those facts. Classification, organization, presentation. To put it another way, the pie has been made—the contest is now in the slicing."
Midwest sunset
For those who've never experienced a sunrise in the rural Midwest, it's roughly as soft and romantic as someone's abruptly hitting the lights in a dark room. This is because the land is so flat that there is nothing to impede or gradualize the sun's appearance. It's just all of a sudden there.
Test anxiety
It was part of a larger discussion about younger examiners and television and the theory that America had some vested economic interest in keeping people over-stimulated and unused to silence and single-point concentration. Shackleford's observation was that the real object of the crippling anxiety in 'test anxiety' might well be a fear of the tests' associated stillness, quiet, and lack of time for distraction. Without distraction, or even the possibility of distraction, certain types of people feel dread—and it's this dread, not so much the test itself, that people feel anxious about.
To fill in the gaps
It would be easy to impose on the office a whole welter of detail, explanation, and background that was actually gleaned only later and not part of my arrival and dazed scurrying about with the Iranian Crisis at all. Which is a quirk of temporal memory—one tends to fill in gaps with data acquired only later, sort of the same way the brain automatically works to fill in the visual gap caused by the optical cord's exit through the back of the retina.
Every love story is a ghost story
What hell is
He felt in a position to say he knew now that hell had nothing to do with fires or frozen troops. Lock a fellow in a windowless room to perform rote tasks just tricky enough to make him have to think, but still rote, tasks involving numbers connected to nothing he'd ever see or care about, a stack of tasks that never went down, and nail a clock to the wall where he can see it, and just leave the man there to his mind's own devices.
No place it hadn't already been
He imagined that the clock's second hand possessed awareness and knew that it was a second hand and that its job was to go around and around inside a circle of numbers forever at the same slow unvarying machinelike rate, going no place it hadn't already been a million times before, and imagining the second hand was so awful it made his breath catch in his throat and he looked quickly around to see if any of the examiners around him had heard it or were looking at him.
The word invents itself
Posits certain neologisms as arising from their own cultural necessity—his words, I believe. Yes, he said. When the kind of experience that you're getting a man-sized taste of becomes possible, the word invents itself.
Unborable
The underlying bureaucratic key is the ability to deal with boredom. To function effectively in an environment that precludes everything vital and human. To breathe, so to speak, without air.
The key is the ability, whether innate or conditioned, to find the other side of the rote, the picayune, the meaningless, the repetitive, the pointlessly complex. To be, in a word, unborable. I met, in the years 1984 and '85, two such men.
It is the key to modern life. If you are immune to boredom, there is literally nothing you cannot accomplish.
Institutional structure
'That was all he said it seemed like I needed, just to talk to somebody with no bullshit, which was what the Zeller Center doctors didn't realize, or like they couldn't realize it because then the whole structure would come down, that here the doctors had spent four million years in medical school and residency and the insurance companies were paying all this money for diagnosis and OT and therapy protocols, it was all an institutional structure, and once things became institutionalized then it all became this artificial, like, organism and started trying to survive and serve its own needs just like a person, only it wasn't a person, it was the opposite of a person, because there was nothing inside it except the will to survive and grow as an institution.'