Live data from Hacker News

Why I'm not a big fan of Scrum

okigiveup.net

361–370 of 387 posts

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

#361

Earlier quoted context omitted.

> for those estimates to be useful in tracking your progress you have to do it in advance In advance of what? The only constraint on a useful estimate is that is comes before the task is finished - it needn't be considered as credible at the earliest possible time. Also, your response doesn't really address my post..

(I went to bed so didn't take long to reply before) I am clearly not expressing myself well. I am talking about a situation where some stakeholders are expecting a complete picture of roughly how large the project is and would like to be able to track how far your team is through this project on a regular basis. I am putting scrum forward as a methodology for, in as short a time as possible, measuring the size of tha…

>The person I was replying to sounds like they are on a bad team/project where people use their estimates to blame/finger point, and they are ascribing this to scrum as if the team wouldnt be doing this otherwise.

Every time you try and infer what I'm "really" saying or what "really" happened to me you get it completely wrong. Next time you do that just assume that you're wrong, it'll save us both time.

The blame/finger pointing on my projects wasn't really external (although in a different environment it certainly could have been). Developers themselves felt bad about missing their 'commitments'. The pressure/blame was largely self-inflicted.

Despite feeling bad the predictions were still consistently optimistic and still consistently wrong due to the environment the predictions were made in. It was a bug in the scrum process that led this to happen, but the team and management (and you, apparently) would rather assign blame to anything else other than a bug in their methodology.

>The analysis comes in discovering the velocity.

Velocity isn't a useful metric.

>This is the method for getting confidence in your estimate.

Except it doesn't work. It didn't work for us and it probably doesn't work for anybody else.

Confidence in estimates means treating risk and uncertainty as if it is real rather than sweeping it under the carpet, like it is in scrum.

Confidence means a prediction process that doesn't make developers feel guilty about being wrong, like it does with scrum 'commitments'.

Confidence a prediction process that doesn't intentionally subject developers to groupthink and peer pressure by immediately putting them on the spot like scrum planning pt 2 does.

Confidence means that your estimation process itself should be mutable. Under scrum it is fixed and not subject to review (if you change it you're doing "Scrum-but" and that's a sin, according to scrum trainers).

Most of all, confidence means that you should be able to inject technical debt cleanup stories into the sprint that derisk future changes. Scrum says that's only allowed if the PO says it's allowed. The PO is not responsible for missed commitments though, so it's not their problem.

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

#362
post #280
post #258

Earlier quoted context omitted.

> And if I am under pressure by the management is because I spent time developing without understanding what I was doing; a better developer would have gotten it right at the first try, and there would be no technical debt. While this reasoning is probably not technically wrong, I'm not sure if it's relevant to the real world. You can always make an argument of form "there exists a developer who could have got this f…

I guess that what I'm trying to say - and that got clearer to me while replying to other comments in this thread- is that it feels we're using the term "technical debt" as a way to avoid talking about personal skills or lack thereof, and to avoid admitting our or other people's faults. If I say that we need one more week of work on something because of technical debt due to the exceptional circumstances is one thing;…

>As for your other points: maybe one of my team members produces consistently more technical debt than the others. Is it still technical debt?

???

Why wouldn't it be?

Creating lots of extra technical debt, in fact, is a defining feature of poorer developers.

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

#363
post #313

Earlier quoted context omitted.

He's saying that eventually when your feature surfaces as a UI the customer may not like it. To which I have 2 responses: 1. not all features need a UI to be useful 2. this also demonstrates the infantilising nature of scrum where no developers can be trusted to think deeply, talk to stakeholders and otherwise do the right thing in a fully-rounded way but must just follow the exact instructions expressed

But he said: > As a customer, you've given me no value. Meaning: > You, being a customer, have given me no value. This is what I don't understand.

He said

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

Meaning:

> [From my hypothetical perspective] as a customer, you've given me no value.

Or more concisely:

> [Speaking] as a customer...

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

#364
post #319
post #244

Earlier quoted context omitted.

Add WIP limits to your columns. That means no cases can be added without other ones been completed first.

That doesn't help. If you have n people you need to allow n tasks in progress. The problem is one person being on the same task for 6 months.

Honestly I don't think that's an issue, if you lead developer is keeping on top of the kanban board, he will notice it and address it.

Most Kanban boards allow you set to mark items if they go past a certain time.

Manage by exception. If most cases just take a few days, set up some kind of system to mark the outlining cases out. Then you can investigate and address these exceptional cases if required.

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

#365
post #313

Earlier quoted context omitted.

But he said: > As a customer, you've given me no value. Meaning: > You, being a customer, have given me no value. This is what I don't understand.

He said > As a customer, you've given me no value. Meaning: > [From my hypothetical perspective] as a customer, you've given me no value. Or more concisely: > [Speaking] as a customer...

I'm not sure this is how the grammar works...

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

#366
post #280

Earlier quoted context omitted.

I guess that what I'm trying to say - and that got clearer to me while replying to other comments in this thread- is that it feels we're using the term "technical debt" as a way to avoid talking about personal skills or lack thereof, and to avoid admitting our or other people's faults. If I say that we need one more week of work on something because of technical debt due to the exceptional circumstances is one thing;…

>As for your other points: maybe one of my team members produces consistently more technical debt than the others. Is it still technical debt? ??? Why wouldn't it be? Creating lots of extra technical debt, in fact, is a defining feature of poorer developers.

>>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

>Creating lots of extra technical debt, in fact, is a defining feature of poorer developers.

I think we agree then. It's just that "technical debt" makes it sound- to me at least- inevitable and impersonal, while it is possible (at least for substantial amounts of it) to ascribe it to specific people and to avoid it by hiring better people.

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

#367
post #364
post #319

Earlier quoted context omitted.

That doesn't help. If you have n people you need to allow n tasks in progress. The problem is one person being on the same task for 6 months.

Honestly I don't think that's an issue, if you lead developer is keeping on top of the kanban board, he will notice it and address it. Most Kanban boards allow you set to mark items if they go past a certain time. Manage by exception. If most cases just take a few days, set up some kind of system to mark the outlining cases out. Then you can investigate and address these exceptional cases if required.

> if you lead developer is keeping on top of the kanban board, he will notice it and address it.

Do you have some extra process that makes this happen? I don't remember anything in the version of kanban I saw that implied the lead developer should be doing this.

> Manage by exception. If most cases just take a few days, set up some kind of system to mark the outlining cases out. Then you can investigate and address these exceptional cases if required.

In the project I'm thinking of it wasn't a single exception; rather the length of a typical task gradually crept up (from below 2 weeks at the point when we switched from scrum) until it was normal to have tasks lasting multiple months.

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

#368
post #223

Earlier quoted context omitted.

There's certainly a lot to like about that approach. But my experience is that it makes it very easy to end up with tickets that end up taking months (because there's no longer a natural point at which to stop and take stock), and/or accepting tickets that don't really have clearly defined acceptance criteria, which risks working on something that won't actually turn out to be useful. I don't like the artificial 2-we…

