Live data from Hacker News

I don’t believe in sprints

robinrendle.com

261–270 of 459 posts

Re: I don’t believe in sprints

#261
Sprints really help at our place. We have a lot of different priorities and themes. Stakeholders have a variety of requirements, and cross team projects need to be aligned in time somehow.

This is all hard to do IMO if there's one running backlog.

The benefits of sprints I see is they're a useful time container for planning purposes. Eg:

- we can allocate larger pieces of work to upcoming sprints. This is done very loosely just to get some idea of what we can take on, and when

- we can allocate a fraction of each sprint to tech debt or platform improvements etc

- set a goal for each sprint which is some observable step forward. This has taken practice to break down the work into appropriate chunks which can be verified done

- record velocity across sprints just so we have a rough idea of what we can get done in a sprint (it will vary of course)

Yes, there is overhead from the planning meetings. But this helps all of us get involved with incoming work, which I think is better than tasks coming from nowhere without context.

I think the right methodology depends on the context of the business. If product teams need to work together towards something, or if there are competing project priorities, then sprints can help protect focus and provide finer structure than just "Q4".

Re: I don’t believe in sprints

#262
post #11

Kanban is the best middle ground IMO. I agree sprints are a distraction. The planning and ceremonies alone sap time. Sprints are really just a form of pressure. In my experience the stories estimating is not accurate enough to set up a predictable sprint, and the inevitable deviation from the plan just creates additional work to audit and adjust, along with a sense of failure around what has often been a productive 2…

Every competent agile team i've ever been on ended up with vestigial sprints / iterations. There might be a weekly rhythm to meetings, but there is a continuous flow of stories, commits, and releases. Why on earth would you do it any other way?

Re: I don’t believe in sprints

#263
post #44

Sprints are a good tool to transform bad teams into better teams. No amount of process and tools is going to convert a good team into being a great one. Great teams do not need additional processes to deliver value and they usually are more of an obstacle. Clear goals and a vision are much more important, as well as having an environment where the decision makers are the one implementing the solution.

I've only once worked in a "great" team; it was a startup, they were all young and they weren't well-paid, but they were all intelligent, dedicated and knowledgeable. I once used to do college lecturing, and I've occasionally had a truly great class. A few star students energized the whole class, who were helping one-another and spurring one-another on.

The best class was a beginner's C class, and I was eminently suitable to teach it, because I was a beginner C programmer myself /s. By week 3, they were well ahead of me.

It's evidently possible to deliberately build a great team; but I have no idea how that's done. I don't know much about recruitment, and I certainly don't know how you can bring together a team like that C class.

Re: I don’t believe in sprints

#264
In one of my past job, we were mostly pragmatic and humble engineers with strong ethos to solve most problems from first principles without ego or dogmas. We didn't have a company-wide mandate to use any particular methodology. Every week, a bunch of leads met to share their retrospectives and learnings. Without any corporate diktat, most application and platform teams were following a lightweight form of sprint. You would find whitewalls filled with vast end-to-end system flow designs and besides them there were sticky notes which roughly looked like Kanban board. These things just happened – no dogma driven push from anyone.

In an even earlier job, I saw an overzealous 'scrum master' certified engineering director trying to ticketify everything with Kanban boards and burndown charts etc. Engineering teams under them hated it. It was the least productive period for a division of 100+ engineers I ever saw.

Moral of the story: methodology matters a lot less than culture and talent.

Re: I don’t believe in sprints

#265

I want to see the code produced by this non-system; and to learn its longevity, particularly beyond when key early contributors have left. I want to see the applications produced by that code and to learn the size of the teams, departments and companies around the products. This article carries little weight without some of that context. There's no meat to this article, just a rant about some management style the aut…

What proponents of agile have a tendency to do is take anything effective and call it "agile".

I've literally had people say "you're doing agile even if you don't know it!".

You can't nail them down, it's always "oh that works? yeah, that's agile. Oh, that doesn't work? you're not really doing agile".

---

And now let me say, I don't like scrum because it's a shitty way to write software.

There's really only 2 ideas in agile that are useful.

1. iterative development, and

2. evaluate and change

That's it. The rest don't matter and are often actively harmful.

You don't need scrum masters, PO's, sprints, story points, ad nauseum.

Can they be useful? Maybe, it really depends on the scale and needs of what you're building, but I'm going to argue that outside of business analyst, these roles should be developers that take responsibilities. yeah yeah, inb4 "scrum master should be a developer!". Ask yourself this. What is the difference between a tech lead and a scrum master? answer: scrum master is considered a career, tech lead is considered a skilled developer.

The problem is creating these roles puts barriers between people. It prevents developers from developing an understanding of what they're actually doing. None of these roles are useful outside of QA and business analyst, and even the BA role can be done by developers if they have communication skills. All a BA is going to do is ask questions of the business.

Re: I don’t believe in sprints

#266

Earlier quoted context omitted.

Why do we need predictable deliveries? Let’s boil this down to first principles. Nothing about building software, especially innovative software is predictable.

