Live data from Hacker News

Why I'm not a big fan of Scrum

okigiveup.net

161–170 of 387 posts

Re: Why I'm not a big fan of Scrum

#161
post #129
post #116

Earlier quoted context omitted.

"The user-facing design needs to drive the API interface, not the other way around." I don't see how this need would nullify the ability to modularize code.

Modularize by functionality, not by layer. Start with a simple end-to-end path and grow outwards, rather than trying to go top-down or bottom-up, and don't split into distinct layers until you're actually deriving value from doing so. Writing code when you don't have the use case yet is always a bad idea.

I disagree. This is how you end up with messy code that needs constant refactoring. Making time to come up with a composable design shouldn't be that difficult. It usually isn't.

Re: Why I'm not a big fan of Scrum

#162
One of the first things I was taught when I did my first Scrum Master course was that scrum is just guidelines. Teams are self-organizing and need to do what works for them.

Most of the criticisms in this piece can be resolved by team members adapting processes so they work for the team.

I've also encountered most of those problems in non-agile, non-scrum teams as well. Instead of obsessing over points, it's hours.

Meeting hell can happen anywhere. Good employees will tell their managers when meetings become an impediment. Good managers work to fix it (and pro-actively try to prevent it).

I always find it odd when somebody complains that sprint goals need team buy-in to change. Why is that a bad thing? Adjust and move on. Sometimes things don't go as planned, sometimes they go well. Hopefully, it all averages out at the end.

Anyways, I guess I view scrum (or any other methodology) as a loose set of guidelines, not strict rules that must be enforced at all costs. If management is forcing the rules, even when they are becoming impediments, that's a sign of a management problem that is unlikely to be cured by a change in methodology.

Re: Why I'm not a big fan of Scrum

#163
post #7

I've been doing Scrum-driven development for a few years now after working much more independently for most of my career. I understand why managers like it because it at least lends some structure and predictability to what is an inherently unpredictable enterprise. But the author's criticisms of the incentives of Scrum are on point I think. Because the stories are always articulated in terms of user facing features…