When I worked on a team like this, the rule was that when you came free and are looking for work, before you started any new stories you looked at the work in progress to see if you can help out to expedite any of it. The idea is that it's everyone's responsibility to try to minimize the work in progress (Lean). We also had the general expectation that one story should generally take no more than about two weeks. Bef…

Two weeks! Any story that takes more than 2 days is generally broken down into smaller stories. A two-week project is more like a small epic...

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

#369
post #223

We now use Kanban on our team, after using Scrum for a couple years. Pointing is a process to discover unexpected hurdles or uncover hidden knowledge from coworkers, and as a guideline. By not having sprints, you just focus on your current ticket, and not artificial deadlines or points. Tickets will be done when they are done, and managers don't have expectations of completeness that as disconnected from reality. We'…

There's certainly a lot to like about that approach. But my experience is that it makes it very easy to end up with tickets that end up taking months (because there's no longer a natural point at which to stop and take stock), and/or accepting tickets that don't really have clearly defined acceptance criteria, which risks working on something that won't actually turn out to be useful. I don't like the artificial 2-we…

It's up to ticket creators to pipe up if their request hasn't been worked on forever. But we recently reviewed the whole board with the PMs and that was pretty good for getting some things out of limbo, and closing others that never got that important.

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

#370

Earlier quoted context omitted.

I believe the technical debt could be measured as: The time it takes to change code that is already written. For instance, if you want feature N+1, but to do feature N+1 you need to change feature N, then the amount of time you spend changing feature N is the technical debt. So when you are estimating, you could say: We need to refrob the whozzit to make it compatible with foo 2.0, then that work could be captured as…

I do believe that this N+1 - N captures the idea well. One issue though: If the requirements have changed, that is not a good metrics. i.e. We did that theme blue for Iphone, now people wants it to be green AND on windows. It's not necessarily technical debt, it's cancelling everything we've done to make something else entirely (even though it may seem superficially similar). If the requirements and/or features for N…

Agreed. One could argue that at time t+1, the product that meets the market need is the N+1 version. Therefore, even if feature N developed at time t was perfect for that time, it is still technical debt at time t+1. I could think of a lot of technical innovations that at their time were the perfect fit for the market, but at a future time become technical debt.

I think the point to take away is that software is just a tool, an artifact, and at the end of the day it just matters that it does what it is "supposed to do". However, civilization is dynamic, so we are constantly seeking to optimize an ever-changing potential function. So perhaps it is not the programmer that is running in circles, perhaps it is the market. So for the manager accounting for the technical debt, they must accept the change as a cost of doing business.

Post reply on HN