Apple comes out tomorrow and announces the new iPhone 15. "We do not know when it will be ready. It might be tomorrow, or just as likely it will be in a hundred years." Who will hold their breath? Who would invest in this? Software needs to be used by people. Software deliveries that cannot be estimated cannot be relied upon for planning. It may as well never be announced!

Apple doesn't come out and announce a new iPhone 15 until it's already 90%+ done and working, and therefore can accurately predict some kind of reasonable release window.

And software that can't be estimated is still useful, even if you can't plan releases around it yet. "Apple has been unable to accurately estimate any release window for the Apple Car or Apple VR. Therefore no one should invest in it." would be a pretty silly statement, right?

Re: I don’t believe in sprints

#267

Earlier quoted context omitted.

The issue is management rarely is looking 1-2 months out. They are looking 1-2 years out. On those scales it is impossible to estimate anything. "Oh, yeah, the rewrite will be done in 1yr, no worries" One year passes, and you haven't started!

I wish it was the norm for management to be looking 1-2 years out. Sometimes that tries to happen at the C level, but even then it doesn't seem to work its way down to line managers who are almost always focused on the next immediate deliverable. Future looking managers are the exception, not the rule in my experience.

I'm not saying it is good forward-looking. Can be bad.

Re: I don’t believe in sprints

#268
post #178

Earlier quoted context omitted.

Kanban is still better than sprints. You organize things that are most important at top, and what is done by the deadline is done and ships; what isn't done doesn't ship. Deadlines may mean you branch so can make the release stable, while feature work that clearly won't be done one time can continue if the team working on it isn't involved in the release. It doesn't matter if you have sprints of kanban, if there is a…

Funny how whenever I've done kanban, top tech debt items always are eternally pushed down to #5 or 6 in the backlog, never to see the light of day. I have my criticisms for sure, but sprints give more discretion to the teams to carve out space for multiple types of priorities held in balance, and lock that ratio in for a period of time.

> sprints give more discretion to the teams

when they do. i was part of an 'agile' team in 2019 (6 mo contract). I wasn't there long enough to have strong views on work items or priorities, but did watch the interactions between others. It was a decently organized team inside a (fast) growing org - lots of challenges there. But overall, there was a decent balance.

Worked on another smaller team longer - 2 years. As the company grew, it got far more process heavy. The 'sprint' stuff was "as tech lead, you get 5 points to use however you want per sprint!" (yay?). that got taken over by the CTO getting involved and using those '5 points' for constant infrastructure stuff. I was reviewing code I delivered, and it was full of cut corners to continually hit deadlines. I begged on a few occasions for more 'cleanup' time. It was always denied (except for 3 days over xmas, because... literally no one else was working, so they couldn't say no).

The project transformed in to "here's our strategic goals for 2022" with every quarter mapped and filled to the brim with work. 0 time for anything but bare minimum MVP. The thinking was "well... you've been able to work at that pace before, and we added someone new, so we can increase that". In 2019, it was MVP - test the idea. Speed to market makes some sense. In 2022, millions of dollars and hundreds of lives affected each month... we need to take a bit more time to clean up existing code, retire legacy code, adopt a slower pace to focus on clarity, testability, even performance concerns etc. This seemed to fall on deaf ears.

"discretion to the teams" tends to ring hollow to me based on recent experiences, and ideally I'll work with another group in the future with a healthier balance.

Re: I don’t believe in sprints

#269
post #75

The problem that a lot of people get to with Agile/Lean is that the actual practices deviate from the original goals. The powers that be can't actually handle agile in it's truest chaotic form. So it gets bastardised from the top down (and at times from the bottom up as well). Worse still some of the things that are advertised as 'agile' actually violate the principles. The card wall was supposed to be about as light…

> The powers that be can't actually handle agile in it's truest chaotic form.

I would argue the word phrase 'software development' should replace 'agile' in that sentence.

I liken it to boiling water. It's messy and chaotic. You'll eventually reach the goal, but until that happens you must be comfortable with a bit of chaos. Attempting to remove the chaos from software dev is like trying to tell mozart not to practice. You'll never get out of it what you think you will.

Re: I don’t believe in sprints

#270
post #252

(Sigh) This is just a religious pronouncement in a religious war. There are many processes out there - not just sprint, kanban, water fall, or "no process". Pick the process that works for your team. As an engineer and an engineering manager I have worked in strictly controlled water fall, "no process", well structured sprints, kanban, and scrumban. They all have their pros and their cons, their costs and their benef…

> I developed a preference for scrum style sprints as both an engineer and as a manager, because I prefer to work collaboratively where everyone knows what everyone else is working on and everyone gets a chance to have a say Are sprints necessary for knowing what other people are working on, and for having a say? I thought sprints are only tangential there.

Are you asking because you read dbingham as saying sprints were a requirement for that? I didn't interpret 'necessary' in there at all- but rather that method of organizing work tended to produce that type of result.
Post reply on HN