One amendment I always wanted to make was to have a "technical debt dial". You could stick it on the wall next to the scrum board. The debt dial should be from 0% (spend all the time refactoring) to 100% (spend zero time refactoring, get it out at all costs). Management should have complete control over the dial. Developers should have control over what kind of refactoring they do (ideally the retro should have a que…

I often have the impression that the term "technical debt" is just an euphemism to avoid admitting that someone in the team has produced poorly thought and poorly written code.

I'm not sure I ever found myself in the position of writing bad code just for the sake of speed - I surely wrote tons of bad code because I didn't know how to do it better, or because I didn't have the requirements clear from the start, or because of bad design and planning. But to get a feature out quicker, no. If anything, it seems to me that writing bad code requires more time than writing clean and elegant code.

In the end, "technical debt" becomes a way to shift the blame from your own (the team's) inadequacy at planning, designing and developing, towards supposed time constraints that always lie outside of the team's responsibility.

Re: Why I'm not a big fan of Scrum

#164
I find points far more useful than time based estimates. The trick is to use points like categories and not try to treat them as 1 point = N of something.

During my training the analogy was to categories of dogs based on size. So like a Chihuahua is maybe a 1 and a Great Dane is maybe an 8 (and there's 7 categories of dog size between them.) But a Malamute might also be an 8. Even though it's shorter than a Great Dane, it weighs maybe the same because it is more thickly muscled. But neither of those dogs is equal to 8 Chihuahuas.

The point being that if you categorize stories like this, treating point values as categories rather than as 1 point = N of X, then that makes pointing a lot easier and a lot faster as your team builds up a methodology (what categories your team uses and what they mean is up to you, it doesn't matter as long as you are consistent.)

This leads to meetings taking less time, and leads to a more consistent velocity than if you do something like 1 point = 2 hours or 1 point = something else rigid.

If SCRUM doesn't work for your team by all means you should abandon it. But, to me, it sounds like his team is using it badly. It sounds like they are being really rigid, and it sounds like a few adjustments could lead to a lot more happiness. But maybe not.

Re: Why I'm not a big fan of Scrum

#165
post #163

Earlier quoted context omitted.

One amendment I always wanted to make was to have a "technical debt dial". You could stick it on the wall next to the scrum board. The debt dial should be from 0% (spend all the time refactoring) to 100% (spend zero time refactoring, get it out at all costs). Management should have complete control over the dial. Developers should have control over what kind of refactoring they do (ideally the retro should have a que…

I often have the impression that the term "technical debt" is just an euphemism to avoid admitting that someone in the team has produced poorly thought and poorly written code. I'm not sure I ever found myself in the position of writing bad code just for the sake of speed - I surely wrote tons of bad code because I didn't know how to do it better, or because I didn't have the requirements clear from the start, or bec…

I see technical debt as being that code you haven't written yet. You just ignore the errors from misaligned data instead of writing the date sanitizer. You monitor and hand-reboot processes that leak instead of finding the leak/automating the reboot. and so on.

Re: Why I'm not a big fan of Scrum

#166
post #148

Earlier quoted context omitted.

It's a long time since I've had to deal with "strict" Scrummers. But I do remember being utterly baffled as to the insistence on user features being ready by the end of a sprint, even for quite complex, technical components. Why can't we make some sub-component this sprint then the UI bit the next? I tried various ways of reframing it such that the developer of the UI be the "user" but it didn't wash.

Because that two weeks you spent writing excellent code is mostly useless unless you have a way to get feedback on it. As a customer, you've given me no value. What if you finally hook up UI to the sub-component and the customer/stakeholder decides they don't like any of it? You could have known about it earlier.

> As a customer, you've given me no value.

Erm. But it's you who is the customer in this scenario, not him? Or am I missing something?

Re: Why I'm not a big fan of Scrum

#167
The author mentions this, but I'd like to insist on it a bit more:

Scrum is a system of managing people, not a software development methodology.

It's about transforming programmers into cogs and gently forcing them to obey certain rituals every day, until they slowly give up their individual creativity and initiative and become good 'team players' .

And when someone says 'team player', I hear 'you belong to us now'.

I disliked scrum since the moment it was decreed upon our team.

And that's because pretty soon our team became obsessed with points and respecting the religion rather than doing the actual work.

The final drop came when I refactored some code, made it twice as fast using half as much memory (the proverbial 'much better'), only to have to fight the team to accept the changes, because that wasn't in the backlog.

Methodology is only good when it helps you achieve your goals easier and faster, safer, etc.

But when the methodology becomes the goal, then your job changes into satisfying the methodology, rather then being the best at what you like and enjoy.

And this is the exact status quo that larger organisations love - people focused on small irrelevant tasks, while the 'grand scheme' is determined by management.

Not for me. I use certain parts of it in my work today (develop in sprints, demo at the end of sprint, planning, backlog and current tasks), but if I see "we use scrum" in the job description, then I'm not your man.

Re: Why I'm not a big fan of Scrum

#168

Keep in mind that Scrum was designed by consultants working for organizations that don't understand software development. So they designed a process that can make sense to people outside our industry. In order for it to go well, though, the person running the Scrum process needs to know how shit really works. This is rarely the case.

> Keep in mind that Scrum was designed by consultants working for organizations that don't understand software development. Scrum was "designed" by Ken Schwaber, a software project manager at the time looking for a better way to control software development processes. Schwaber discovered he could use an empirical process, rather than a defined one, to control software projects. He created Scrum following this princip…

Good point, thanks. I was thinking of XP coming out of Chrysler.

I'll stand by the last two sentences of that comment, though.

Re: Why I'm not a big fan of Scrum

#169
> First of all, what are story points? Are they measures of time it takes to complete a story? If yes, then why are they not in terms of time? Are they measures of complexity?

Story points are a measure of "relative amounts of effort". A 2 point story is twice as hard, as far as effort to implement it than a 1 point one.

> Scrum meetings (aka rituals) have been among the most miserable hours of my life...

Would you rather have many meetings almost every day, or a single big ol' meeting every few weeks so you can focus on coding without interruptions?

> The review meeting causes utterly unnecessary anxiety (Oh my god, will my feature work?)

It should not cause anxiety because it MUST work. The review meeting is to show stakeholders a "potentially shippable product increment". Everything you show on the review meeting should have been extensively tested already.

> Why estimate stories that you are going to break down anyway?

You only break down stories if they are too big. You are not supposed to work every detail on a planning meeting.

> but in Scrum, the retro is explicitly supposed to be about the Scrum process itself, not about the codebase

The retro is not about the scrum process but about how it is working for the team. All these issues you have already complained about should be reserved for this meeting where the whole team can decide which adjustments to make.

> The main goal of Scrum is to minimize risk and make sure the developers do not deviate from the plan. I will come back to "Scrum controlmania" later.

It is regretful that, like all the other "why scrum sucks" posts I've seen on HN, it all boils down to a bad scrummaster not managing expectations and taking the time to explain where the process really comes from.

Re: Why I'm not a big fan of Scrum

#170
Re: daily standups. A lot of what the OP criticizes standups for is what I like about them. The content is only half of it. In my experience, it can be very easy for a team to cease feeling like one and instead become a loosely-coupled collection of independent contractors. 15-20 minutes a day of forced synchronous communication goes a long way to making you feel like you're actually on a team and therefore act like it, and is well worth the minimal time. This is especially true if the team isn't all in the same physical space. It can be disruptive, so scheduling it at the right time is important.

Of course, if you already have meeting overload, standup is going to feel like the worst.

Post reply on HN