Live data from Hacker News

Why do some developers consider Agile development to be nonsense?

agileoverflow.com

111–120 of 147 posts

Re: Why do some developers consider Agile development to be nonsense?

#111
post #40

Earlier quoted context omitted.

Well there is an interesting concept - you're talking about jargon like "sprints" yet referring to "Agile" which is a very, very broad church. I like Scrum for the power of the retrospective, if people actually talk about issues, the the team really is empowered you can change those problems: a) Talk through how to handle bugs. There is no prescriptive answer, if you have a problem with defects then fix it, or develo…

> If your organisation can't commit to you working full (pretty much) time on a project working on a set of things that have been committed to without pulling you in another direction See, this is the thing: on the one hand it's supposed to be all about committing to a specific direction ahead of time and not letting yourself be pulled somewhere else -- on the other hand it's supposed to be all about developers being…

>developers being empowered to work on what's most important at the moment There's the problem, the "moment" is the sprint. If you're need for a flexible time frame is less than a week then Scrum isn't going to work for you. There are other methodologies that might work (Kanban say), but I'd also question whether you're doing pure development or mixing in support as well.

> "Project Managers" don't exist in Scrum. > Right. Just project owners. Uh huh. "Product Owners" should never, ever, ever be Project Managers or anything like them! They're supposed to be from the business end of things. The worst projects I've ever seen in Scrum land have been developing for project manager's needs (the only time PMs get to be POs) and it went horribly because they act like project managers not business people focusing on what they actually need the product to do.

If your consultants are confusing Kanban and Scrum then I'd run screaming for the hills. I've literally just come out of a retrospective where we had a discussion about switching from Scrum to Kanban for a load of impact analysis heavy work, they are different beasts both good at different things.

Re: Why do some developers consider Agile development to be nonsense?

#112

Earlier quoted context omitted.

No, they do fit into sprints, quite nicely. Time boxing gives you a deadline and accountability. Using research and development as an example, you go off, spend months researching a new search algorithm, only to come back to hear the customer tell your approach was wrong in restrospect. The sprint mechanism catches that sooner, preferably at the end of a single sprint, then months down the line. It's fail early fail…

