Hacker News new | ask | show | jobs
by oceanplexian 1261 days ago
I guess the “No True Agile” crowd is as alive and well as they were 10 years ago. When it’s a failure, they always come out of the woodwork to let you know you weren’t doing it according to the orthodoxy. When you point out that it isn’t faster in practice, they gaslight you and claim that was never the point in the first place.

In a way it reminds me of a cult. You do a series arcane rituals that have no scientific evidence behind them, none of the process is data-driven or statistically proven. Frankly, it can’t die soon enough but as we all know some new hype will simply take its place to give busybody managers a reason to exist.

3 comments

Fine. Let's assume that Agile is worse than the alternative. I am willing to accept that. However, which process are you arguing for, in its stead? "Programming, Motherfucker?" Shapeup? (Shapeup gets pretty close to agile in spirit.) Spiral Model? (I am assuming you're not arguing for RUP or others.)

Conceptually, I like shapeup. I think spiral model is fine - I'd argue that a lot of "agile" shops are closer to spiral.

Now, there are tools in agile that I'll vehemently defend, such as continuous integration and retrospectives. I'm a fan of most of the principles, such as "Continuous attention to technical excellence and good design enhances agility." But we are now at a point that if we're going to argue that "agile doesn't work," we've had enough time as an industry to gather around an alternative.

The alternative is to just do what makes sense, without calling it anything. Junk shit like what scrum has become, for example not discussing technical stuff during standup (why the fuck not? that's what our job is about), artificially splitting stories into 2 week boxes (why the fuck should I break down something that isn't naturally breakable?), why create a card for every thing I'm working on (fucking control freak heaven), etc. It's completely juvenile, gaslighting, cargo cult scientology.

Continuous integration => of course, for me, never worked at a place where it didn't happen and that was before agile was even a thing. If I hopped on a project where it didn't make sense though, I should be free to ditch it.

There is no one way to write software that works for every project and there is no one process that works for every project. Just let the experienced folks decide what to use instead of leaning on some bullshit fixed crap process.

> The alternative is to just do what makes sense, without calling it anything.

You argue in favor of not calling things things, and then go on to call a lot of things things. You demonstrate why we need to name things: to talk about them more effectively.

What makes sense to one person may not make sense to another. I agree that each team should decide based what's right for them based on the people and the problems. But to do that beyond the trivial, we need to name things.

Sure you can name things, but there is no agreed upon definition of what scrum or agile means, so don't talk about them. They are useless, unscientific terms.
Does it need to have a fancy name and can’t be some frankenstein process you set as you look at the team and address the part where they needs structure ?
> However, which process are you arguing for, in its stead?

You don't need to do any other process. You can just talk to people as problems arise and do that "in stead".

Woah woah woah.

Hold up.

You mean to tell me that someone just pulled stories, story points, point poker, scrum, and the master of the scrum, burn down charts, spikes, iterations, sprints, and retrospectives ... all out of their ass?

> (...) all out of their ass?

This blend of mindless contrarianism gets tiresome. If this discussion was about hand-writing, you'd be accusing left-ti-right languages of being pulled out of the ass as well just because it's the standard shared by most.

People feel the need to plan work, estimate work effort, and allocate resources to get stuff done. Some people adopted these methods and they get value out of them. Not everyone has the luxury of picking up tickets created by magic and "it's done when it's done".

If you have a better way of doing this then be my guest and use it, but I have a nagging feeling you'd shit on that too just to feel smarter than everyone.

It's because a lot of agile is just plain stupid in real world use.

For example, story points are always being converted back to wall time because in the real world you have resources who can work x amount of hours and you need to plan around that.

What's the point of using an intermediate unit?

Story points shouldn't get converted back to resource time. They're just a way of ballparking estimates sufficient to let product managers make broad choices, and to help teams keep from getting excessive amounts of worked crammed into an iteration.

So don't use them as an intermediate unit. If you want hours, just ask for estimates in hours. I think that's not a great idea for all sorts of reasons, but if you're in a culture that values output over outcome, you may not have a choice, and clearly plenty of projects succeed with GANTT charts and whatnot.

In our process, we've been consistently told that a weight of 8 corresponds to a two week (10d) sprint, and that 80% of our time should be spent on scrum tasks. Then, if any developer closes more than 8 points in a sprint, we are told that we aren't estimating properly. They have all but equated 1 point to 1 day, but the scrum master consistently denies that weight corresponds to time.

I'm new to this. Are we agile?

I mean, that all sounds very Scrum to me in that uses agile words while sounding very top-down, awkward, and constrained.

To me, the agile movement, at least initially, was about empowering teams to get things done for users. I came out of the Extreme Programming end of things, which had a dozen practices to start with. But the people behind it said that they offered that set of practices as a place to start. From there, teams were supposed to use the short feedback loops to inspect and adapt.

So in my opinion, that is not agile. However, as I've written about elsewhere [1], I think the Agile movement got taken over by something that was more marketable to executives with a top-down orientation.

So in short, I think what they're saying sounds like bunk to me. The way I used points was as purely relative estimates. Point velocity per iteration was a measured quantity, used mainly to make sure the team didn't oversubscribe an iteration. E.g., if the team did 10 last week, this week we'd take on 10. If we thought we might get done early, we could always pull another card in.

But alas, it sounds like you're trapped in what I think of as mini-waterfall, where people who have waterfall biases have broken their big thing down into two-week-sized waterfall lumps.

For what it's worth, I long ago stopped doing estimates entirely except in special circumstances. I now prefer the Kanban-style approach where there's a backlog of modestly sized units of work and the team has a limit of the number of things that can be in progress at once (my starting point is half of the number of team members). You then release each thing as it's done.

[1] E.g., https://williampietri.com/writing/2011/agiles-second-chasm-a...

> So don't use them as an intermediate unit. If you want hours, just ask for estimates in hours

But then you aren't doing Agile!

The whole thing is just stupid terminology for existing things and distils down to "make a todo list and work through it"

That may be what you have experienced it as, but that is not what it is. There are more things, Horatio.
What would be a more data-driven software development process, that’s backed by scientific evidence and is statistically proven?
A shared todo list.