> Time boxing gives you a deadline and accountability An arbitrary deadline, often forcing you to interrupt your flow and then spend extra time next sprint reorienting yourself to pick up the same task again. And artificial accountability. (Did Alice overrun her time-box because she was lazy? Or because the bug was really tricky? Nobody knows! Is Bob a rockstar, or is he just really good at plausibly over-sizing smal…

"An arbitrary deadline, often forcing you to interrupt your flow and then spend extra time next sprint reorienting yourself to pick up the same task again. And artificial accountability. (Did Alice overrun her time-box because she was lazy? Or because the bug was really tricky? Nobody knows! Is Bob a rockstar, or is he just really good at plausibly over-sizing small tasks? Perhaps!)"

You know at least 2 weeks in advance you have to be able to give your customers a report of your findings. If that interrupts your flow or forces you to "reorient" yourself, that sounds like you have poor planning and time management skills. If Alice is consistently missing her deadlines, or if Bob is consistently over-performing, the team needs to analyze the tasks being given to those individuals.

"That's kind of strawmanny. In no methodology should someone be allowed to wander around for months with zero feedback."

There is a difference between "go research this and report back" and "go research this for 25 hours and get back".

"I have literally never met a customer who didn't want everything right now. A good traditional PM is able to manage those customer expectations. Few developers I've met have those skills or want to be spending their time doing that."

Agile and the constant feedback cycle help to manage those expectations. It's another tool in the PM's toolbox.

Of course they all do. Another fundamental part of agile is the constant communication between customers and the team.

Re: Why do some developers consider Agile development to be nonsense?

#113
post #70

To go through some of the points I fundamentally disagree with: "There is no place for an actual senior engineer on a Scrum team" - There absolutely is, who is peer reviewing the code, working with the BAs to design the architecture, identifying the technical dependencies in the backlog? Scrum is not a methodology for writing code, it is for getting a series of tasks done. All the things a senior dev needs to do on t…

> Scrum is not a methodology for writing code, it is for getting a series of tasks done. 0_0 Y...you didn't just write that, right? I'll be unusually charitable and give you a chance to think again about that sentence up there. > "The story points are there to track productivity" - Oh noes the people paying you want to know how long the project is going to take to be done. And yet, points aren't supposed to be transl…

What is wrong with that sentence? TFA focuses far too much on the coding aspects of Scrum by asking "what does the senior dev do?", my point is all the things a senior dev does are fit to be tasks or stories in Scrum. It's outgrown being developer focused, and even more literally writing code is a small subset of "software development".

Points don't have to track time intervals to give you a sense of progress. Averages are a powerful thing, hopefully management is focused on long term graphs not getting het up about the number of hours difference between your tasks for two similarly pointed stories.

Oh and Scrum makes no requirement re using story points - it only requires that backlog items be estimated. We estimate tasks in hours and stories in points for instance, Scrum doesn't care. All our Product Owner shows to the stakeholders is a burnup with just numbers on the x axis.

Re: Why do some developers consider Agile development to be nonsense?

#114
post #8

This article cements in my mind the issue: devs tend to take away from agile what they expect to find, rather than taking the time to understand the motivations and whole scope of activities. Historically, most software development methodologies are excessively top-down, so people somehow still expect that from agile. Most devs are the sort that couldn't stand doing group projects in school, so the idea of organizing…

>Agile development is about making connections to your team members: individuals and interactions over process and tools. See, this kind of vague, fuzzy feel-good description is exactly why it seems to me that the one thing everyone seems to agree on about Agile is that everyone else is doing it incorrectly.

That's literally the first line of the agile manifesto. If that isn't agile, then agile is completely meaningless.

Re: Why do some developers consider Agile development to be nonsense?

#115

Earlier quoted context omitted.

> Scrum is not a methodology for writing code, it is for getting a series of tasks done. 0_0 Y...you didn't just write that, right? I'll be unusually charitable and give you a chance to think again about that sentence up there. > "The story points are there to track productivity" - Oh noes the people paying you want to know how long the project is going to take to be done. And yet, points aren't supposed to be transl…

What is wrong with that sentence? TFA focuses far too much on the coding aspects of Scrum by asking "what does the senior dev do?", my point is all the things a senior dev does are fit to be tasks or stories in Scrum. It's outgrown being developer focused, and even more literally writing code is a small subset of "software development". Points don't have to track time intervals to give you a sense of progress. Averag…

> What is wrong with that sentence?

So, writing code has nothing to do with getting a task (of ANY KIND, mind you) done?

Again, do you want to take a moment and rethink that?

Re: Why do some developers consider Agile development to be nonsense?

#116

Earlier quoted context omitted.

So what? Let them. They get estimates that are relative to each other (~this~ story will take longer than ~that~ story), and can turn them into time measurements them however they like if they want to; we're not committing to their estimate. All we're committing to is to deliver what -we- choose to include in a sprint, will be delivered by the end of the sprint. We will choose what is in the sprint based on the prior…

> So what? Let them. They get estimates that are relative to each other (~this~ story will take longer than ~that~ story) First, they'll ask how much longer ~that~ task will take to complete than ~this~ task. Then, they'll ask how long ~this~ task will take to complete. Then, they'll use this little trick called "math"[1]. > and can estimate them however they like if they want to; we're not committing to their estima…

Your experience dictates those things.

Mine does not.

You claim my experience can not exist.

I claim my experience can.

You also seem to ignore what I'm saying; we give deadlines. The end of the sprint. Whatever we take on will be done at the end of the sprint; they have control over what we take on by the backlog. Beyond that, we refuse to give any commitment (instead just giving relative weights to how long a task will take, to help in prioritization), and we are sufficiently empowered to not care if they try to commit us to something despite that. But they usually don't (the only time it's ever more immediate is "a bug was seen in prod and I want to know what caused it!", in which case that becomes our first priority task; again, because we consciously choose to undercommit ourselves, there is slack for that sort of thing to occur without delaying the schdule), because we work with them, listen to them, advise them, and they see that we are trying to help them do what is best for them, without causing a bunch of tensions and clusterf*ery. And because we undercommit we usually deliver more than we commit to, with time used to make sure things are reliable, so they have come to trust us.

In short, I hear a bunch of presumptions from you about what management -always will do-, whereas I know this from experience to be false. Management -can- adapt to viewing things along sprint boundaries. At least, mine has. Perhaps your problem isn't that a process is bad, but that your managers insist on micromanaging you and that you're not sufficiently empowered to push back?

Re: Why do some developers consider Agile development to be nonsense?

#117
post #94

Pretty spot on, I think. The most problematic part of SCRUM (and the first thing to start killing productivity) are the interminable meetings it facilitates. The SCRUM master is constantly trying to gauge scope on this or that feature, and everyone feels like they need to bring up what they've been working on during the standup in order to feel like they're not appearing to be slacking off. I've abandoned SCRUM in fa…

Its your prerogative of course but peppering your blog posts with stale meme gif after gif is an easy way to get me to not read your content. I don't understand this trend at all for talking about a professional concept. What you did this weekend, sure, but this?

Re: Why do some developers consider Agile development to be nonsense?

#118

Earlier quoted context omitted.

>Everyone seems to agree that we're doing Agile wrong The fact that we've all heard this line (yet never heard a solution) should make it pretty clear that it's more of a management religion than an engineering practice. "You're doing it wrong" is the perfect built-in, pre-packaged defense to the Agile system that agile managers/consultants/etc can rattle off with zero effort and an air of superiority. Had a bad expe…

> ...doing it wrong... Back when I was a wee lad, with nary a keyboard callus upon my digits, I learned about a little thing called Murphy's Law. In brief, it says that if anything can be done incorrectly, someone will eventually do it that way. It was a warning to those designing things, to make doing the wrong thing impossible, or at least much more difficult to do accidentally. As a result, among those taught abou…

>individuals so brutally incompetent that they are indistinguishable from malicious trolls.

The concept of "functionally evil". Declaring someone "evil" implies motivation; "functionally evil" just means "assume evil for practical purposes".

It's arguably worse than actual evil, because (per Dumas fils) rogues sometimes rest.

Re: Why do some developers consider Agile development to be nonsense?

#119
First off, Agile isn't a software development methodology, its a set of principles for an organization to apply in selecting/developing in its own software development methodology (you could call it a software development metamethodology.) Scrum is more of a methodology (and, while it may have emerged from the people involved applying Agile principles in the context in which Scrum was developed, and has features designed to support use in an organization applying Agile principles, there is nothing fundamentally Agile about Scrum -- or any other development methodology; if some decisionmaker is sold on Scrum by some consultants and adopts it as a top down practice, that organization may be doing Scrum, but they aren't doing Agile -- in fact, they are doing exactly the thing that Agile is a reaction against.) Almost any time someone uses the phrase "Agile/Scrum" they either mean Scrum or something that is neither Agile nor Scrum. In this case, the criticism seems to be of something that is neither Agile nor Scrum, though it may be related to the latter (but not at all the former.)

As to the specific points:

1. Here, the claim is: There is no place for an actual senior engineer on a Scrum team. The only way to move up is to become a "Scrum Master", a bullshit management role that involves responsibility without power.

There are several errors in this description: First, "Scrum Master" isn't management role, its a facilitation role focusing on expertise with making Scrum work in the particular organization. The only quasi-management role on (or related to) a Scrum team defined in the Scrum Guide [0] is the Product Owner (which does have authority to go with that responsibility.) Either of those is a role a team member could develop into; the idea that the SM role is the only "way up" on a Scrum team is incorrect even within the narrow bounds that are defined by Scrum.

OTOH, Scrum itself intentionally -- to support its use in organizations using Agile practices -- defines only a narrow slice of practice, particularly, a basic model for operation of individual development teams. It does not prevent having different roles outside of the defined interactions within the Scrum guide for members of different seniorities or specialties, it only requires that for the purposes of the interactions it defines, only a narrow set of roles ("Team Member", "Product Owner", "Scrum Master") matter. So, consistent with Scrum, there can be room for moving up on a team. And real organizations using Scrum on projects greater than a single 3-9 member team use complementary practices like the Scrum of Scrums [1]; being a Scrum team's representative on the Scrum of Scrums and thus playing a larger role in the coordination of the overall work of the project is one way for a technical contributor on a Scrum team to move into a role with broader scope and exposure.

2. Here, the claim is "It's aggressively short-term, by design" and "if you carry this way of working on for months or years, you get a lot of technical debt and you get low morale."

It is certainly the case that Scrum, specifically, largely addresses tactical-level, short-term processes. This is because Scrum isn't a full-stack methodology, its a narrow set of practices designed to adopted as part of a larger set in an organization working in an Agile manner, and to be relatively neutral to the other practices. Certainly, if you apply Scrum alone with no higher-level strategic processes that set standards that constrain the definitions of "done" for work done in sprints to avoid technical debt, there is a lot of potential for an organization applying only what is in the Scrum guide to lack long-term focus and development technical debt.

3. The claim here is "It has no regard for the programmers' career needs or desires."

Agile, as a set of principles, certainly does; Scrum, as a particular set of practices, does not, for much the same reason addressed in the previous point. Largely, though, this seems to be a restatement or alleged further consequence of the first complaint about lack of a way to move up (it essentially seems to be, "because of #1, Scrum leaves me nothing interesting to put on my resume"), and so the response to the first complaint above largely addresses it.

4. There's a lot here that deserves separate responses, so I'm going to break this one up.

> "It's micromanagement."

No, Scrum is the opposite of micromanagement, since the "management" is done almost entirely by the team.

> "User stories and backlog grooming are there to control what the engineer works on."

Sure, those things exist to define work, but they are done by the team, so can hardly be viewed as micromanagement of the team.

> "The absurdly frequent meetings (and so many different kinds of status meetings!) are to intimidate him into not slacking."

Scrum defines four kinds of meetings: the Sprint Planning meeting, the Daily Scrum, the Sprint Retrospective, and the Sprint Review. Of them, the Sprint Review is the closest thing to a "status meeting", though even their the focus is demonstrating the concrete deliverables for the Sprint rather than status reporting. All of the rest are primarily action/planning meetings. "Status" of a sort plays a role in those meetings as an input to the planning aspect, but if they become status-focused meetings rather than planning-focused, you've definitely lost the defined purpose of the meetings in the Scrum guide.

> "The story points are there to track productivity (in some superficial, inaccurate way)."

Story points (in methodologies where they are used; they aren't part of Scrum) exist as a planning tool for the team, not a productivity measure.

5. The claim here is "At identifying low performers, it has an unacceptably high false-positive rate."

Scrum (and, a fortiori, Agile) is not a process for identifying low performers, or for performance evaluation at all -- its completely out of scope. Its not that it is good or bad at it, it doesn't even address the issue.

6. The claim here is "It punishes R&D, and it hurts the best engineers the most" because "Agile and Scrum [...] single out and humiliate anyone who works for 2 weeks and doesn't have something to show for it."

Research is a separate domain than product development, and there is no reason that the use of Scrum as a product development methodology should have any impact on how research is done. Of course, Scrum is a generic enough process that you could use it to manage research efforts as well, but the backlog items, associated definition of "done" for those items, sprint length, etc., would all likely be very different for a research effort than a product development effort. You could mix research items into the backlog of a team also doing product development, but then you probably have a problem defining work items that are appropriate for the product development sprint length. (This is less of a problem for non-Scrum methods that use a flow method for backlog management rather than a timeboxed Sprint cycle, because then its easier to mix items that have a longer-than-usual time involvement into the same backlog; the sprints used in Scrum place an effective upper bound on the size of work items.)

7. The complaint here is "I have actually seen it kill companies" backed by a single non-specific anecdote and the assertion that it generalizes. From the description, this appears to be a top-down all-at-once conversion to a new defined methodology. If one has processes in place, for the same reason one adopts incremental change to a software system where you've got an existing, functional system unless there is some reason you can't do incremenetal change, the same thing should be done to a software development organization. Failure of an organization (or many organizations) to manage a big-bang change rather than incremental change doesn't invalidate the methodology they sought to change to any more than failure of an organization to manage a big-bang software system replacement invalidates the technology they sought to change to.

[0] http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-US...

[1] https://www.scrum.org/Blog/ArtMID/1765/ArticleID/12/Resurrec...

Re: Why do some developers consider Agile development to be nonsense?

#120
post #98

Earlier quoted context omitted.

Can't tell if serious or not. If a gozzlewog is something you haven't done before (and maybe nobody has done it) then you have much less data to go on. Coming up with an estimate for it can be really, really hard. Want to decompose it and estimate from there? Hey, you just fell into the trap. I wish I had a dollar for every time I've heard someone say "That turned out to be harder than I thought." And this is nearly…

Here's the thing: by the time you really know how long a feature will take to develop, you've done it. Until then you need to operate on an estimate. EDIT: I see you edited your comment to include the same sentiment while I was replying. Cheers! People are bad at estimating, particularly if they're doing it alone, don't have much information or are trying to estimate absolutely. But we're pretty good at estimating re…

Cheers, indeed. (Sorry about the edit . . . it's the way I think). Happy we're in agreement.

Part of my problem with Agile is that my bad experiences have made me cynical and somewhat allergic to it. I react badly to being micro-managed and gamed by managers who are fundamentally out of touch with the reality of writing software, and who are interested in making the deck hands row ever faster so they can look good.

Post reply on HN