Why “Agile” and especially Scrum are terrible

Note: My first novel, Farisa’s Crossing, will be released in spring 2022.

Agility is a good thing, no doubt, and the Agile Manifesto isn’t unreasonable. Compared to a straw-man practice called “Waterfall”, Agile is notably superior. Yet, so much of Agile as-practiced is deeply harmful, and I don’t really think that the Agile/Waterfall dichotomy is useful in the first place.

There’s a variety of Agile, called Scrum, that I’ve seen actually kill a company. By “kill”, I don’t mean “the culture wasn’t as good afterward”. Rather, I mean that its stock dropped by almost 90 percent in less than two years.

What is Agile?

Agile grew up in web consulting, where it had a certain amount of value: when dealing with finicky clients who don’t know what they want, one typically has to choose between one of two options. The first is to manage the client: get expectations set, charge appropriately for rework, and maintain a relationship of equality rather than submission. The second is to accept client misbehavior (as, say, many graphic designers must) and orient one’s work flow around client-side dysfunction.

Programmers tend not to be great at managing clients. We’re very literal people. We like systems that have precisely defined behaviors. This makes working with non-technical people harder for us than it needs to be, because we tend to take every request literally rather than trying to figure out what they actually want. Corporate Agile, removed from the consulting environment, goes further and assumes that the engineers aren’t smart enough to figure out what their internal “customers” want. This means that the work gets atomized into “user stories” and “iterations” that often strip a sense of accomplishment from the work, as well as any hope of setting a long-term vision for where things are going.

In general, people tend to create two types of jobs, whether inside a company or as clients when off-loading work. At the high end, they hire for expertise that they don’t have. At the low end, they dump all the stuff they don’t want to do. It’s probably obvious that one class of consultant gets respect and the other doesn’t. Mismanaged consulting firms often end up becoming garbage disposals for the low end work. Scrum seems to be tailored toward the body shops, where client relationships are so mismanaged that the engineers have to be watched on a daily basis, because they’ve become a dumping ground for career-incoherent work that no one wants to do (and that probably isn’t very important, hence the low rate and respect).

Violent transparency

There are a lot of workplace trends that are making the programming career extremely unattractive, especially to the sorts of creative, intelligent people that it’s going to need in order to fill the next generation.

Open-plan offices are the most egregious example. They aren’t productive. It’s hard to concentrate in them. They’re anti-intellectual, insofar as people become afraid to be caught reading books (or just thinking) on the job. When you force people to play a side game of appearing productive, in addition to their job duties, they become less productive. Open-plan offices aren’t even about productivity in the first place. It’s about corporate image. VC-backed startups that needed to manage up into investors used these plans to make their workspaces look busy. (To put it bluntly, an open-plan programmer is more valued as office furniture than for the code she writes.) For a variety of cultural reasons, that made the open-plan outfit seem “cool” and “youthy” and now it’s infesting the corporate world in general.

It’s well known that creative people lose their creativity if asked to explain themselves while they are working. It’s the same with software. Programmers often have to work in an environment of one-sided transparency. These Agile systems, so often misapplied, demand that they provide humiliating visibility into their time and work, despite a lack of reciprocity. Instead of working on actual, long-term projects that a person could get excited about, they’re relegated to working on atomized, feature-level “user stories” and often disallowed to work on improvements that can’t be related to short-term, immediate business needs (often delivered from on-high). This misguided but common variant of Agile eliminates the concept of ownership and treats programmers as interchangeable, commoditized components.

Scrum is the worst, with its silliness around two-week “iterations”. It induces needless anxiety about microfluctuations in one’s own productivity. There’s absolutely no evidence that any of this snake oil actually makes things get done quicker or better in the long run. It just makes people nervous. There are many in business who think that this is a good thing because they’ll “work faster”. I’ve been in software for ten years, as a manager and a worker bee. It isn’t true.

Specific flaws of “Agile” and Scrum

1. Business-driven engineering.

Agile is often sold in comparison to “Waterfall”. What is Waterfall?

Waterfall is legitimately terrible. It’s a “work rolls downhill” model in which each tier of the organizational hierarchy picks off what it consider to be “the fun stuff”, and passes the rest down the line. Projects are defined by executives, design is done by architects, personal deadlines are set by middle managers, implementation is performed by the top-tier grunts (programmers) and then operations and testing are handed off to the lower tiers of grunts. It’s extremely dysfunctional. When people have a sense that all of the important decisions have been made, they’re not motivated to do their best work.

Waterfall replicates the social model of a dysfunctional organization with a defined hierarchy. Agile, quite often, replicates the social model of a dysfunctional organization without a well-defined hierarchy.

I have mixed opinions about job titles like “Senior” and “Principal” and the like. They matter, and I probably wouldn’t take a job below the Principal/Director-equivalent level, but I hate that they matter. If you look at Scrum, it’s designed to disentitle the senior, most capable engineers who have to adhere to processes (work only on backlog items, spend 5-10 hours per week in status meetings) designed for people who just started writing code last month.

Like a failed communist state that equalizes by spreading poverty, Scrum in its purest form puts all of engineering at the same low level: not a clearly spelled-out one, but clearly below all the business people who are given full authority to decide what gets worked on.

Agile, as often implemented, increases the feedback frequency while giving engineers no real power. That’s a losing bargain, because it means that they’re more likely to be jerked around or punished when things take longer than they “seem” they should take. It creates a lot of anxiety and haste, but there’s little of what actually matters: building excellent products.

Silicon Valley has gotten a lot wrong, especially in the past five years, but one of the things that it got right is the concept of the engineer-driven company. It’s not always the best for engineers to drive the entire company, but when engineers run engineering and set priorities, everyone wins: engineers are happier with the work they’re assigned (or, better yet, self-assigning) and the business is getting a much higher quality of engineering.

If your firm is destined to be business-driven, that’s fine. Don’t hire full-time engineers, though, if you want talent. You can get the best people as consultants (starting in the $200-per-hour range, and going up steeply from there) but not as full-timers, in an business-driven company. Good engineers want to work in engineer-driven firms where they will be calling shots regarding what gets worked on, without having to justify themselves to “scrum masters” and “product owners” and layers of non-technical management.

Ultimately, Agile (as practiced) and Waterfall both are forms of business-driven engineering, and that’s why neither is any good at producing quality software or happy employees.

2. Terminal juniority

Software engineering, unfortunately, has developed a culture of terminal juniority, lending support to the (extremely misguided) conception of programming as a “young man’s game”, even though almost none of the best engineers are young, and quite a few of the best are not men.

The problem with Agile’s two-week iterations (or “sprints”) and user stories is that there is no exit strategy. There’s no “We won’t have to do this once we achieve [X]” clause. It’s designed to be there forever: the business-driven engineering and status meetings will never go away. Architecture and R&D and product development aren’t part of the programmer’s job, because those things don’t fit into atomized “user stories” or two-week sprints.

As a result, the sorts of projects that programmers want to take on, once they master the basics of the craft, are often ignored, because it’s annoying to justify them in terms of short-term business value. Technical excellence matters, but it’s painful to try to sell people on this fact if they want, badly, not to be convinced of it.

I once worked at a company where a product manager said that the difference between a senior engineer and a junior engineer was the ability to provide accurate estimates. Um, no. That’s insulting, actually. I hate estimates, because they generate politics and don’t actually make the work get done faster or better (in fact, it’s usually the opposite).

The worst thing about estimates is that they push a company in the direction of doing work that’s estimable. This causes programmers to favor the low-yield, easy stuff that the business doesn’t actually need (even if bumbling middle managers think otherwise) but that is “safe”. Anything that’s actually worth doing has a non-zero chance of failure and too many unknown unknowns for estimates to be useful. Agile’s focus on short-term business value ends up pushing people away from the kinds of work that the company actually needs, in favor of each programmer’s real-time reputation management.

What this culture says to me is that programming is a childish thing to be put away by age 35. I don’t agree with that mentality. In fact, I think it’s harmful; I’m in my early 30s and I feel like I’m just starting to be good at programming. Chasing out our elders, just because they’re seasoned enough to know that this “Agile”/Scrum process has nothing to do with computer science and that it adds no value, is a horrible idea.

3. It’s stupidly, dangerously short-term. 

Agile is designed for and by consulting firms that are marginal. That is, it’s for firms that don’t have the credibility that would enable them to negotiate with clients as equals, and that are facing tight deadlines while each client project is an existential risk. It’s for “scrappy” underdogs. Now, here’s the problem: Scrum is often deployed in large companies and funded startups, but people join those companies (leaving financial upside on the table, for the employer to collect) because they don’t want to be underdogs. They want safety. That’s why they’re in those jobs, rather than starting their own companies. No one wants to play from behind unless there’s considerable personal upside in doing so. “Agile” in a corporate job means pain and risk without reward.

When each client project represents existential or severe reputational risk, Agile might be the way to go, because a focus on short-term iterations is useful when the company is under threat and there might not be a long term. Aggressive project management makes sense in an emergency. It doesn’t make sense as a permanent arrangement; at least, not for high-talent programmers who have less stressful and more enjoyable options.

Under Agile, technical debt piles up and is not addressed because the business people calling the shots will not see a problem until it’s far too late or, at least, too expensive to fix it. Moreover, individual engineers are rewarded or punished solely based on the optics of the current two-week “sprint”, meaning that no one looks out five “sprints” ahead. Agile is just one mindless, near-sighted “sprint” after another: no progress, no improvement, just ticket after ticket after ticket.

People who are content to shuffle mindless through their careers can work that way, but all of the really good engineers hate it when they go to work on a Monday morning and don’t know what they’ll be working on that day.

4. It has no regard for career coherency.

Atomized user stories aren’t good for engineers’ careers. By age 30, you’re expected to be able to show that you can work at the whole-project level, and that you’re at least ready to go beyond such a level into infrastructure, architecture, research, or leadership.

In an emergency, whether it’s a consultancy striving to appease an important client or a corporate “war room”, career coherency can wait. Few people will refuse to do a couple weeks of unpleasant or otherwise career-incoherent work if it’s genuinely important to the company. The work’s importance creates the career benefit. If you can say “I was in the War Room and had 20 minutes per day with the CEO”, that excuses having done grunt work.

When there’s no emergency, however, programmers expect their career growth to be taken seriously and will leave if it’s not. Saying, “I was on a Scrum team” says, “Kick me”. It’s one thing to do grunt work because the CEO recognized that an unpleasant task would add millions of dollars of value (and that he’d reward it accordingly) but doing grunt work just because you were assigned “user stories” and Jira tickets shows that you were seen as a loser.

5. Its purpose is to identify low performers, but it has an unacceptably high false positive rate. 

Scrum is sold as a process for “removing impediments”, which is a nice way of saying “spotting slackers”. The problem with it is that it creates more underperformers than it roots out. It’s a surveillance state that requires individual engineers to provide fine-grained visibility into their work and rate of productivity.

There’s a fallacy in civil liberties debates: the “nothing to hide” argument. Some people like to argue that invasions of privacy– by, say, law enforcement– are non-issues because they’re not themselves criminals. It misses a few key things. For one thing, laws change. Ask anyone who was Jewish in Central Europe in the 1930s. Even for respectable people, a surveillance state is an anxiety state.

The fact of being observed changes the way people work. In creative fields, it’s for the worse. It’s almost impossible to work creatively if one has to justify the work on a day-by-day basis.

Another topic coming to mind here is status sensitivity. Programmers love to make-believe that they’ve transcended a few million years of primate evolution related to social status, but the fact is: social status matters, and you’re not “political” if you acknowledge the fact. Older people, women, racial minorities, and people with disabilities tend to be status sensitive in the workplace, because it’s a matter of survival for them. Constant surveillance into one’s work indicates a lack of trust and low social status, and the most status-sensitive people (even if they’re the best workers) are the first ones to decline when surveillance ramps up. If they feel like they aren’t trusted (and what else is communicated by a culture that expects every item of work to be justified?) then they lose motivation quickly.

Agile and especially Scrum exploit the nothing-to-hide fallacy. Unless you’re a “low performer” (witch hunt, anyone?) you shouldn’t mind a daily status meeting, right? The only people who would object to justifying their work in terms of short-term business value are the “slackers” who want to steal from the company, correct? Well, no. Obviously not.

The violent transparency culture is designed for the most status-insensitive people: young, usually white or Asian, privileged, never-disabled males who haven’t been tested, challenged, or burned yet at work. It’s for people who think that HR and management are a waste of time and that people should just “suck it up” when demeaned or insulted.

Often, it’s the best employees who fall the hardest when Agile/Scrum is introduced, because R&D is effectively eliminated, and the obsession with short-term “iterations” or sprints means that there’s no room to try something that might actually fail.

The truth about underperformers is that you don’t need “Agile” to find out who they are. People know who they are. The reason some teams get loaded down with disengaged, incompetent, or toxic people is that no one does anything about them. That’s a people-level management problem, not a workflow-level process problem.

6. The Whisky Goggles Effect.

There seems to be some evidence that aggressive management can nudge the marginally incompetent into being marginally employable. I call this the Whisky Goggles Effect: it turns the 3s and 4s into 5s, but it makes you so sloppy that the 7s and 9s want nothing to do with you. Unable to get their creative juices flowing under a system where everything has to be justified in terms of short-term business value, the best programmers leave.

From the point of view of a manager unaware of how software works, this might seem like an acceptable trade: a few “prima donna” 7+ leave under the Brave New Scrum, while the 3s and 4s become just-acceptable 5s. The problem is that the difference between a “7” programmer and a “5” programmer is substantially larger than that between a “5” and a “3”. If you lose your best people and your leaders (who may not be in leadership roles on the org-chart) then the slight upgrade of the incompetents, for whom Scrum is designed, does no good.

Scrum and Agile play into what I call the Status Profit Bias. Essentially, many people in business judge their success or failure not in objective terms, but based on the status differential achieved. Let’s say that the market value of a “3” level programmer is $50,000 per year and, for a “5” programmer, it’s $80,000. (In reality, programmer salaries are all over the map: I know 3’s making over $200,000 and I know 7’s under $70,000, but let’s ignore that.) Convincing a “5” programmer to take a “3”-level salary (in exchange for startup equity!) is marked, psychologically, not as $30,000 in profit (which is tiny) but as a 2-point profit.

Agile/Scrum and the age discrimination culture in general are about getting the most impressive status profits, rather than actual economic profits that would be attained, usually, by hiring the people who’ll deliver the most value (even if you go 50% above market rate, because top programmers are worth 10-30 times their market rate).

The people who are least informed about what social status they “should” have are the young. You’ll find a 22-year-old 6 who thinks that he’s a 3 and who will submit to Scrum, but the 50-year-old 9 is likely to know that she’s a 9 and might begrudgingly take 8.5-level conditions but she’s not about to drop to a 3, or even a 6. Seeking status profits is, of course, useless. These points don’t mean anything. You win in business by bringing in more money than you pay out in costs, not by exerting margins in meaningless status points. There may be a whole industry in bringing in 5-level engineers and treating (and paying) them like 4’s, but under current market conditions, it’s far more profitable to hire an 8 and treat him like an 8.

7. It’s dishonestly sold.

To cover this point, I’m going to focus on Scrum. Some people argue that Scrum is “extremist Agile” and others say that it’s the least Agile variant of Agile. (This, perhaps, underlies one of the problems here; we can hardly agree on what is and is not “Agile”.)

Something like Scrum has its place: a very limited, temporary one. The dishonest salesmanship is in the indication that it works everywhere, and as a permanent arrangement.

What Scrum is good for

Before the Agile fad made it a permanent process, “Scrum” was a term sometimes used for what corporations might also call a “Code Red” or a “War Room emergency”. If there was an unexpected, rapidly-evolving problem, you’d call together your best people and form a cross-cutting team.

This team would have no clear manager, so you’d elect a leader (like a “Scrum Master”) and give him authority. You’d want him not to be an official “people manager” (since he needs to be as impartial as possible). Since the crisis is short-term, individuals’ career goals can be put on hold. It’s considered a “sprint” because people are expected to work as fast as they can to solve the problem, and because they’ll be allowed to go back to their regular work once it’s over. Also, in this kind of emergency, you need to make it clear that no one is being evaluated individually. The focus is on the mission and the mission only.

When you impose process and demand one-sided transparency of all the workers, people feel watched. They get the sense that they’re being stalked and will be labelled “low performers” as soon as their week-by-week, individual fluctuations go the wrong way. So they become resentful. That’s dysfunctional. On the other hand, when you call together a group of known high-performers to handle a specific and time-limited crisis, they don’t mind giving frequent status updates so long as they know that it’s the exigency of the situation, rather than their own low social status, that is the reason behind it.

There are two scenarios that should come to mind. The first is a corporate “war room”, and if specific individuals (excluding high executives) are spending more than about 4 weeks per year in war-room mode, than something is wrong with the company, because emergencies ought to be rare. The second is that of a consultancy struggling to establish itself, or one that is bad at managing clients and establishing an independent reputation, and must therefore operate in a state of permanent emergency.

Two issues

Scrum, in this way, acknowledges the idea that emergency powers must sometimes be given to “take-charge” leaders who’ll do whatever they consider necessary to get a job done, leaving debate to happen later. That’s fine. It’s how things should be, sometimes.

A time-honored problem with emergency powers is that they often don’t go away. In many circumstances, those empowered by an emergency see fit to prolong it. This is, most certainly, a problem with management. Dysfunction and emergency require more managerial effort than a well-run company in peace time. The result is that there are many managers, especially in technology, who seek out opportunities for emergencies and emergency powers.

It is also more impressive for an aspiring demagogue (a “scrum master”?) to be a visible “dragonslayer” than to avoid attracting dragons to the village in the first place. The problem with Scrum’s aggressive insistence on business-driven engineering is that it makes a virtue (“customer collaboration”) out of attracting, and slaying, dragons (known as “requirements”) when it might be more prudent not to lure them out of their caves in the first place.

“Agile” and Scrum glorify emergency. That’s the first problem with them. They’re a reinvention of what the video game industry calls “crunch time”. It’s not sustainable to work that way. An aggressive focus on individual performance, a lack of concern for people’s career objectives in work allocation, and a mandate that people work only on the stated top priority, all of these provide a lot of value in a short-term emergency, but become toxic and demoralizing in the long run. People will tolerate short-term losses of autonomy, but only if there’s a clear point ahead when they’ll get their autonomy back.

The second issue is that these practices are sold dishonestly. There’s a whole cottage industry that has grown up around teaching companies to be “Agile” in their software development. The problem is that most of the core ideas aren’t new. The terminology is fresh, but the concepts are mostly outdated, failed “scientific management” (which was far from scientific, and didn’t work). Again, these processes sometimes work toward hitting well-defined targets in emergency circumstances, but permanent Scrum is a disaster.

If the downsides and upsides of “Agile” and Scrum were addressed, then I wouldn’t have such a strong problem with the concepts. If a company has a team of only junior developers and needs to deliver features fast, it should consider using these techniques for a short time, with the plan to remove them as its people grow and timeframes become more forgiving. However, if Scrum were sold for what it is– a set of emergency measures that can’t be used to permanently improve productivity– then there would be far fewer buyers for it, and the “Agile” consulting industry wouldn’t exist. Only through a dishonest representation of these techniques (glorified “crunch time”, packaged as permanent fixes) are they made salable to the corporate world (“the enterprise”) at large.

Looking forward

It’s time for this culture of terminal juniority, low autonomy, and aggressive management to die. These aren’t just bad ideas. They’re more dangerous than that, because there’s a generation of software engineers who are absorbing them without knowing any better. There are far too many young programmers being doomed to mediocrity by the idea that business-driven engineering and “user stories” are how things have always been done. This ought to be prevented; the future integrity of our industry may rely on it. “Agile”, at least as bastardized in every implementation that I’ve seen, is a bucket of nonsense that has nothing to do with programming and certainly nothing to do with computer science. Business-driven engineering, in general, is a dead end. It ought to be tossed back into the muck from which it came.

1,908 thoughts on “Why “Agile” and especially Scrum are terrible

    • Not SCRUM itself is evil but the evildoers are evil. A developer not filing refactoring user stories or a product owner writing detailed technical instructions without discussion are not a proof of failed principle but of misunderstood roles/ responsibilities. Also if a participant of backlog grooming feels like his overwhelming creative force is not necessary is maybe part of the wrong project. Sometimes technical interfaces don’t need as much CSS3 as one might be able to deliver and maybe a 10th login form is technically no rocket science one wants to be part of.

      • riiiiiiiiiiight… First, business owners will spend tons of time bemoaning their lack of progress on non-feature work, and frequently carry the day with executive management (I’ve observed this directly, to my comment is NOT theoretical). The infernal visibility given by agile process doesn’t allow for good managers to do the proper work of laying down a good bedrock of preparation for the near term future.. its just stay on the hamster wheel and hope things go well..

        And technical debt is generally magnified in these situations.. rarely is there time to ‘do the right thing’.

        And finally.. get someone who is a behavior problem, with managment that is less that stellar (the norm), and you’ve got a terrorist in your org who creates tons of problems and solves few.

        I don’t know how old you are, but I’m guessing not very. I’ve spent 30+ years in the industry, 13 as a manager.. scrum is a disaster, and its religious adherents are at best brain damaged useful idiots. The sooner everyone wakes up, the better.

        • I would say religious adherents of anything or any methodology in this case are at best brain damaged useful idiots. You would not use hammer, nor small screwdriver for everything, yet they both are very useful.

        • Second comment in as many hours but with respect to the OP picture this:

          You are the performance tester on a mobile banking application project which is being run as scrum/agile. The stack consists of web services, ESB layer down to an (awesome) mainframe. The project is due to go live in 2 weeks and business (I.e marketing) are really driving it. First peak load test I submitted this thing to chewed up 340MIPS -mainframers and I agreed very quickly that this was a no-go. In the scrum meeting there were 2 key issues: 1.how do we bundle the font into the application so it looks the same on everyone’s handset, and 2: do we really want the Ui to have a glass effect look? The performance issues only become important AFTER someone had suggested the bright idea of simply cutting the. Link to the mainframe at peak load – the upshot would be people hitting the app over and over again placing more load on the rest of the infrastructure and bring that down instead. The problem and he solution were simple and just required the engineer and I to work together however so much time was wasted in in crisis stand ups discussing fonts …

        • I am sorry, but I just cannot agree with you. I have been using scrum quite successfully for several years. In my opinion it always gets a bad name from those who tried it but didn’t fully commit and ultimately failed. If it didn’t work it was mostly down to mangers who have been ‘in the industry for years’ torpedoing and poo posing it at every oppurtunity. Many afraid to loose the reigns for fear of being associated with something that they are not sure about.

          Any process, done poorly and not allowed to flourish by scared middle managers will fail.

          As managers of engineers in an agile world, I believe it is our jobs to empower the talent in our teams and to make sure they remain creative by giving the room to do so. Also, by doing simple steps such as defining your DoDs you can certainly tackle aspects such as technical debt. If we do this well, we can use the data and the successes in order to plan for the near term future.

          Maybe I’m brain damaged, maybe I’m not, but I am certain that the sooner the older never change a running system advocates move on, the better 🙂

          • You claim that defining Definition of Done will ensure no activities are compromised? Sprint is ending but the forecasted stories are not; I’m certain functionality is never compromised (“Yay, we did it!”), but certainly tests, performance, and refactoring sure are.

            The artificial sprint deadline creates a persistent pressure that is unhealthy for the product and the development team.

            As a manager, if a developer said to you “This story is going to take longer than we thought because there is a benefit of refactoring the code.” how likely are you to honor that? Consistently? Customer functionality and deadlines don’t concern themselves with code quality.

            • If the sprint is ending, then either cut scope, or let it slip. As a manager one shouldn’t be encouraging bad practice. Also if doing TDD, the tests would be the first thing you write.

              The sprint deadline is for the team, no one else. It’s something to aim for but based off vahue estimates, so if you’re treating it as a strict, hard deadline, that’s the source of your issues.

              As a manager it’s not my place to say if they should refactor or not. I would leave that decision with the engineer rather than dictate it myself. Also refactoring is part of the work, not something extra. Obviously one needs to apply appropriate scoping though so they don’t end up down a rabbit hole. Code quality is massively important, keeping it flexible, adaptable, readable is hugely important for maintaining speed of delivery.

          • I have worked in AGILE and SCRUM as a software developer and found it really stifling and fun robbing. It REALLY sucks working in AGILE, even when done by Americans who invented the damn term and process!

            • “I have worked in AGILE and SCRUM as a software developer and found it really stifling and fun robbing. It REALLY sucks working in AGILE”

              My experience is exactly the opposite. I’ve been on scrum teams that were exceptionally fun and rewarding. In fact, the most enjoyable and successful project I’ve been on over the course of several decades has been on a scrum team.Without question.

              The point being that Scrum is not a silver bullet, and neither is it evil or a destroyer of fun. It is a way of thinking about and solving problems. It’s especially good when you are building something you’ve never built before, and for which there is a lot of uncertainty. However, like anything else, when done poorly it will yield poor results.

              In other words, in some sense you get out of it what you put into it. If you found it stifling and fun-robbing, that wasn’t because of scrum but because of the people involved in the project.

              • “If you found it stifling and fun-robbing, that wasn’t because of scrum but because of the people involved in the project.” I can*t confirm that. We worked with the same development teams under “classic” project management and later under SCRUM. Same teams, same people, same projects. SCRUM removed every little bit of motivation. You always got only your little piece of work, you never got an insight into the whole thing. Before, the team happliy worked together, with SCRUM, everybody just worked on his part of the project, no synergies. Before, we even had fun working overtime, with SCRUM everybody just did his 8 hours and not a minute more. We did that for a year, then the company went out of business. SCRUM was not the only reason for that, but the final shot, which could have been avoided.

                • What I don’t like about breaking the projects into small pieces is that no-one can see the big picture. They just build their little piece their way. Well what if you get all of the pieces together and none of them fit together, because no-one knew what the end result was supposed to look like, or how it was supposed to work together. Having access to the big picture and being able to collaborate and sync their ideas is a huge part of development. This is taken away when you use things like Agile, Scrum, etc. Don’t get me wrong, documenting processes, showing work, and sharing it is great. It is actually preferred, but not at the level that these processes demand.

                  Another issue is that you have management that have no clue about development making decisions for the developers and telling the devs to just make it happen, or you are fired. This leads to sloppy coding, and eventually leads to farming out to those coding farms in India. Good luck ever figuring out how to break fix/debug anything from them.

                  • There is nothing about scrum or agile in general that prevents teams from seeing the big picture. Every scrum team I’ve been on did release planning and regular backlog grooming, and had a full understanding of the bigger picture. We never had problems where pieces didn’t fit together. We also didn’t have problems with sloppy coding (well, any more than you have with any team with any methodology), or farming the code out to offshore teams.

                    Like almost all of the other complaints in this crazy long set of comments, what you’re complaining about isn’t the fault of scrum, it’s the fault of bad management. With bad management, you’re going to have problems no matter what methodology you use.

                  • Another problem with user stories is that they are requirements in a vacuum. The describe what *should* happen and do not acknowledge the delta between what exists and what needs to be created. The consequence of this is a body of work that seems like it can be parallelized but may (and likely does) have unknown blocking dependencies which won’t be discovered until after the start of the sprint.

            • I am so glad to see others that feel the same way as I have been so miserable and continue to agonize over this “agile” movement that has permeated to every corner of the tech world. This article is great and is so correct. What amazes me is the amount of people who will insist how great agile is!!! What I see is that this generation of folks coming into Dev/Devops have no idea what it was like without agile and how it has sucked the life out of being creative and designing truly great things.

              I cant find a company that is not trying to shove agile down everyone’s throat and of course they are doing it “the right way” lol. It goes right along with the “lets make everyone feel special while making sure you cant focus on anything but the mundane garbage out of sprints. This has led to the rampant under skilled engineers but that bite is that they think they are fantastic because agile makes everyone feel special with this consensus driven non-sense…

              Typical idiocies pushed by agile :
              Open office plans because it helps to collaborate (get real!!)
              many meetings daily to discuss total garbage and nothing of real value
              meetings to further discuss the above meetings because the solutions to all problems are just more meetings. (just ask any Scrum Master)
              and here is my favorite…. An entire army of people getting paid lots of money with new titles like ScrumMaster, Agile Coach, and the old project manager re-invented as a “Product Manager”

              When will this non-sense end? or are we at a point of no return and the generation of permanent junior skills will just drive the robot armies until it takes 15 people 6 weeks to do something that 2 could do in 1 in the not so distant past.

              • Jason, I absolutely agree with you!! Just add all this time spent in daily stand up meetings. It is supposed to be 30 min, but very often it goes over because people ask questions and often complain about something, Add up all this time and you loose from 3 to 6 hours a week!!!

                • You think one hour and fifteen minutes a week synchronizing with your team is too much? The scrum guide very plainly states it should be time-boxed to 15 minutes. If you’re doing longer than that, you’re doing something wrong.

                  You shouldn’t be blaming scrum if you’re not following the guidelines. Instead, blame your scrummaster if you have one, or whomever is responsible for keeping the standups brief.

                  Better than blaming someone or something, work with your team to improve your stand-ups. If you think you’re taking too long, bring it up during the retrospective. That’s exactly what the retrospective is for: to identify ways to improve the way the team works.

                  • ‘Work with your team’ was mostly considered to be insubordination, usually led to an early exit from the company if you persisted.

                  • The last place I worked also included +1 hour grooming, 1 hour “technical grooming”, 20 min picking tickets at start of sprint. Then every 2 weeks it was retro + sprint review.
                    So I reckon an average of 4 hours 35 per week. Of course that didn’t cover other non-scrum meetings.

                    • You might as well give up. Every protest against the cancer that is scrum has the same template – “xxx is not correct, you must be doing scrum wrong”. In other words, every person who sees scrum for what it is “does scrum wrong”.

                • Because it’s the dog and pony show where people try to show value and seem as though they are productive. I found that, in those meetings, image was very much more important than substance. They were all for show.

                  • It sounds like you had a very bad experience. That’s unfortunate. I’ve worked on three different scrum teams at three different companies, and in al cases the stand-ups and retrospectives were very productive, and usually much shorter than the associated time-box.

                    Like with many things, success depends a lot more on the people than other single factor. If you have bad managers or selfish team members, you’re doomed to fail no matter what methodology you use.

                    • Bryan, glad to hear you fared better but I still think scrum is toxic. Here’s why:

                      1) I started in software before the days of the ‘orange Bible’ that Yourdan wrote on structured design. This history has exposed me to many different methodologies, all with their different niches and flaws. Never, in over 30 years did I hear such an outcry from the developer community about bad experiences with a design framework. This blog, for example, has been going for over 6 years and the discussion is as heated as ever.

                      2) The “you aren’t doing it right” argument could be applied to almost any methodology as all account, in some manner, for user requirements, design, design changes, time boxing, testing, etc. Waterfall, done correctly, worked. Iterative development (my favorite), done correctly, worked. It seems that there is some toxicity about agile/scrum that allows (or encourages) the misuse and corruption that is leading to what many are calling a proliferation of horribly flawed software development environments.

                      I have more thoughts, but it’s late so I’ll call it a night. If you can get past the “you’r doing it wrong” for a minute, please tell me why you think scrum is so easily corruptible? I have seen good waterfall and iterative development teams (means it likely isn’t the people, at least the developers) ruined by management dictating scrum training and adherence.

                • You know there are more than just 2 software development methodologies right? What was wrong with spiral? Also, what was wrong with hiring good people and just legitimately letting them self-organize and have some autonomy over their work?

            • Correction
              First: It was not darn Americans who invented Agile. It was actually a consortium of professionals from many countries.
              Second: The ability to be Agile is not something that you invent but it is something that is inherent in all of us.
              Third: Agile is a set of guiding principles; each one of them proven to be effective if used properly.
              Fourth: Software development teams do not work in Agile, instead they use a framework such as Scrum which in turn uses Agile principles – As such your comment indicates that you do not have a comprehensive understanding of the subject matter and I will encourage you to learn more about it before posting comments.

              Finally
              Perhaps you did not succeed as a developer while participating in project that sought to utilize Scrum – That is not the fault of the framework but how it was not properly implemented.

              • “Fourth: Software development teams do not work in Agile, instead they use a framework such as Scrum which in turn uses Agile principles”

                People use the terms “scrum” and “Agile” interchangeably. The very first paragraph of the blog makes it clear the author does not believe they are and his complaints are with Scum and not Agile. I’ve argued in previous comment that not only are they not the same thing but that Scum completely violates one of the major principles set out in the Agile Manifesto which says, “Individuals and interactions over processes and tools”. Scum is process on steroids and management tries to treat engineers as interchangeable cogs in that process.

                In another comment you state, “If you feel that way, then enlist in projects that use the waterfall methodology.” You really do need to go back and read the paragraph of the blog which calls “waterfall” a straw man practice. One that was largely invented by Scrum promoters to make their own methodology look good.

                “Perhaps you did not succeed as a developer while participating in project that sought to utilize Scrum – That is not the fault of the framework but how it was not properly implemented.”

                In a comment posted two years ago, the blog’s author answers this by saying, “If the human condition were described by business people, we’d all be immortal. The problem is that everyone Does Immortality Wrong.”

          • You are a middle manager. Scared or not, we all know you love scrum.

            ‘I believe it is our jobs to empower talent…’
            The only time I’ve felt empowered by middle management is when they agree to leave me alone and that is rare, so just continue trying 63 different types of PM software with the hope appearing relevant.

          • “Maybe I’m brain damaged, maybe I’m not, but I am certain that the sooner the older never change a running system advocates move on, the better 🙂”

            Is that a reference to the article talking about how this system is hostile to older developers who’ve developed a small amount of self-respect and expect their development processes to not be completely dysfunctional? If so you are definitely brain damaged.

            1. MOC never advocated for never changing a running system.
            2. That is a complete strawman of what software development is like outside of a scrum agile environment.
            3. The people most likely to be afraid of changing a running system are the series of revolving-door juniors you keep replacing your good people with. That’s because the juniors don’t understand how the system works, and even if they do they often don’t have the skills to fix a hairy problem.

            Chasing off the top end of the experience/skill range because you feel threatened by employees who know how to do their job is the reason companies end up with “senior” developers who’ve been in the business for 5 years and can’t do FizzBuzz.

        • I’m 20+ years in the industry and 10+ years as manager and so far, I did not have heard so many useless opinion yours. To prove my point, I quote yourself “ts religious adherents are at best brain damaged useful idiots” – That means a lot about yourself and your management style. A bit of politeness, education and awareness would be good for you. I can teach you somethings, for free, if you want. Maybe you’ll change your 1950’s mind.

          • wow that literally added nothing to the conversation, for a manager you sure dont know how to make things clear and your points understood… pitty the poor souls that have to deal with you ona daily basis

          • You’re barely even literate, and you’re preaching about education? BTW 20/10 years in the industry doesn’t mean much. Some people have 20 years of experience, and some people have the same year of experience twenty times in a row. There are plenty of middle and senior managers who don’t have their heads screwed on straight in the slightest but get by due to nepotism, office politics, and other games.

            • It clearly does not even occur to you that someone might have a different first language than you do. It must be a very strange experience to be so thoroughly egocentric.

      • No. Scrum itself is a problem, as was well-argued in the article. People implementing cargo-cult Agile, or doing what they did before but with Agile labels rather than the old ones make the problem worse.

        A handful of anecdotes by you do not prove your point.

          • Insisting that his conclusion or assertion is wrong because he makes a fallacy is a fallacy referred to as “argument from fallacy”. I don’t think he’s wrong. I think he can be a bit ad hominem, but I don’t think Scrum works.

            • scotthmccoy didn’t insist that the conclusion was wrong. He said that the logical fallacies indicated that the author has more of an axe to grind than a sound argument to make. Seems fair. This blog has little to no evidence that Scrum is “terrible” and instead is full of conjecture and personal anecdotes.

              • The author’s points and views are the result of his personal experiences. In that regards, you can’t really say he’s right or wrong. Any methodology is only as good as the people in charge of making it work. If you have inept people in charge, you’re going to have problems. I think that’s really what most people should get out of this. Anything can be corrupted if done incorrectly.

                • Where are the numbers ? When you write “There’s absolutely no evidence that any of this snake oil actually makes things get done quicker or better in the long run”, you must have a way to point at studies showing that. Without this, it’s only anecdotes. You have yours, I have mine. If they prove nothing for scrum, then surely they prove nothing against it.
                  So a company lost 90% of its value allegedly because it suddenly started practicing agile ? Another won the same while practicing agile.

                  Thus, I can’t say whether the author is wrong or not, but I can definitely say that if he is right, it’s only luck of the draw.

                  • The author made the counter claim that there is no evidence that says agile or scrum is “better”(more productive, higher quality, better at managing technical debt, etc.). He didn’t say it was bad or good, just that the claims others have made have no proof. Agile is gods gift to programming is essentially the preexisting condition whole article is addressing.

                    The burden of proof is on the ones making the original claims that the author says there is no evidence for. All one must do, is provide 1 set of empirical evidence to prove agile is “better” and the author is wrong. It is an easier and more realistic condition to prove.

                    The claim: “Agile methods are superior to other project management methods”
                    Assumption implied: the claim is true because it has not been proven false
                    Logical fallacy: argument from ignorance & anecdotal fallacy

                    One might say the author also makes a bold claim of his own. However, it is clear that is not the case, rather, he is challenging the claims of others, and rightly so for a field that is supposed to be an applied science.

                    • It’s not too useful though unless he has some concrete alternative that is proven to work rather than something equally unproven. Also, you explained the problem very nicely in a few short paragraphs. The OP on the other hand makes lots of subjective claims about agile that are not facts IMO – unnecessary really – if he just wants to make the point you made. Furthermore, there are an infinite ways in which scrum/agile can be interpreter and implemented – more reason to avoid making hard claims and counter-claims.

                  • You’re asking for studies showing that no studies have been done (producing no evidence)? The burden of proof that this stuff works lies on the people advocating for it. If someone tells me sticking a knife in my eye will double my productivity, the onus is on them to prove it, it’s not up to me to stick a knife in my eye and see what happens.

                • Good point. I’ve seen instances where Agile and Scrum have worked very well. I’ve also seen times when it hasn’t been helpful. I think its good to have a range of approaches that you can use where appropriate

            • “ad hominem” means that someone said “your conclusion is wrong because you are a terrible person” or “because you went to a crappy college” or “because you were wrong about other things in the past that have nothing to do with this thing”. It means that you are saying that an idea is wrong because of who is putting it forth.

              If you’re going to quote a fallacy, then try not to abuse another one?

          • Main point is very simple though:
            Scrum is bad because it revokes right of self-organization from talented people and instead grants it to people who has very little idea about creative work in general and engineering in particular.
            Where logical fallacy is?

              • No it gives them the limited right of self-organization within the very narrow confines of scrum. This is what the author was saying: The right of self-organization within the narrow confines of scrum results in a trending toward the low-hanging fruit, basically what little bits of code can I cherry-pick from the backlog to get my sprint points up. It’s a practice that breeds mediocracy is his point. A self-respecting engineer would not voluntarily adopt Scrum due to the coercive effect that hit has on the engineer and the engineers ability to truly hone his craft versus honing the scrum craft which is really no craft at all but a huge amount of process, ceremony and tooling thrown on the heap. From what I’ve observed, it takes far more software engineers to get projects completed in a scrum shop. Did you hear this one: “Q: How many Scrum engineers does it take to screw in a lightbulb? A: It can’t be done! That’s a job for the hardware team!”

                    • As I remember, people with high sprint point totals were declared to the the most productive and meaningful team members. And this statistic was always a part of your annual review. Thus, the most useless were rewarded while engineers that actually tackled difficult issues were put on improvement plans. Reminded me of stories about people drowning on ships found with the heel marks of the survivors on their shoulders and the tops of their heads.

                      RAH

                    • To me, sprint points or story points is the most noxious part about Scrum. Scrum coaches will tell you not to use them to rate people, but tools like Jira make it easy and managers routinely use them.

                      The person who is the best at figuring out which stories are over-pointed is the one who will get the highest rating. Not the person who is the best or goes the extra mile and does more than what is in the ticket.

                      Those things that do not have story points such as mentoring or writing documentation or just answering teammate’s questions will fall by the wayside.

                      When I interviewed this was one thing I asked about. If I got a sense they were using story points to rate people, that was a big red flag.

              • In what world? Every shop I’ve been in that did Agile, the tickets and priorities were set up by nontechnical managers and assigned by technical managers. “Well they were doing Agile wrong” is the usual retort to any criticism of Agile-in-practice but so… I think every shop in the world must be “doing Agile wrong”. If it can’t actually be implemented in the real world it’s not a very useful system.

                I’ve had managers scold me for reassigning my teammates’ tickets to myself because they were sick/had another higher-priority ticket that dragged on longer than expected and I was ahead and had nothing to do. Because it made it harder for them to objectively measure that person’s performance in terms completed “points”, even when it was clear in retrospect that those assigned points didn’t accurately reflect how much effort each feature required. How is that for agility and self-organization?

                • “I think every shop in the world must be ‘doing Agile wrong’. If it can’t actually be implemented in the real world it’s not a very useful system.”

                  If the human condition were described by business people, we’d all be immortal. The problem is that everyone Does Immortality Wrong.

                • Why are they using points to measure an individual’s performance? I think Scrum is flawed, but using points to measure performance or preventing reassignment of tickets are not a part of Scrum. You have a control freak manager, but are here blaming Scrum for their behaviour.

                  • Because managers need to be able to measure an employee’s performance somehow, and most managers are so disconnected with their teams that they need to look at “objective numbers” even if the numbers don’t mean anything. It also logically follows that if points are a measure of useful effort, then someone with more points has put forth a greater amount of useful effort. The problem is that points don’t work very well as an objective measure of useful effort, because nothing does. But this is how managers think, and the way Scrum is set up absolutely causes this. It is far too tempting to give managers a number representing the amount of useful effort each task takes, and then tell them not to use it as a measure of useful effort accomplished. It’s like expecting a 3 year old to pass the marshmallow test, except that in this case failing the marshmallow test will turn the entire workplace toxic.

                    • The key problem here is “rank and yank” also known as doing evaluations on a curve. If you’re company has regular layoffs of a fixed percentage – usually 10% annually – they are practicing “rank and yank”. This is a practice originated at GE. It got so bad that no one wanted to work at GE. They had publicly announce they would no longer be doing this and in fact would no longer have annual reviews.

                      Ten percent doesn’t sound like a lot of people, but if it’s done every year, by the third year they are no longer laying off the bottom, they are laying off the middle and everyone is nervous.

                      How do managers select these unlucky individuals? It’s hard, The first layoff usually gets rid of the dead wood. After that, it’s not easy to differentiate between good employees, so it become very tempting to use story points.

                      It heavily discourages people from helping their fellow employees. The practice incentivizes office politics. I was criticized for “only” accomplishing 80% of the points of the team average by one manager. I told him I was getting more than my share of tickets involving Selenium. Our Selenium code was being underpointed and was crap that should be rewritten. When I left the company for another job one of my fellow employees admitted to me that they were avoiding Selenium tickets!

                      In my opinion rank and yank is nothing but management by intimidation. I’ve heard that tin the 1930s managers were told to go down the assembly line and fire a fixed number of employees. This is no different.

                      Up until the 1990s the prevailing management philosophy could be found in the writings of Edwards Deming. He advised that most problems in a company were caused by bad process and not bad employees. Process is controlled by managers so it was their responsibility. Rank and yank focused the spotlight back on the employees. It freed bad manager from taking responsibility for their own part of the problem.

            • The logical fallacy is you presume distrust, that an expert in an area of code will not be believed when he or she had a bright idea or perceives urgency in a significant refactoring. At a recent scrum/agile team I worked at, we explicitly allowed programmers to plunk tickets up in the top of the queue. If you had sound reasons, you were likely to easily find allies without any fuss or raised eyebrows. The Product Owner may “own” the queue in terms of pedestrian day-to-day management, but the team as a whole takes responsibility for everything important, including the process of prioritizing and follow on effects on velocity. Shared responsibility actually means shared responsibility.

              I understand that sometimes companies adopt agile-like practices where there is no trust. It is not surprising that the classic bad habits get recreated. What process theory can protect you from managers that insist on being overly controlling? Are layers of process obfuscation really likely to be sufficient? Agile may not automatically be better under poisoned conditions, but it is not automatically worse either.

        • I agree with you that cargo-cult agile gives agile a bad name.

          Perhaps the OP is bemoaning that there are too many cargo-cult agile environments. (Maybe all his experience with agile is with cargo-cult agile environments.)

          I think the biggest problem with companies trying (and failing/flailing) to do Scrum is that Scrum is an agile management practice. It’s not something that the developers “do”; it’s something that the management does… changing its management process. Developers will do whatever cockamamy process management is foisting upon them. Those developers who are fed up with that process can vote with their feet (which I’ve done once, at one company, that was “agile… in spirit” which is a euphemism for being not agile whatsoever).

          I always see Scrum fail when management itself refuses to embrace Scrum, which is a direct result of management failing to realize that their processes need to change.

          Empowering developers to be able to embrace agile software engineering practices (TDD-style unit testing, pair programming, continuous improvement, yada yada) would even be better, but is not really part-and-parcel of Scrum.

          How hard is it do try Scrum? Kelly Waters laid out the 10 simple steps to adopt Scrum, back in 2007… http://www.allaboutagile.com/how-to-implement-scrum-in-10-easy-steps/ . It looks easy.

          After having been in 3 different (self-designated) Scrum shops in the past 10 years, every one of them has ultimately succeeded-to-fail to achieve Scrum or agile. Best intentions, road to hell, yada yada.

            • Since you are rating the solution by the hardness to apply it: Have you ever written code that needs to provide deterministic outcome, but is fed with random input data? If so: How did that work out? What did you do to verify it’s reliability?

              • I have written code that takes random input and produces determinisitic output, with bounds on space and time requirements. It was a function called “sort()”. I verified its reliability both with formal methods, and by testing it with large (and small) amounts of random and not-so-random data. I’m pretty sure it works.

        • Name one logical fallacy in what he said. Maybe there is lack of palpable evidence for some statements but nothing is illogical

      • My experience with refactoring stories is they sit in the backlog for a couple years until someone looks at it and decides to close it. Refactoring just isn’t a priority to the business.

        • If you make it a priority even just within the IT dept, I’ve found the best way to refactor is to do it as you work stories rather than create PBI’s that are simply for refactoring. Bake it into your estimates even. As you touch various areas of the code you end up refactoring substantial %s. But I can see I’m in hostile territory here so carry on.

            • As I’ve become more senior developer, I never ever consider quick and dirty solutions to business people who never understand the risks of ever growing technical debt and unmaintainable code and architecture. If the budget of the project doesn’t leave much breathing room for quality development then I’d rather not do it at all.

            • You are making the author’s point. To do refactoring, you need to do it under cover of some user request. You need to hide it, or justify it by claiming that the code is impossible to fix otherwise. Which typically isn’t true; typically, refactoring is the best approach for the long haul but cannot be justified within the context of this iteration’s user story.

              • We always allocate at least 3 points per Sprint to do re-factoring. The devs decide which pieces of code are the highest priority and work their way down through the tech debt backlog Sprint over Sprint. Sometimes, we do de-prioritize tech debt, if the team says that we don’t have any high priority tech debt stories and we use the points to focus on something else that’s higher priority. We learned the hard way over 3 years, that if we didn’t reserve time for tech debt, the tech debt backlog would get huge and we’d start to see code failures, so the lesson learned by the teams and trickling upstream to management, was don’t let the tech debt backlog fester.

                When Scrum works, it’s because everyone on the team does have a voice and management empowers their teams to do a good job, not just get the next bottom line and the next bottom line done, at all costs.

              • Well, we need to differentiate: Is the refactoring a necessary task on itself (e.g. does it provide value to the product itself, e.g. reducing long term support costs, increasing productivity of the developers, fixings bugs et cetera) or is it providing value when working on another (prioritized) backlog item?

                If the latter is true, e.g. the refactoring affects code that will be touched for a certain backlog item, then it’s not “under cover” to do the refactoring as part of that backlog item. It’s perfectly in the realm of the development to decide upon this and reflect that decision in their estimation (so that PO can properly prioritize it).

                Remember, in Scrum there is a distinction between “what” and “how”. The PO decides what has to be done with priority in order to satisfy customer demands. But the team decides HOW it is done and if this involves a need for refactoring that’s the way it is.

                BUT with respect to the first case: It might be that the PO has a hard time to see it’s priority for the business value of the product. Maybe the refactoring work is not even estimatable, which makes it even harder to prioritize it. I wonder if the development team tried to work with him to make sure it get’s the priority it deserves. Perhaps with the help of the ScrumMaster who is supposed to clear impediments.

                But I guess no, since it’s easier to complain than actually work on issues.

                • “The PO decides what has to be done with priority in order to satisfy customer demands.”

                  Rendering the development team servants to functional implementations, fighting for refactoring and technical debt. This makes those executors powerless to make their situation better.

                  How can you prioritize refactoring priority when the rebuttal is always “But we have customers willing to pay for this next feature”?

                  The part I loathe the most is when pointing and someone adds the complexity of a refactor, claiming a 13, instantly the question becomes “Why so big?”, but the other outlier who showed a 1 is never interrogated.

          • If you can “bake” it into estimates, and do work not intended to be done for stories, and nobody sees this, then its flawed and is not accurately projecting how long the project took. You’re spending company time/money, or in some people’s opinions, wasting them. How dare you!

      • Agile/Scrum:
        If the evildoers are evil then why give the tool to the evildoers ??
        All the pressure are put on the software engineer’ heads.
        Even factory workers are not treated like that.
        The engineers/developers should take legal actions on organizations
        who use these inhumane methodologies.

        • why do you think that this methodology put pressure..? At every sprint devs decide how much story they can work on, so they do the estimate and they are the one who says if they can do it or not. In theory no one should say to the devs how much they can afford. One of the pillars of Scrum is transparency so the devs says to the PO how much they can produce and PO says to the client how fast they can go. The author says that scrum and agile is stressful… it is not if you apply it correctly, it is much better than using non methodology at all. Everything is clear to everyone in the scrum (devs, SM, PO, Client) and if everyone respect the rules of the game no stress comes up for devs or any one else. As someone else have wrote, if the management doesn’t understand the agile/scrum philosophy they should NOT use it in their company because it becomes a really big problem and the company become less and less productive.

          • Ok, the first problem is having a task that can be divided into smaller tasks without losing coherence and it takes more time than 1 sprint. So basically the person taking it up will have nothing to show at the end of the sprint. Second most of the complex stuff that needs to be written have a great variation of how much they will take. Something that seems it will take 1 day may take 1 month to complete and something that looks it would take 1 month may take a day. Third problem is that the client wants something he can see but when working on backend many times something like this is not possible for many tasks. For instance if you build a house the foundation is not important to the client but you can have something reliable without it. So all work goes to write incomplete features full of bugs rather than building a sturdy base because you need to show the client something. And yes Agile is stressful because software devs do not work in divisions of time so small. For instance a 10 minutes meeting to a manager/scrum master is a 10 minutes time loss. For a dev is often a half a day time loss.

          • Agree with you. Many of these problems come from Scrum Master is not a Scrum Master at all and he/she does not set up framework correctly and finally Scrum is perceived as a waste of time. Therefore everyone using scrum wrongly will be perceive as a waste of time and they will be right.

            • You could make the same comment about any methodology. I. E. if you do it wrong it won’t work and people will be unhappy.

    • I quite agree. I’ve seen agile at a number of companies.. and it all devolves down to exactly what is described in this article.

      To be fair, some portions of agile are VERY useful (as a manager at a very large Software concern, we introduced short release cycles and it worked VERY well for us.. ).

      The big common denominator is good vs. bad management. Good management will root out the evil parts of Scrum very quickly and get on with their normal business. This is because good management always converges on what works best for their specific problems. The overarching issues is that most managers aren’t GOOD managers. And they grab onto process thinking its a silver bullet.. BUT IT ISN’T.

      I’ve managed under waterfall, managed under scrum.. both can work if your intelligent about doing what is required for your problem, and skipping stuff that doesn’t work.. I just wish I could figure out how to train folks to be good managers. I know the elements required, but few are willing to follow them..

      • ” I just wish I could figure out how to train folks to be good managers.”

        I have been developing software for 30 years. I once worked for a manager that could actually manage (rather than hinder, bully and interfere) for all of 6 months.

        • Thing is, if you have a good team, they don’t need a process.

          Sorry, that is so not true! If you have a team producing code for any significant task, they will have to have a process in order to work together on that task. The processes might not be very heavyweight, but they will be there. That will be true for and SDLC, agile or not.

        • I agree with this comment fully. The most efficient team I ever worked with was only a handful of talented developers and we didn’t need all of the middle-management to get things done.

          • Craig, I have the same memory from my career. I worked for a company that had a six person team of developers that created, updated and maintained a medical billing and scheduling system. We were rated ‘best of breed’ in our niche every year. Our users and VARs sent us presents at Christmas. We were then purchased by a large company and the team was expanded to 30+, including offshore workers. We were then processed and micro-managed to death with the result that we did less and did so very badly. And some of our formerly happy customers initiated lawsuits against us. Small focused teams that have a shared vision do not really need much process or management to succeed.

        • I agree JS, but programmers get bugged down w/ all this bullshit processes. I totally agree w/ the comment in this article that there is no space for architecting, research and development, and the like. I’m used to having a design when I go into a project and no one ever knows; this designed in buried in User Stories. I prefer writing a design from requirements and implementing in Sprints or whatever anyone wants to call it. As a programmer, I hate this Agile BS. Damn, tell me what you want, I’ll design and build.

        • It is ironic that you are actually referring to the first principle listed in the “Manifesto for Agile Software Development”

          * People and interactions over processes and tools.

      • that was pretty much what I was about to say. It has to do with people less than process. Strong, good managers will find success and root out incompetence and inefficiency no matter what system they are working within. In that regard, Scrum just seems to be more of a handicap to them using their strengths to the benefit of the process, because they are being forced into someone else’s process.

        Maybe Scrum is useful in helping squeeze a little bit more effectiveness out of poor managers working with a poor team, but a good manager kinda by definition generally succeeds at management… without need of spiffy pitched “management systems” that sell the idea that the same prescription eyeglasses is appropriate for anyone with sight issues.

    • “Probably the best written blog post about Scrum in a long time.” At last an intelligent, independent view of scrum that reflects most of my sentiments around this toxic process.

    • While I agree with most of what the author says I think he throws the baby out with the bathwater and misses a key root cause.
      Agile was created by commercial IT folks who believed Waterfall was the problem. While Waterfall does have issues the problems were lack of best practice use and under bidding/estimating. Commercial IT rarely uses best PM or software development best practices. This, to the authors point, makes Agile worse. The reason for that is that the usual inexperienced and/or unscrupulous IT dev manager bastardizes the practices even more and eliminates upfront scope, cost and schedule due diligence. This results in no project level data for any oversight. Thereby allowing for eternal software development work based on almost zero cost, scope or schedule accountability. Having said this Waterfall can suffer from trying to know too much upfront and being boxed in by that. Given this my suggestion is to use a hybrid. A best of both approach to mitigate the weaknesses of the other. A DSDM like with actual best practice use. Those being for example – EVM, WBS, schedules with dependencies and critical paths shown, productivity, defect density, rework and scope volatility metrics, root cause data, RTVM etc.

      • Agile was entirely created by people who decided that “submission” (very well termed by the author) to the client was the only reliable way forward since finding people who can operate effectively without total submission is difficult. All of “waterfall”‘s shortcomings can be explained away in exactly the same way “agile”‘s shortcomings usually are – “you’re doing it wrong.” To an extent, that’s usually true – but it doesn’t mean you’re not following the methodology properly, it usually means you’re applying the wrong methodology to a particular project.

        • > Agile was entirely created by people who decided that “submission” (very well termed by the author) to the client was the only reliable way forward

          It might be worth actually reading the Agile Manifesto (agilemanifesto.org/) before making claims like this. Submission is the key word of waterfall, and if you actually read the Agile ethics and principles, it’s goal is *exactly* the opposite. Despite the OP’s claims to the contrary, waterfall was the main development methodology in corporate IT at the time of the Agile Manifesto was drafted. This has been well documented by Eric Raymond in ‘The Cathedral and the Bazaar’ and elsewhere. What the OP is describing is waterfall management clothed in the language of “Agile” and especially “Scrum”, and using bastardized versions of certain Agile practices within a waterfall workflow. To blame this on the creator of the Agile practices thus abused is just bizarre.

          • It’s not bizzarre, it speaks to how deeply psychologically wounded people like the author of this article have become by bad corporate management practices. He has decided to make Scrum the object of his wrath, and I don’t think anyone will be able to change his mind.

          • He didn’t blame it on the creator, he blamed it on the practices. Which he has said in a bunch of places are useful in some situations but which are basically an abuse of your people in most places where they are being used. I am not sure where you got the idea that this was a personal attack.

            And Eric Raymond is frankly neither much of a programmer nor much of a philosopher, and he certainly doesn’t know all that much about management. It is a mystery to me why people quote him the way they do, except that he became a guru by … becoming a guru.

    • nicely written article. thanks for enunciating clearly some of the things that just seem wrong with agile/scrum from the outset, without knowing exactly what it is, besides the laughable little techniques like system analysis/design for dummies. anyway, wanted to point out that waterfall is often mislabelled as a analysis and design methodology when it’s actually a particular AD project management cycle, one of many. Most of the time “waterfall” should be replaced with “structured analysis and design” when comparing to agile etc. Structured A/D is purely focused on methodologies/tools, i.e. requirements analysis, document current system, design conceptual new system..part of which is DFDs, data dictionary, ERD, CRUD analysis, pseudo code and finally code…and all the design documents can be manually or sometimes automatically cross-check. Waterfall is the project management of the whole AD process in a strictly linear fashion, which it has been always accepted as being only purely hypothetical, as real projects are never actually driven like that. Somewhat waterfall like design cycle is desirable, as opposed to the agile chaos, as discovering requirements later costs much more to implement instead of when requirements known early.
      I’m of the view that even agile might be better than nothing or the crazy local inventions for design methodologies. The dumbing down of the workforce is a desired outcome by some organisations…keeping good engineers out of management…for the horrors they would discover.

      • Ya… among the many other things I would have to agree with in posts above, the whole problem of people winding up in management positions that clearly have no business there and no idea how to effectively manage either people OR processes is part of what gets industries into the market for things to try to fix that which could be fixed by simply using better hiring and placement practices.

    • what more could you want as a middle-level know nothing manager than a system of control of compliant and non-thinking underlings, whilst you get on with the job of politics to drive your career? fill in some spreadsheets of garbage to document your sprints and you have plenty of time in the day. btw waterfall is a project management cycle for A/D, usually mistakenly compared to Agile when they actually mean Structured A/D. Waterfall cycle always accepted as purely theoretical…in any case it’s always better to do analysis before design, despite people promoting contrary via Agile speak.

    • I’ve been agonizing over Agile for a couple years now, thinking I must be losing my mind. As a somewhat seasoned software designer I feel this pain every day now and I just want my autonomy back. Agile has managed to suck the creativity right out of design. What I do now looks something more akin to Customer Service Representative. I ask myself every day how this came to pass and how I can get back the career I got into in the first place.

      • For about 3 years I had the unique opportunity to pick anything we like fro Agile and do or not do. Like happy children we tried Scrum elements, and found out only a few things really work.

        Biggest benefit not the short planning sprint, but the result from it – a vertical release of the stack, as much as possible. This created a space of navigable release artifacts for selection from other stakeholders: QA would binary search the assemblies to find when we introduced a degradation, Ops would pick up to upgrade a customer up to a version we ha a fix for in already, Sales would pick a version that had their thing to demo. We as devs can always go back in our stream and rerun some tweaked test. Investing in automation and comparative testing added trends and graphs of various qualities (memory, CPU usage, coverage, resilience, and so on) of the release artifacts dimension.

        Other elements from Scrum that we found useful, here and there.

        Standups, but not every day, too intrusive. 2 stand ups a week worked well to catch up and have the ‘aha, you do this, I can latch and do something with this too’. With remote workers it is more of psychological, see their faces, hear their voices. We do not do guilt trips or blame games.

        Regarding estimation, mind that the team prioritized, the business influence only landed tickets/stories, and we would order and say roughly when we can work on them. We found departing from time-based estimation to using relative Fibonacci, helped a lot get a general idea of who thinks what regarding the size of things. If we overflow to the other sprint (Kanban style), no big deal. Moving away from time-based estimation really reduces stress from a ‘promise’ to finish in N days. Things usually intertwine, and the completion date moves, while the total amount of work may have stayed the same. So with Fibonacci we would more or less get an idea whether we try to bite to many big pieces in the next weeks.

        Then, a large corporation purchased us, enforced formal Scrum and work stopped being fun. Lost 90% of the seniors in under a year and the half. Enter the juniors.

        • I’ve been doing scrum for a few companies both start ups and large organizations. I have seen it be very effective and also a trainwreck.

          Here’s what I’ve learned:
          Each team is different.
          Each team needs to decide what their processes will be.
          The Product people need to be willing to adjust their approach to the development team’s needs
          The Scrum Master needs to empowering everyone AND keep everyone accountable.
          Accountability goes both ways. The developers need to be able to call the business on their shit, and the business needs to be able to call developers on their shit (this is what the Scrum Master should do). We are all professionals, we should respect each other’s opinions. I had a Scrum Master that would shut me down in sprint planning if I didn’t have the business value defined.
          Story point estimation is effective if you are willing to measure it and discuss it in retrospective. How long are you actually working on a 3 point story vs an 8 point story. “Why do we keep having 3’s that take longer than 8’s? We keep estimating stories using that involve Angular.js as 3’s, but we have a problem with Angular. We should fix our angular integration, or rip angular out…”

          Scrum processes are as iterative as development. You focus on what works and you quit doing what doesn’t work. Keep cutting the process fat and in 3 months you’ll end up with something that everyone is comfortable with.

          This is hard in large corporations but those managements issues go much higher than middle management. The finance team has the same issues. The sales team is being micromanaged. The customer service is micromanaged. Thats more of the problem IMHO than “scrum”. If you are stuck in that situation RUN. RUN FOR YOUR PROFESSIONAL LIFE. That culture won’t just get better with time.

          • I hear what you’re saying, Jeff. I was at a company where the Java stories were largely finished on time, but the UI stories were not. We had three different UI developers during the time I was there and all struggled. The fact is the company’s Java code was pretty good while the UI code was unreadable crap.

            To make this much worse, the manager would largely base his performance reviews on the number of story points that folks accomplished. We lost two good UI people because of this.

            I know what the response will be. The Scrum documentation says that people should not be rated on their story points. The fact is that managers need metrics to do their reviews and metrics are hard to find, so if they are presented with an easy metric like story points, they will use it even if it is a very poor one. People will say that this is an abuse of Scrum. I say that Scrum is easily abused.

            I do draw a major line between Scrum and AGILE. The AGILE manifesto explicitly downplays process while Scrum is process on steroids. I actually like AGILE and use AGILE in my own projects. I divide my projects up so that I can come up with a minimal deliverable as often as possible. The last thing I want is a piece of code which cannot be tested end to end until months later.

        • > For about 3 years I had the unique opportunity to pick anything we like fro Agile and do or not do.

          This is *exactly* what the Agile manifesto encourages you to do, to be agile in your practices, use what works and discard the rest, as long as you deliver working software. All the cargo-cult stuff done in the name of Agile is like people claiming that democracy means making every single little thing in everyday life subject to a majority vote.

    • The one thing that occurs to me as I read this article, is the increasing prevalence of the word “coders” in widespread media supplanting the term programmers. I don’t think this is an accident. It seems that the methodologies discussed seem to favor many coding minions doing lots of quick turn around grunt work. These minions are just translating requirements or coding processes not really thinking about systems and solving problems. I wonder where the true Programmers of the future are coming from? Makes me worry about the security of our financial and health systems.

    • Agile summarily eliminates best practices in software engineering, but claims to increas customer satisfaction and overall system reliability. I can’t understand how this is possible, given that practices like Software Reliability Engineering are not used in Agile. This is especially important when Agile is used for enterprise network services, where 99.999% reliability is DEMANDED.

      How is the industry falling for this nonsense?

      • Its not possible. I’m living proof from the 6th largest software manufacturer in the world. Agile is a complete disaster. It completely demoralized our experienced engineers, when they left the 7’s had no one to learn from/look up to, no one with expertise in the field or on the code, left a void that eventually destroyed the team and product quality. The “Team” with all of its hierarchy, pecking order, experience, and quality was changed from a group of developers with ownership, responsibility, and a sense of pride into a “pool of coding resources”. That was the point I left as the lead developer, after 12years of delivering market leading software.
        Sales fell, investment in the product went with that, and the product was EOL’d. This was a high touch, top right Gartner quad product that dies because of blindly following this Agile garbage. True to Agile, it died quickly (less than 36 months). Nope if you want to be in the software business, you have two choices. Now the “street cred” of our business is crap, (even in India) and we can’t hire anyone of value to design or code for us much above a 5. even then, they have already been privy to the “agile way” and as a result the employee we get is nothing more than a robot coder that has little motivation to innovate. Agile is evil corporations. My favourite part of the whole Agile process was the Big Room Planning where everyone would stand up and feed us BS about how they where 100% feature complete – but with issues! How the hell is a customer facing, feature complete for anything if it “has issues”? Most moronic thing I’ve ever had to hear from a manager in my life. Other favourites include “Good enough” software, “Minimal Viable Product”, and my #1 completely non-responsive response “contact the team”.
        On the good side, leaving was the best thing that could’ve happened to me, as I now work for a company that cleans up Agile disasters in the software industry. Teams over commit, and they continue to roll issues and features into next PI, ultimately requiring pro’s to come in and help them play catch-up.

        • Sorry to hear that and I feel your pain as this was pretty much my experience too. In agile/scrum, a coder is a coder is a coder. No credibility was given to the decades it took me to develop and hone my skills and knowledge. And the product headed for the toilet.

      • so you sold your soul! Hope it was worth it. I am not against becoming a scrum master, but preaching the scrum gospel means you sold your soul.

        • I would probably have loved being a scrum master too except I just couldn’t drink the kool-aid. And I loved software development too much.

      • I too am a Certified Scrum Master (scrum.org PSM I) and I understand the values that Scrum tries to instill.

        The process is a failure because of it’s ease of corruptibility which was designed by software engineering leaders who (naively) believed that it was empowering but turned out to be enslaving. This is anecdotal from my experiences at 100% of the last 3 companies I worked at, all attempting Scrum.

  1. I just read the great book, “Agile: The Good, The Hype, and the Ugly” by Bertrand Meyer. He made many of the same points you have.

    I consider this one of the top 5 books on sofware of all time, and would recommend it to anybody.
    Alan

  2. Pingback: 4 – Why “Agile” and especially Scrum are terrible | Exploding Ads

  3. Perhaps you might want to think about why dysfunctional management (in its various forms) has always been the norm, rather than exceptional, in large impersonal human groups- be they corporations or nations.

    • I tend to agree that the core problem resides in knowing why dysfunctional management has always been the norm in large organizations.

      • The Peter Principle states that each managed gets promoted one step beyond his competency.

        Also, psychopaths seem very adapt at negotiating corporate boardrooms.

        • As a manager I have to agree with this. I am tired on repeating other managers that the best kind of management is self-management, as they did at the Bell Labs while creating Unix. And the manager just eases the information channels to make others easier to decide themselves.

          The opposite is wanting to managing all by yourself. Then you get responsable of every little problem that could happen, your mind blows up, and for sure you will get angry with the hole world because of been everyone all over you.

          That is how psychopaths are made! Give a healthy person that kind of work, and soon you will have a tyrant. Let people decide themselves and you can just relax a little bit, because even if you die you know that everything will continue working.

          • Amen! I prefer to help team members grow into independent proactive engineers. How to do this? Well, first remove the obvious counter productive routines – too detailed apriori planning produces people who become good at covering their asses when they cannot meet the deadline; standups unveil half-baked work that a senior will inadvertently comment on, making a junior shy away from initiative; “commitment to a promise” whether a priority level, a scope of tickets, a date, becomes a killer of initiative and independent thought; planning for 100% sprint with tickets removes the fun and psychological relief to get to do something different for a few hours or days (and do it good and produce huge amount of unplanned value); FEAR of erring – instead of nurturing experimentation and learning through through erring.

            Therefore:
            – Nurture independence – less scrutiny on intermediate product of team members; guide to a result, instead through a process; delegate decision power for small things down to team leads and team members; Check general progress directions.
            – Nurture proactivity – build structure for post-factum fixing and detection, instead of a priori planning of the correct and stepping on eggshells all the time.

          • It’s a process that was hypothesized and experimented with but clearly does not hold up to the rigor of the real world.

            Psychopaths are not the only ones that co-opt these processes – it is done many times by well-meaning individuals who want to “optimize” or “iterate” or “fail fast and often”. In trying to improve they look towards and try to control the measurable output, many times to the detriment of those doing the work.

            Many could attest to managers (non team member) examining Velocity or trying to “fix” a burn-down chart or enforce WIP limits; these are all meant to be tools _for the team_ yet this “transparency” enables judgment on how they operate.

            It doesn’t take much to turn this tool against its creators and that is where it fails.

      • Dysfunctional management is the norm because it is made within that environment itself, because a piramidal structure will always encourage focusing on reputation over in doing good work.

        Many times good work relies in doing well when nobody is watching.

      • It’s the norm because the people who sign the paychecks are social animals, not intellectuals. They care far less about merit than they do about being social animals. Agile never solved this problem nor did it intend to. So it was crushed by the social animal all the same.

        I could write another horror story on here about how the Agile transition was a vehicle for less qualified people to call the shots over more qualified people. Or how those unqualified people were promoted. Or how the company hit the skids. You all know because you’ve seen it.

        The only environment that will suffice for intellectuals and true developers out there is unbridled autonomy even at the expense of pay.

  4. Pingback: 4 – Why “Agile” and especially Scrum are terrible | Offer Your

  5. I see a lot of hate for a decent programming methodology with no offer of any better path. You hate waterfall and you hate agile. So am I to assume that anarchy is your preferred method? You really just seem like every other jaded programmer who has either worked in a bad system or can’t accept that they aren’t some special snowflake.

    • Waterfall is mostly a strawman. It’s not actually how software engineering was done. Before the current idea of “agile”, there were many other methods used.

      For that matter, XP, the grandfather of current Scrum, was better than the current version.

      I’m not saying those methods can’t be improved upon. But Scrum is worse, not better.

      • I can verify that waterfall is actually how it was done. In 30 years of being a programmer I have only ever seen waterfall, “rapid application development”, and Agile. RAD failed. I have had most success with Agile. Scrum is more MEAN than Agile.

        • True waterfall would mean that once the requirements were written they could never change, once design is written, it can never change, etc. I’ve never seen that methodology used and I’ve been programming just as long.

          • Agreed. Much to the dismay of hardcore agilists, pure waterfall doesn’t exist. Requirements and Design could/can change in the “traditional” method. There were/are change management processes in place to accommodate error-correction.

            • I’ve seen it: companies insisting that requirements never changed, their devs are just too stupid to understand them in the first place. No system for re-estimation after scope changes because “scope never changes”. Scope always changes.

          • AGREE. I have been doing this 25+ years and the so called Waterfall is really Spiral. Requirements and design get modified or enhanced all the time. It’s done successfuly without the time box mentalityy that Agile bestows and without scrum. Agile’s claim to greatness is done by bashing Waterfall. I just went through Agile Training (barf). The argument was constantly, “waterfall is terrible” and therefore Agile is better. Leftism at it’s finest.

          • Avionics and other mission/life critical systems. I worked for a company doing contract work for military avionics and it is in the contract. Thou shall develop this software using waterfall methodology. Requirements are defined and locked down before a single line of code is written. All software is written to the requirements. That code is tested against the requirements. The code and test cycles continue until all requirements are met and all defects are eliminated.

            Just because you never worked in waterfall does not mean no one works in waterfall.

              • Even there, with processes like ISO 26262/8 for safety critical software development (with a prescribed V model), nothing in the V model precludes iterative development or insists that ALL the requirements have to be reified, designed etc before ANY code can be written. Once interfaces are defined and so on, individual module implementations can be written independently. Similarly whether in some V model or iterative development, conceptually one writes tests against requirements. But in practice, whether they be manual tests or automated, the tests have to be written against the design or implementation to be able to test it.: the proof of test coverage becomes a transitive one, because there is a mapping from requirements to design to implementation, and so one can test at a more-detailed level and infer that the higher-level requirements are satisfied

                Nothing in the V model prevents iterative development, the ISO requirements simply say that here are the deliverables for each work item, and so what? You can use an existing implementation, nobody forces you to write everything from scratch as the strawman “waterfall” aargument always seems to imply. I’ve done several jobs writing requirement specs etc for existing code to meet ISO 26262, i.e. the code was already functional and specified but not to the ISO standard. You don’t have to reinvent the wheel every iteration, nor avoid using library code (if you can test it…)

                There are also provisions to allow deviations from the requirements, although understandably the process is quite onerous. I’ve been doing safety-critical work (amongst other things) for over thirty years and I’ve never known the requirements to be set in stone as “waterfall” implies, there is always a well-defined mechanism for deviation.

          • Straw man. Not “could never” change. Only that such things will not be changed without an adult standing up and stating coherent reasons and be willing to take some heat for it. Since programmers browbeat into being cogs was invented looooong before Scrum, such shifts rarely happened.

            Very Waterfall projects certainly did exist. Whether they were True Waterfall or True Scotsmen is really unimportant.

      • Scrum was introduced to the public in 1995, earlier than XP. You should not call the one the grandfather of the other, they’re brother and sister.

        • Per Tilman, Extreme Programming (XP) was after Scrum. XP was created as a superset of Scrum that added, among other things, engineering principles. Scrum is purposely sparse in respect to what it includes, making it broadly applicable. XP is much richer, and hence less broadly applicable.

      • Think of this when you hear “waterfall”: a logical process of interdependent activities. To do B, you must first do A; to do C you must first do B; etc etc. If this rather makes you think “Scrum” or “Agile”, you’re not wrong: they are also using (albeit small and fast) waterfall processes.

        The biggest flaw is that while traditional software development projects (and not Waterfall itself) are managed by Project Managers, Agile and Scrum projects have abandoned PMs to get rid of all the seemingly unnecessary management (administration, meetings, prioritization, planning, estimation, risk management ets etc).

        I cannot see that Agile or Scrum are giving less “unnecessary management”. Scrum have even introduced the “Agile Project Leader” together with PMI.

    • One prof told me: if you can phrase the problem well, you’re on a good path to the solution.

      The thing with problems is that they don’t have a solution yet.

      So dumb, besides the problem, what solutions could you have or how would you find them?

      • +1
        Good article and a good warning too.
        So you’ve covered Waterfall and Agile/Scrum, and both have their problems. What could be a working alternative?

    • very swift and straight to the point with your comment which is neither rude nor is it not well thought through! i share your opinion very much!

    • Strangely, I was recently thinking about how I want to work (senior architect). And I thought back to the “Lead Programmer” principle. The fact is I can write this entire app, but first of all it’d take too long, and secondly there are lots and lots of small “stupid” tasks. These aren’t really stupid – they require an actual programmer, and a reasonably competent one, to complete.
      As an example, I’ve been doing lots of simple front end stuff for a recent app. Does this play to my best abilities? Certainly not. I can do it, but I’d rather have somebody else do it, and I concentrate on the big picture.
      Solution: The lead programmer model, which is positively ancient, I think it’s actually from the 70ies. It was replaced later by the waterfall model, another equally dysfunctional model where I forgot the name, and lastly, agile.

      The author suggests that a programmer / manager might be the best approach. A competent manager who can actually jump into the code and fix things, and who can look at others’ code and suggest improvements, find problems, etc. That is… the good old lead programmer model, just with a different, modernized name 😉

      As evidence for why this works – all those companies which have kick ass software are lead by very competent software engineers, or at least people who have some programming background. By lead I mean they have an engineering manager, CTO or whatever, at a high level.

      • You might be thinking of “The Surgical Team”, chapter 3 of “The Mythical Man-Month” by Fred Brooks Jr, written in 1974 (but documenting practices from earlier). A must read for any software engineer, I should think.

    • “I see a lot of hate for X religion, but no offers for better alternatives.”

      Agile has some good ideas, and some bad ideas, but the #1 problem is agile prescribes itself as the solution to anything and everything that ails you (i.e. snake oil, religion).

      Replacing one management-methodology with another is maybe not the solution. Management, if it does it’s own job, should theoretically know how to manage or work on becoming better. It’s not our (programmers) responsibility to tell management how to do their job, we’ve got our own job to do. We can however tell Management when they’re making our lives miserable, and fucking up.

      Having worked in other industries, one’s methodology (or workflow) is typically developed around one’s business. It’s not really a difficult process either. Agile might possibly make sense for some businesses, but I’m skeptical of a one-size-fits-all methodology for everyone.

    • I’ve had nothing but success with Waterfall for the last 20 years. Never tried agile and have no interest. Daily meetings are for teams that can’t deliver. Seems like the project is setup for failure by letting the business team and developers run most of the show. What a terrible idea.

      Production releases are time suckers for everyone. Why would you want to have deployments every 2 weeks when you can get it all “perfect” and deploy it once properly?

      • gives the customer a false sense of efficiency and security and the manager does not do anything anymore. this the reasoning behind agile.

      • The point of doing production releases every ‘2 weeks’ (at a minimum; one place I worked our record minimum time between releases was 6 hours) is that “what you do often, you do well”: our release process was down to a couple of scripts (which included all the SCM work, running all the automated tests, and deploying the artifacts (from binaries to documentation) on our web infrastructure), so we averaged two releases a week for several years.

        Also, I disbelieve that you get any release “perfect” unless you do it fairly frequently. There’s always something that gets forgotten, or has changed and not been updated since the last release, or etc etc. Releasing often means those nits get fixed just as often, and ideally even the fix gets automated away.

        • You make a valid point, and I agree that small, frequent releases are better than large, episodic ones.

          I don’t think that individual programmers should be managed, in all of their work, down to the 2-week increment. That’s the sort of humiliating micromanagement that just poisons everything. On the other hand, the team should be releasing and improving software constantly.

          • If you’re following a “purist” approach, the team doing the work should be selecting and estimating items off of the backlog at the beginning of the sprint, and they should have full autonomy as to how they meet the acceptance criteria defined by the story.

            Compared to design-up-front methodologies I’ve worked in where I was handed a “finished” wireframe and design diagram that I wasn’t involved in the creation of (since it was done 3-6 months ago before the majority of developers were brought onto the team), the properly-implemented Scrum approach leads to much more wiggle room on how to accomplish the goal.

            Sure, if a company implements a hack-job of Scrum where the business or management is telling the team which stories they’ll be working within an iteration and how many, adding things mid-iteration and pulling them out, and not giving the team the ability to add technical tasks to the backlog – then of course that will demoralize the team.

            • I tend to agree with you Clint. I was lucky to be on a well-run Agile Scrum team for a year and half. The team selected the work each sprint, and had autonomy on how to accomplish a story. It was “purist” — with a seasoned scrum master, and the team and product owners all educated on and buying in to the methodology.

              I do wonder, based on this article, whether the team devolved into something more like the author describes. But it was successful and satisfying while I was there.

              • I agree too with Clint. The main objective of Agile / Scrum is about the collaborative, team commitment that is made. In our organization, we have an Agile approach from management down to the Application Developers. Management only needs to prioritize where the business gains value, and everyone is in agreement and buys into the deliverables. That being said, our organization invests heavily in having every member of our business “know the business”, understand it well, so that each contributor sees where / how their individual contributions fit into the grand scheme of the operation. Neither Scrum nor Agile have ever proclaimed to be better or superior…rather they claim to be “self-improving”. The author of this article should read (or, re-read) Fred Brooks’ paper, “No Silver Bullet”. Sounds to me, and this is my very personal opinion, that like many other “software engineers”, the team and experiences that the author had lacked those critical, self-improvement views that continually make a team evolve and get better. I’ve been doing Agile for 5 years now, and have worked with manifold teams and management scenarios…my experience has been that you define the agility that works for the team, and it is only meant to be a starting point…from there, you MUST evolve…it was never meant to be a “once and done” approach.

                • “you define the agility”… wow… of course if someone is vague enough it can mean anything but then just as the Agile Manifesto it has no value. About evolving depending on what you mean by that the team cannot evolve forever . But I believe what you mean is deliver code faster and faster and in the deluded minds of managers better and better. Things do not work like that. Agile is promoted by people that have 0 understanding of the complexity of software development. They talk big words using cliche lines like team work and such but have no idea what happens at factory level and what those words mean. Also it seems that all agile promoters, including you, cannot stop themselves of doing ad hominem attacks to the vast majority of developers that find Agile to be cancer.

                  • Of course, you prove the very point that most so-called “software engineers” seem to think they have all the right answers and nobody else can contribute to their god-like [alleged] knowledge. Before you can accept some thought and/or idea from another, you must first be willing to to accept that the other person may have something to contribute. I write from my 30+ years of software development/engineering, plus teaching Graduate level courses at a major university…so, before you make statements like, “Things do not work like that. Agile is promoted by people that have 0 understanding of the complexity of software development”, you should know your audience! Maybe the folks with whom you’re working might deserve a little more respect than what is being offered…and, who knows, you might learn something too!

                    • Having x years experience does not impress or matter to me. What would bring more validity is specifying a software you brought significant contribution to. Of course since in Agile the tasks are split so much that none of the pieces is comprehensible having a meaningful contribution is almost impossible which is one of the reasons I hate it. About teaching software development I did that too for a while… is irrelevant. And I do not know to have all the answers to recognize a turd when I see it. I never said I know everything or have all the answers but I can say with certainty Agile is crap and does not work. You do not need to be expert to realize something does not work. You need to be one to make something work, not see it does not.

                    • @cyprian “Having x years experience does not impress or matter to me” I tend to agree that just having a number of years is not necessarily impressive. I think what most posters (including myself) mean by an experienced developer is a person who has a proven track record of solving complicated programs systematically. Having solutions that have a low problem incidence (bug count) and that are still in use and able to be modified after years of usage. Solving increasingly complicated problems is analogous to growing in knowledge by taking (and understanding) increasingly complicated courses in college. This is what the ‘dumbed down’ agile/scrum denies current developers. I have seen young developers who I immediately knew had talent but what they needed was to add to that the years of actually doing and learning. I say this as one of those ‘experienced developers’ with 30+ years of successful software design and development. Some of my designs/solutions were still in usage 15+ years after I implemented them. Some of them were easily modified as new business models emerged. And yes, I had a couple of clusterfucks in the process.

                    • Personally I don’t see AGILE and Scrum as the same thing, and I think that’s part of the disagreement here. Scrum is said to be one variation of AGILE. I like AGILE but hate Scrum. The AGILE manifesto says, “Individuals and interactions over processes and tools.” Scrum is process on steroids

                      It is definitely wrong for engineers to think others don’t know anything. It is also wrong for others to think they know how to do the engineering job better than engineers do.

                      Any methodology will work well if managed by good managers. The true measure of any methodology is how well it works in the hands of mediocre or poor management. Scrum fails this test. Mediocre or poor managers often see Scrum as a miracle cure to their problems and a way to micromanage the engineers.

                    • I don’t agree that any methodology will work if well managed. Some methodologies are better in certain business models. Other than that, a very well written and expressed post.

                  • Very nicely said. Agile/scrum has been known as a dehumanizing disaster for 6 or so years now. My company’s managers started teaching it using (of all things) YouTube videos. A solution to all of our problems – free on the internet (sarcasm mine). Passion and overtime trumped experience and logical thinking.

    • You can use various tools all together:
      + Just in time
      + one piece work-flow
      + eat that frog
      + kaizen
      + kankyo kaizen
      + visual management
      + minimum planing
      + short o no meetings
      + Spartan programming
      + minimal methods
      + simple test-case for each function

      Result: no bugs for the late 2 years. Perfection is not achieved when nothing cannot be added, but when nothing cannot be removed.

      As specimen:
      https://wiki.ubuntu.com/One%20Hundred%20Papercuts

      If it does not deliver a clear value, discard it. You are better served with a 9 that takes 2h, than with a 10 that takes 10h.

    • Exactly the type of person who will never, ever get software development. You are probably a manager who’s developed one application and now knows everything. Probably follow your buddies around from company to company too. Scrumbag.

      • Agree with this comment. As a team leader, I have tried both methodologies : Kanban and Scrum.

        I hated Scrum because of its lack of flexibility. Anything wrong in the sprint and you’re out ! It was a complete disaster and I had to leave the project.

        While Kanban is much more flexible and you can still handle if something in the project realization went wrong. Even if you, as a team leader, never worked with Kanban before, you can even implement it in an intuitive way. I found out that it gave much better results, much more happiness among developers and higher customer satisfaction. This is also Agile but that does not need to waste time in standing meetings, sprint plannings, sprint reviews and other bullshits.

        And guess what ? My developers are not even aware I am applying Kanban. They just need to focus on their work, having enough time to think carefully about how to implement their features. Bottlenecks ? Dev status ? Delivery ? They do not need to care : this is my job. Backlogs ? Also my job, no need for any Product Owner so that the customer as well also has nothing to do. Everything smooth, triple-win situation.

        Whereas Scrum is like a Cultural Revolution for every part : understand it, accept it or say goodbye !

        By the way, I have always been told that Scrum is based on Agile Manifesto and its twelve principles. OK, let us take a look at it and show me, where it is written that we have to do stand-up meetings, estimations, sprint plannings, sprint reviews and such uselessly time wasting bullshit. I saw this nowhere !

  6. I think people will follow scrum tactics instinctively in a corporate war mode. Scrum just seems to describe what people do in a war mode. That’s why I think they don’t need to learn scrum to do scrum in a war mode. This articles reminded me of the days when I had a job at an agile software company. Thinking about how I was treated under agile practices causes mild nausea quickly.

    Fortunately, I won’t have to deal with agile shops again in my life as of this year.

  7. Thanks for the article. It was interesting. As someone who is working in an agile team I have two points though: 1- Isn’t it possible for teams to adopt their own agile process and fix the issues they have with the process? For instance introducing internal hackathons to fix part of the R&D issue, or dedicate a separate team to R&D? I say this because I agree with the point you made about R&D. I can also see your point about career growth. 2- What is the alternative? One of the things I like about Agile and Scrum is that it forces the “business partners” to think about what really matters to them and not ask for everything under the sun. I also like the idea of stand ups; so clearly there are parts of scrum that do work. Should we look for a hybrid? Or follow an entirely new process? By the way I don’t work at a consulting firm. I work within a small team in a financial firm where the engineering team can’t practically (at least fully) dictate the direction of the product because we don’t have all the business knowledge.

    • Standups are one of the worst things about the whole process – EVERY single day you know you have a scheduled interruption at 10am. This means that every single day there is no point committing yourself mentally to a deep dive task as you’re racing the clock knowing you’ll get pulled out to listen to a lot of talk irrelevant to the task you were in the middle of working on.

      I firmly believe (borne out by experience) that only those who have not coded for a living love standups and SCRUM. When you’ve experienced the reality of working a problem for hours, days, weeks on end – in the shower, on a bus, waiting for coffee, in the traffic or as soon as you open your eyes in the morning – you feel very different about a scheduled daily interruption.

      In the name of productivity engineers have to dumb down what they’re doing and explain ad nauseum to people not qualified to understand. That’s not an insult – a civil engineer doesn’t explain the properties of material plastic yield stresses to lay people either.

      I recently worked at a startup where they hired a SCRUM fanatic micro-manager. Within a year 5 senior engineers left – all with 12+ years experience a piece. Over 50 years commercial experience walked out the door and management did nothing – because they could *understand* SCRUM – so the problem *must* have been the engineers.

      I’m frankly sickened by the whole thing and its been one of the drivers for my decision to get getting out of commercial software development altogether.

      You want an alternative solution to the SCRUM vs Waterfall debate? Hire a really good team of engineers and get the fuck out of the way – we are perfectly capable of designing for change.

      This is what we do.

      • I think it’s possible to do SCRUM right. An agency I know has frequent scrum meetings – but it’s not about “performance” or whatever, it’s just to keep the team aware of what the rest of the team is doing. And it’s limited to 5, 10 minutes every morning. As an engineer, I never felt this to be a problem – nobody will go into technical detail, nor would it make sense to do so.

        Again, I think SCRUM, as any engineering method, is good if management, e.g. the boss, knows software. If the boss knows software, they’re not going to ask dumb questions (“couldn’t you do this?”).

        Or, come to think of it, the boss might ask “couldn’t you do ?” and it’s actually a great suggestion. But I guess that only happens when your boss is a certified genius, only had the pleasure to work under one once 😉 he’d do business deal, then hop on to engineering meetings and despite not being involved in day to day coding, he’d have really good ideas to contribute. Not all the time, but on occasion.

        • Why do you care what other team members are doing?
          If their projects interfere with yours, you will talk to them about it anyway, in smaller groups and in greater detail.
          If their projects have nothing to do with yours, you don’t need to know what everyone is doing every single day.
          If it’s for personal interest, you can small talk with individual developers over lunch breaks.

          It’s only 5 minutes a day, but for me this is 5 minutes of wasted time. Everyone throws in a few buzz words and nobody listens. Half of them will solely consist of “Still working on XY” for 2 weeks straight.
          Every morning I get 12 short status updates of projects I don’t understand (because 2 sentences are not enough to to into details) and 98% of this has absolutely no relevance for my job.
          Yet it postpones my actual start of the day to 10:05am, because there’s no point in doing anything but reading my emails before this, knowing that I will get interrupted soon anyway.

          Sometimes, if people talk about what they are working at lunch breaks I notice that nobody has a clue what others (or I) are working on at all.

          • Sorry! It seems, young padawan, you still lack quite a lot of experience 😉 at least in *huge* projects.

            How can you be sure that the work of other team members is not interfering? Who knows this and who coordinates? This is exactly the idea of an agile process: Self-organisation. I.e. the team itself must coordinate these interferences. And please tell me: If it is not mentioned (quickly, not in depth!) on a daily basis, how do you know what the others are doing and whether it interferes with your work?!

            One example: I very often experienced someone saying (or said it myself): “Hey, what you’re talking about somehow sounds familiar – I lately worked on X – maybe you can refactor the common part out of this and make my feature X and your feature Y use the common code.” Isn’t this interference? Would you prefer redundant code instead?

            There are many more examples I experienced in real life, but I hope I don’t need to iterate them one by one to make clear that it’s the team who needs to talk. And a once-per-day meeting is a great opportunity for this. Otherwise you don’t get everyone together and the risk that interferences go unnoticed is far greater (and there are greater risks than redundant code).

            • Well, because not everyone works on whatever they come up with. Few tasks come from developers. There is a defined channel for incoming feature requests, bug reports, etc.
              There’s a person turning these into tickets and assigning them to developers.

              These assignments are not random. Everyone has their fields of responsibilities and expertise.
              Out of 12 people there are never more than 2-3 working on the same region of the whole blob of software. And the people working on similar things as I have their desks around mine.
              I know what they are doing and they know what I’m doing, because we talk about it all day.

              I can always be sure that the frontend devs hacking their CSS and JS won’t interfere with me optimising data flow deep down in the backend.
              In the rare case that my work may affects theirs, I know so and talk to them to before I do it.

              Individual in-depth communication is way more effective than noisy, unfiltered broadcasts.

              For 80% of our code, I know roughly who is championing it – and for the rest I can find it out within 2 minutes.

              • > “There’s a person turning these into tickets and assigning them to developers.”

                Then what you describe is definitely *not* Scrum! In Scrum, everything to be done comes as a story in the backlog. And then the developers *pull* out the stuff they’re working on. Nobody is “assigning” anything “to developers”.

                One of the main goals of Scrum is to spread knowledge among the team. This cannot be achieved, if everyone only works on the things he already knows.

                And there’s one more goal: Review. If the same people constantly work on the same code, there’s obviously no review. If you pulled a task/story you don’t know anything about, then pick someone who does and do pair-programming. At the end, both people will have learnt something.

                I know that many companies strictly separate certain types of work from each other (e.g. frontend from backend), but IMHO this is not very wise. And even if it is so, where’s the problem of hearing 2 sentences from a frontend-developer about what he’s doing even though you work on the backend? Are you that ignorant that you really do not want to know? I mean this might be a personal choice, but at least I am always interested in the entire project – not only the part I’m working with.

                > “Individual in-depth communication is way more effective than noisy, unfiltered broadcasts.”

                I totally agree. That’s why the daily stand-up is *not* in-depth and only superficial. It is meant to give everyone an idea about what’s going on. It is not meant to explain in depth what genius ideas every dev is currently implementing.

                • …btw. I forgot to mention: If there are only 2 to 3 working on the same region, you have a small team! I lately had 12 devs in one scrum team working on one part of the big project. There were multiple Scrum teams working together. You cannot know what these 11 other people are doing because you don’t want to sit with everyone in the same room.

                  • Then how about this: ditch scrum and make smaller teams. That way you can get problems solved without introducing a new layer of management specifically designed to solve the problem you introduced by creating the large team.

                    “I had a huge problem so I hired 10 programmers and now I have two huge problems.”

                    There’s also something to be said about having too many cooks in the kitchen. If you actually had 12 devs looking at or relying on the exact same lines of code, then either your system architecture was not modular enough or you just had too many people making decisions about the same logic. In either case, it sounds like your team was pretty inefficient. It’s fine to have 12-man “teams”, but they shouldn’t all be working on the same thing. The “12-man” team at my office (it’s more like 20, but hey) is actually segregated into much smaller 2-4 person teams when it actually comes down to writing code. In other words, There might be 16+ people on my team whom I *NEVER* interact with. Unfortunately our standups involve all 20 people, which makes them pretty inefficient, because I really don’t care what those 16 other people are doing, and I shouldn’t need to. And that, my friend, is the point.

                    • > 12 devs looking at or relying on the exact same lines of code
                      You have an IMHO very strange understanding of architecture. In my world, it is common that there are layers with one relying on the other. Thus, it’s totally normal that for example a domain-specific module relies on an infrastructure core module. Someone working on the domain-specific module might very well detect a problem with a core module or identify a need to somehow extend it.

                      Or someone working on a domain-specific UI module might very well rely on the domain-specific corresponding data model.

                      > your system architecture was not modular enough
                      Wrong! Our architecture was *very* modular: Our project contained far more than 500 sub-modules (each being a separate Eclipse-/Maven-project and producing an OSGi bundle as its primary artifact).

                      Honestly, I wonder how your architecture looks like, if you have no such dependencies. Btw., IMHO, you failed extracting common code (which reduces redundancies), if you didn’t create such common core modules.

                      > In either case, it sounds like your team was pretty inefficient.
                      You draw very strange conclusions! The opposite is the case: Our team consisted primarily of highly experienced developers and was one of the most efficient I’ve seen in my life. Btw. our team was the first to complete our work within the scope of the bigger project (consisting of many teams).

                      Most importantly, we did not only do our primary work, but we also identified and removed redundancies, thus improving code quality, and did quite a few refactorings in order to clean things up. Furthermore, we reduced boilerplate code (older parts of the software were not yet using newer technologies like IoC with dependency injection). In short: We reduced the technical debt, significantly.

                      All this would not have been possible, if everyone had only cared about his immediate task without looking and thinking around and beyond.

                      > because I really don’t care what those 16 other people are doing
                      Well, friend, sorry to say this: This statement implies that you’re quite ignorant.

                      I prefer to understand the big picture. I like to contribute improvements that I could not devise without looking behind my own nose. And I made very good experiences with this strategy: Not only keeps it software development in general and the projects I work on *interesting* to me, but also was I able to significantly improve the overall code quality in every project I worked so far (or kept things clean from the beginning, if I worked in a project from its start).

          • I care what my Scrum team is doing, so that is the value of having a daily Scrum stand-up meeting.

            Since my team is all working on the same feature, at the same time, working on tasks to complete the joint objective… knowing where everyone is at, and what they are stuck on, and what’s about to be available as we’re all cranking away on that same thing. Very, very valuable use of 15 minutes.

            However, a daily non-Scrum-team stand-up meeting where everyone is working on different things, and no one is on the same team, and your work doesn’t impact anyone else, and your (non-team-mate) co-worker’s work doesn’t impact you… then that’s not a daily Scrum stand-up meeting. That’s a useless status report amongst people that don’t care and have no skin in the game regarding each other’s progress.

            To have a daily Scrum stand-up meeting you need to have a Scrum team — which are all working towards completing the same product backlog item.

            No Scrum team, no need for a Scrum team’s daily stand-up meeting.

            • Exactly correct! If your entire team is always working on a single project, then Scrum makes sense.

              But most teams find themselves dealing with many smaller issues which change the existing code base. So everyone is not working together. Rather, they need a little coordination to avoid “working together”, to keep their separate projects separate. But I only need to know the way other team member’s work might impact my own, and a general idea about how it changes the code base so I will be informed in the future when I do some work on that part of the code. Because of its rule that only progress reports are are allowed, Scrum standup doesn’t accomplish this; it block it by giving the appearance of communication without the substance, thus discouraging the communication which is actually needed.

      • “Hire a really good team of engineers and get the fuck out of the way – we are perfectly capable of designing for change”
        ____________________________________________

        There you go. That’s exactly what Agile says. The only change would be “Get the efff out of the way and come in only when I have a problem and call you for help”

        Going by the story you have narrated, the manager your management hired is anything but an agilist. Scrum does not have room for fanatics. “Inflexible Scrum” is oxymoron.

      • In regard to flow state, the advantage of the daily standup isn’t what goes on in the meeting; the advantage is that it’s very brief and it replaces ALL OTHER MEETINGS about the project during the sprint… with the exception of those that you the developer *want* to have to solve specific problems as they arise.

        If the daily standup is not accomplishing that, then I agree it’s an impediment. I’d argue the problem is with management for doing it wrong.

      • “In the name of productivity engineers have to dumb down what they’re doing and explain ad nauseum to people not qualified to understand.” That’s IS an insult , to any self-respecting engineer.

        • Yet it IS what happens in most scrum stand ups. This I know from experience. For people that are insulted, I say study and learn (like I had to do).

    • The common myth is agile is adaptive and “every team can tailor it for its needs”. In reality it means you have to implement bare minimum: stand-ups, story points, capacity/velocity metrics, two-weeks sprints, scrum of scrums, backlog grooming/planning, reviews and retrospectives. And after that you’re free of course to tailor whatever its left of your project time.

      • All those activities should not take more than 10-15% of your time and it’s much better than the traditional weekly status review meetings + change management meetings which take more time.

        • Are you under the impression that most workplaces have cut the status review meetings and change management meetings, rather than just adding the agile meetings on top of what was already there? Stakeholders don’t bother to show up to standup so you have to communicate progress with them somehow.

      • Have you realised how many mature agile teams dropped those parts of scrum (not AGILE) that was unnecessary for them? e.g. estimating and velocity. And sure, you can skip grooming and planning, but somehow the team should know what to build next and should understand the tasks. You are not *expected* by agile to spend hours and hours on meetings if they are a waste; on the contrary, the philosophy behind scrum is to get rid of waste. So whatever you do and not helping you to deliver what your team should, your team should not do. But it’s much easier of course to say “we are doing scrum” and just introduce the typical scrum ceremonies. That will definitely not help anything.

        • Exactly. None of those things are required to be Agile. Most of them aren’t even required for Scrum. The term “Cargo Cult” comes to mind when I read this article.

    • @emaghsoudi: The answer to your question is yes.. but it requires really good managers to adapt like that. I’ve seen situations where literally every manager but one was terrible. In those situations the process is meant to substitute for intelligent management, with predictably terrible results.

      Scrum starts out thinking everyone is thinking and of excellent quality.. this is my precise problem with it.. it doesn’t recognize that in the real world frequently we are stuck with less than optimal people to get things done.ESPECIALLY non-optimal managers!

    • 1. No is not. The main problem with agile is that it is a series of continual sprints. Sprints do not work this way. Look at sprints in running. When sprinting you force yourself to be at top capability. This means that you face exhaustion at the end of a sprint which means you need a time to rest. But Agile puts you to run in another sprint instead. This means the developer gets burned out. There are times when such type of things are necessary. For instance if the product deadline is close and there is still work to be done but not continuosly. Your solution is apparently making the developer that is already tired to run even faster (hackaton) because the solution to a problem is doing things even worst. The second part of the problem is the useless meetings and the need to register everything. This is a problem especially since some tasks cannot be atomized without loosing software integrity and coherence. Agile starts by assuming atomizing is always possible, but except for web design it is usually not possible without destroying any coherence or sense of quality from the software.
      2. The solution is a milestone system. It is not by any means the only alternative but it is a good one. Once a milestone is reached changes that are more complex than x will be denied. If they are absolutely necessary the milestones will be moved, more time allocated and the customer will be charged much more money. This was a model used before Agile and the false Waterfall/Agile dihotonomy. Scrum and Agile actually does the opposite of what you said: it allows the customer to change requirements whenever and however they want. So basically it gives the power to the “bussiness part” to quote you “to ask for everything under the sun” for free. If you say you like standups maybe you do not have real work to do. A simple 5-10 min standup equates to 30-60 minutes lost from the work day because it takes time to return to the task you were doing unless you are somekind of robot… but hopefully Skynet is not yet self aware. In most serious projects is the responsability of the customer to clearly explain what they want and the responsability of the Managers to translate this into project specifications for the programmers. But of course none of these do they work anymore.

        • The Agile Manifesto does not prescribe almost anything. It just gives extremely vague directions on what needs to be done. This makes it almost impossible to contest because almost every type of design process except the original Waterfall which was never used except as a straw man argument by agilists implements most of its directions in one way or another. When we are talking about Agile methodology we are not talking about the extremely vague manifesto but of the metodologies that call themselves Agile. The most prevalent of those is Scrum which does prescribe sprints.

          • “It just gives extremely vague directions on what needs to be done.”

            I’ve got a lot of time for your arguments against scrum – any process followed at the expence of communication and getting the job done is going to be destructive ( one could say “individuals and interactions over processes and tools” ) .

            But your constant arguments against agile don’t seem to be as well considered – which leads me to question if the inclusion of “agile” in the title was an attempt at clickbait or seo?

            I can’t remember any part of where the agile manifesto suggests directions. Its really clearly a summary of the practices which some expererienced thought leaders had found were common in successful software development projects – it even open and closes with clear statements stating it was the result of the experiences of the signatories – read it, it’s blatantly clear:

            Manifesto for Agile Software Development

            We are uncovering better ways of developing
            software by doing it and helping others do it.
            Through this work we have come to value:

            Individuals and interactions over processes and tools
            Working software over comprehensive documentation
            Customer collaboration over contract negotiation
            Responding to change over following a plan

            That is, while there is value in the items on
            the right, we value the items on the left more.

            • This bears repeating

              Agile was created by commercial IT folks who believed Waterfall was the problem. While Waterfall does have issues the problems were lack of best practice use and under bidding/estimating. Commercial IT rarely uses best PM or software development best practices. This, to the authors point, makes Agile worse. The reason for that is that the usual inexperienced and/or unscrupulous IT dev manager bastardizes the practices even more and eliminates upfront scope, cost and schedule due diligence. This results in no project level data for any oversight. Thereby allowing for eternal software development work based on almost zero cost, scope or schedule accountability. Having said this Waterfall can suffer from trying to know too much upfront and being boxed in by that. Given this my suggestion is to use a hybrid. A best of both approach to mitigate the weaknesses of the other. A DSDM like with actual best practice use. Those being for example – EVM, WBS, schedules with dependencies and critical paths shown, productivity, defect density, rework and scope volatility metrics, root cause data, RTVM etc.

              For those citing Google and Apple. Those companies are in their heyday and are making tons of money. But doing so at a massive and avoidable cost. they are insanely inefficient. This will come home to roost. Examples – Blackberry and Yahoo.

              The core problem is that far too many folks only know what they know. Most people are from commercial IT where very, very few best development or PM best practices are used. Heck I bet than less than 10% even know what CMMI is or what it means to be a Level 5. Decades of this has ruined the experience base ;leaving leads to think they know what the best practices are when they have no clue. The loop will continue except for those rare places where someone comes in from the outside, probably DoD, has the courage to drive change and beats the culture back. Lightning striking the same spot 10 times in a row has better odds.

            • value Individuals and interactions over processes and tools: how? and what does his mean exactly? doesn’t it seem extremely vague to you?

              Working software over comprehensive documentation – this is just wrong. yes working software is the most important but without comprehensive documentation it cannot be maintained or updated. People change jobs all the time. If a new person comes to the project the lack of comprehensive documentation makes his work sisifian and inefficient. Also Waterfall provides a working software, agile does not. Software that partially works is not working software.

              Customer collaboration over contract negotiation- each time a customer wants an important change this means more time of work and should mean more money paid by this customer. this is normal way of functioning because work costs. The customer should collaborate to the project by saying exactly what he wants. The customer is usually not technical so he cannot contribute in technical details like the structure and such. Having it collaborate in this is problematic. So I disagree with this.

              Responding to change over following a plan- again wrong. A structural plan is absolutely needed. If you would build a house following this motto it will collapse at the smaller pale of wind. There are some basic structural things that needs to be known from the start. Changing them late in development usually means redoing at least 60% of work which is immense. And the customer should pay for this change. You cannot weasel out by saying respond to change over following a plan. This may work in the business work, but in the real work it does not. That does not mean everything has to be planed up front but to remake the house analogy you cannot tear down a sustaining wall/pillar without major rework.

              • I think this is a popular misconception with Agile. Just because we value the left statement more, does not mean we don’t also value the right. Does not mean we do not document or have a plan

                In fact most decent / mature Agile deliveries I’ve seen delivered more comprehensive documentation than most Waterfall projects I’ve seen as it’s built into the definition of done per sprint and not squeezed into the end phase of a project and, often, compromised in Waterfall.

                Equally, Agile does not mean no planning, it means planning is continuous, but does not mean following an initial plan by route, rather re-planning as evolving circumstances, opportunities and threats occur and making the plan transparent as well as the reasons for change.

                • actually most if not Agile teams use that statement to avoid any documentation whatsoever.

                  Again is wrong to call a project Waterfall as Waterfall was not used by anyone in its pure form.
                  About done by sprint here is a big issue: some things cannot atomized enough to fit into your neat sprint. Also testing cannot usually be automatised so Agile fails once more.

                  Agile means you change the plan so often that no one is sure how a feature should work internally by the end of the sprint. The reason for change is because the client had a bad idea while sitting on the toilet. Or because he saw something at another similar and thought it was neat although usually it is just dumb.

                  Please stop with your idealism and smell the roses . The reality is that Agile was designed for whiny undecisive customers that do not know what they want.

                  • You don’t appear to be describing agile. Gary pointed out that agile recognises the importance of processes, documentation, contracts and planning, but seeks to suggest appropriate priorities for these concerns.

                    You seem to be describing anarchy, which isn’t agile. It seems to me that you may have experienced a misadventure in change, for which “agile” has been declared the scapegoat. This seems, unfortunately, to be a common misadventure, which I suspect is to do with either ignorance of, or contempt for process and culture management within IT.

                    • what can I say? if it walks like a duck and quacks like a duck… every agile implementation out there is like this. Is just that many choose to turn a blind eye to this reality of Agile development. Maybe there are 1 or 2 exceptions to this but in majority of cases this is what agile is.

                    • Again. Those of you with only commercial IT experience none in DoD (or the like) where actual best dev and PM practices are used are not seeing the forest for your trees. The issue is not Agile vs Waterfall. It is that you literally don’t know what the majority of the best practices are. That and not understanding that the best method is one that employs the best of Waterfall and Agile to mitigate the other’s weaknesses are the solutions. You need to get out of that forest to see how incredibly off your understanding is.

                  • Most documentation created during a sprint is of little value months later. What was coded in one sprint will be improved in a later one. So “sprint level” documentation is of little long term use.

                    Actually useful documentation includes: (1) Documentation which appears as comments in the code, which will be changed in the future if the adjacent code is changed. (2) System level documentation such as data structures, whose documentation should be attached to the structure definition, just as the code’s documentation should be a part of the code. (3) Test cases, which quickly lose all value unless maintained and exercised regularly.

                    Since documentation which tracks what happens within the sprint “spoils quickly”, it is, as agile suggests, kept minimal.

                    • “Most documentation created during a sprint is of little value months later” yes because when someone wants to work on a piece of code he has never worked before he must do detective work every time and assemble dozens of jiras and talk to dozens of persons just to understand what the fuck is happening with that code. This is my experience with Scrum “documentation”.
                      ” Documentation which appears as comments in the code, which will be changed in the future if the adjacent code is changed” and most Agilist do not put enough because they are pressured to write the code faster and faster.
                      “System level documentation such as data structures, whose documentation should be attached to the structure definition, just as the code’s documentation should be a part of the code” inexistent in Agile
                      ” Test cases, which quickly lose all value unless maintained and exercised regularly” more detective work.
                      What you seem to fail to understand is that documentation is invaluable to anyone new to the project or even the section of the code. Because otherwise is detective work going through dozens of jiras and mails and so on until you can figure out what the code was supposed to do. Sometimes moronic clients make requirements changes so often that I have trouble keeping track even with the changes I made. This is stupid. Agile MUST DIE!!!

      • I agree, Rational Unified Process uses Milestone system. RUP is more heavier on documentation than Agile but all the templates are defined for you so you can easily fill them up and the whole document framework can be easily created for every project. Requirements and design phases are more in focus at the beginning, until they become more stable and less prone to changes.

    • Yikes. Slopping up technical debt caused by poor management practices is not anyone’s idea of a hackathon they’d want to attend, and if you’re forcing people to attend hackathons you’ve missed the point…. again. “Business partners” don’t always have 100% perfect insight into what’s needed to create a good product and if you leave it to them you end up with a pile of junk, because they will always dictate corner-cutting in favor of speed.

  8. > Programmers are, in many cases, expected to provide humiliating visibility into their time and work, meaning that they must play a side game of appearing productive in addition to their actual job duties

    It’s only humiliating if you don’t get much work done. This is a benefit, not a gotcha or failure of the process. What are these “actual job duties” if they aren’t documented in the process?

    • It’s also humiliating if you believe “appearing productive” isn’t a core job duty.

      As for what they are — think of refactoring and other repaying of technical debt. Not big debt, but the small kind that accumulates constantly. You *can* pay it down, but the process gives you every incentive not to.

      That’s irresponsible, and adds up in ugly ways. A Scrum codebase, being kept in a state of perpetual emergency, quickly comes to reflect that fact. “No time to fix it now, I’ll go do features.”

      You could say that engineers can just communicate that technical debt to the business and wait for them to realize that they need to fix it. Ever tried that? I have a number of times. I have a pretty good idea how it comes out.

      • I don’t understand what’s wrong saying “I was working on refactoring this module yesterday” as status update. That’s the reality.
        On technical tasks, if you don’t understand why the task is important for business and what value it’s going to give to business, then you shouldn’t be doing it in the first place. Refactoring giving no business value, is not worth doing at all. Never do refactoring because “you feel code is ugly”. Do refactoring only when “it’s slowing our new feature delivery”, or “it’s increasing our bug count”, or similar business reasons.

        Nobody gives a damn about how ugly your code looks, because business doesn’t know how even the good code looks like. So, STFU and find business value of refactoring.

        • “…business value of refactoring.”
          Security. Long time criminally undervalued and a hefty price to pay nowadays.

          • Sorry, can you please elaborate? I don’t understand what you mean.
            Are you saying business value of refactoring is security? But that doesn’t make any sense.

        • > Do refactoring only when “it’s slowing our new feature delivery”, or “it’s increasing our bug count”, or similar business reasons.

          The new feature comes with a deadline, so refactoring can’t be done anymore. So you try to cram the new feature into the codebase as it is leading to more and more ugly code making changes more and more time consuming leaving less and less time for refactorings.

          • >> …. So you try to cram the new feature into the codebase as it is leading to more and more ugly code making changes more and more time consuming leaving less and less time for refactorings.

            And that’s the trap developers goes into. If you already know you are not going to be able to deliver the functionality (including quality), then tell that to customer instead of increasing the mess. You know that’s exactly what gets us into the mess. 😉

            Of course, it’s business’s decision to say “okay, I will pay this cost now, so that I get the quality”, or say “I have to market this thing now ahead of competitor, I will worry about the quality later”.

            • I agree. I think that it’s also important to consider refactoring separate from quality. Quality is about meeting requirements. Refactoring is reorganizing code based on a particular expectation of change which may or may not happen.

              I think “technical debt” is a poorly thought-out concept. It’s really projected future cost. Like all projections, it’s speculative and the costs may never materialize. If you’ve refactored in anticipation of those costs and they don’t occur, you’ve wasted your resources.

              • > Quality is about meeting requirements.
                This would be true if correctness, performance, security, usability and maintenance costs (i.e. overall quality of the product) were always thoroughly considered when talking about requirements.

                > If you’ve refactored in anticipation of those costs and they don’t occur, you’ve wasted your resources.
                Sorry but I think this is just paradoxical and circular.
                These costs not occurring is most probably the result of fixing the problem early in the first place (unless you are just plain lucky). Sadly, the other way is more common, i.e. “no time right now” to create solid design or architecture, or to fix well-known issues and the mess we created – often referred to as “refactoring” with a grin, as if it was a developer hobby.

                On the other hand, experience shows that poorly built things (buildings, roads, bridges, companies, hardware, *software*…) *do* break eventually, if they make it into production at all. I wouldn’t necessarily call this speculative.

                Bottom line:
                I think “technical debt” is the most valid and tangible concept around in software development.
                I’ve never seen any project get away with unhandled technical doubt, i.e. “technical debt” not being repaid with huge “accumulated interest”, be that extended project timeline, scoping down, staff replacement, or total project failure.

                  • It’s especially haunting when you open up some of that spaghetti code and run “Annotate source” or “Git blame” in your versioning system and it feels like looking at the Vietnam memorial wall.

              • Quality is not about meeting requirements but about meeting expectations, stated or not. Requirements are fundamentally incomplete. Code is an exact documentation of the requirements. The computer interprets the code/requirements and executes them exactly as written. Human language “requirements” are inexact and quire creative interpretation. If they were exact, we could make a computer perfectly interpret and execute them.

            • “then tell that to customer instead of increasing the mess” the problem is the customer of an Agile project in most cases is a complete moron and as a result is so conceited that he will not listen in the best case scenario and will choose someone else in the worse. Agile transforms the client in a whinny baby. If you ever had to deal with children you will have had the situation where you tell the child that something he does not like needs to be done. No matter the arguments a spoilt child will keep asking “But why?” until you break and either do it his way or say “Because I said so!”. Problem is you cannot say “Because I said so!” to the client. So you end up dong what the moron tells you to and when the shit hits the fan you show him that you warned him this will happen but it does not matter anymore.

        • > On technical tasks, if you don’t understand why the task is important for business and what value it’s going to give to business, then you shouldn’t be doing it in the first place. Refactoring giving no business value, is not worth doing at all. Never do refactoring because “you feel code is ugly”. Do refactoring only when “it’s slowing our new feature delivery”, or “it’s increasing our bug count”, or similar business reasons.

          But a business stakeholder probably doesn’t…

          > Nobody gives a damn about how ugly your code looks, because business doesn’t know how even the good code looks like.

          Ah ha.

          He’s not saying engineers shouldn’t communicate what they’re working on and articulate the value, he’s saying it’s a losing proposition for the engineer if every choice is beholden to managements’ judgement. If I’m the expert on whether refactoring a chunk code will add value and I judge that refactoring is worthwhile, what rational choices does a manager have other than “okay, do it” or “no, I would rather not have additional value today”? If management can’t make meaningful judgements at that level of detail, why should they get involved beyond ensuring the engineering team is achieving their goals?

        • If the present code looks ugly, nobody cares about the future code. If the present code looks ugly, nobody understands it. Beautiful code is the art of solving the problem of feature, maintainability, testability, readability, chosen language, programmers state of joy and a too short life.

          Programmers tend to get frustrated over ugly written code – nobody wants to clean the shit of someone else or to get trapped in someone’s weird ideas (here comes too short time and too much junior into play).

          So my experience is, that people anyway will avoid certain tickets and try to get involved in other tickets, because the code has a certain ownership. In the end ugly code breaks up your team. What are you going to tell the man, who is asking you: Why are you leaving that shit on my way? Are you telling that ugly code has more business value than beautiful code?

        • Refactoring “ugly” code isn’t about aesthetics, it’s about maintainability. And the bottom line is no matter how good you are, if your code isn’t maintainable, then it’s worthless. Always code for maintainability over everything else, because if a decent coder can’t look at your code and immediately see what’s going on, not to mention make changes, then your feature development, ability to fix bugs and patch security holes slows exponentially.

          If your coding practices and processes are done properly and in place, then when your lead developer gets hit by a bus / gets a better offer you don’t immediately lose your competitive advantage. This make an enormous difference for the saleability of products and companies.

          I’ve seen a lot of businesses die because they go hell for leather getting their MVP or new featureset done, then very soon find out that ongoing maintenance and new directions are going to require way too much work or a rewrite.

        • This can be correct in some cases, and not in others.

          Apple turned into the biggest corporation on earth because they had a good, clean, object-oriented operating system which, when the need arose, could be ported to a phone!

          Windows, on the other hand, simply couldn’t be ported to a phone – there was no way, and no amount of money could make it happen. Other players at the time – Nokia – couldn’t compete with the iPhone thanks to crappy Symbian software.

          So it all depends. Good code can make or destroy a company. Good code can also be a waste of time – this most often happens when there is premature optimization on the engineers part (e.g. spent the last week refactoring so you can scale to 100M customers when your actual problem is acquiring the first 10 customers).

    • Appearing busy is the opposite of productivity. For a coder, nothing is easier than to appear busy. If the status meetings turn into a beauty contest to management who knows nothing about coding, I can guarantee they’ll never know who actually gets things done and who doesn’t.

      I had a corporate client where everyone was “very busy” with constant meetings and status sprints and whatever else. But hardly anything ever got one. Productivity was a factor 10 lower than I was used to in this place.

  9. Thanks for writing this Michael. I agree putting all your faith in any tool, language, framework, etc is a bad idea. I really would like to see you write about microservices. I think we need some discussions to again call it like it is since 1) I think most of it is not so “new” and 2) like agile/scrum not for every project. Probably we could try and prescribe when and where such things have highest probability of success?

  10. Michael was most likely part of mismanaged agile project. All of his claims about agile are made up or misinterpreted from bad project that dont use or misuse agile / Scrum principles. Poor Michael

    • I had my share of scrum/agile projects and I fully agree with Michael. Scrum/agile done by the books is horrible for productivity and quality. Even more so if its established/controlled by upper management.

    • No True Scotsman, yes?

      So how does one determine a good Agile/Scrum project from a bad one? And why aren’t those indicators front, back and center in any Scrum training so bad Scrum projects don’t happen?

      • Well, if your product owner and scrum master outrank your developers, you’re failing at Scrum. If you’re being punished for making long estimates, or for tasks taking longer than estimated, then your scrum master is failing to respect the team’s judgement; the stand-ups are there to highlight impediments and the retrospectives are there to determine if the team was lacking information or manpower and how the business can either help support the team, or else modify their completion estimates to compensate.
        How is the business supposed to make reliable judgements about development times if they ignore the judgement of senior developers, or even junior developers, and make up their own estimates about how long something ought to take?
        Michael made an argument about not having time to try something which might fail – but Scrum lets you make time. You factor doubt into your feature estimates just as you do complexity and effort; a task you don’t know how to complete will take longer, so its estimate will be high. Or you create a ‘spike’ task explicitly for experimentation.
        And yes, ‘sprints’ of ‘war room’/’crunch time’ mode are bad. That’s why you estimate tasks so you can work at a sustainable rate in an iteration without burning out.

        So I’d say the indicators of a good Agile/Scrum project include being able to be honest about when the business isn’t supporting the team, isn’t clearing impediments out of the way (there does need to be a less intrusive way of recording the hours) and is making unrealistic expectations about productivity.

      • Yes and no. This is where I have trouble, because on the one hand No True Scotsman, and on the other hand, I’ve witnessed non-violent transparency, strong stakeholder participation, collective ownership of the code, and it has all led to really good results. I’ve also witnessed violent transparency, weak stakeholder participation, and juvenile redesign tug-of-war in code, and that has all led to predictably poor results. I’ve noticed a pattern in the cases of poor results: enterprises adopt a defined process that takes the easiest-to-implement elements of agile software development (writing tests first, sprints, backlogs, having a Scrum Master, tracking velocity) and ignores the most effective ones (rapid market research and feedback through delivery, stabilising teams, involving programmers in the business in order to develop ownership of the product, ruthlessly eliminating any unnecessary work, allowing mutual voluntary transparency to develop, ruthlessly planning to measured capacity).

        I don’t call this No True Scotsman. On the contrary: clearly some people are missing the point of agile software development. Many. Most, it seems. I understand why.

        If you’ve never seen it work well, then I find it reasonable for you to conclude that it doesn’t work. I’ve seen it work well, so I’m left saying, “Maybe you missed something.” Maybe. It annoys the hell out of me, too, when someone assumes that you must have missed something. I say “Maybe”.

        As for your second question, the forces that lead to doomed agile adoptions are much, much larger than a single person can handle. An executive who believes that “Only by demanding the impossible do I get greatness” has a fundamental, philosophical opposition to planning to measured capacity, and will instead use team velocity as a club to beat the programmers about the head. That’s just one example. How the hell do you expect two days of Scrum training to address that problem? That’s a religion-level difference of opinion. It’s a clash of worldviews. That, I think, lies at the heart of why so many people think agile doesn’t work.

        When I teach this stuff, I tell people plainly about two fundamental, diametrically-opposed assumptions focused around how a person reacts when mistakes happen/things go wrong/they encounter results they don’t like. People generally believe one of two things: (1) We need to think longer and harder about this in order to get it right next time; or (2) We need to get more feedback sooner in order to get back on track sooner. That’s one snapshot of the difference in worldview that I see. The people who tends towards (1) will find agile anywhere from annoying to insane. The people who tends towards (2) tend to succeed with agile, assuming that they can find the resources (ideas, money, time, and people) to do something valuable with the feedback they gather. (Some people never improve their lives, but they enjoy buying self-help training so that they feel like they’re doing something.)

        That’s how I see it. Like I often say, I live where No True Scotsman meets But You’re Missing The Point. Opponents find it so easy to brush off “You missed something” with “No True Scotsman”. I’m not moving the goalposts here. Many people out there are kicking the ball in entirely the wrong direction, and people like the author of this blog post end up hurt as a result. I don’t want to see that, but as long as some enterprises are run by executives and managers who believe in beating people to get results out of them, and as long as those same executives and managers golf with other executives and managers whose companies have “gone Agile” and find it fashionable to do the same themselves, then those enterprises will continue to miss the point, perpetuate the cycle, and burn well-meaning people out, like the author of this blog post, who remains left with the impression that agile did it. I understand. I think it’s wrong, but I understand. Fundamental Attribution Error. We all make that mistake.

        • Isn’t Fundamental Attribution Error the one where I act how I act because of temporary circumstances, but you act how you act because That’s Just How You Are?

          If so, I’m missing the connection to the previous topic.

          • My mistake. Ignore the Fundamental Attribution Error bit. I mean to say that one blames one’s failure on the rules, rather than questioning one’s application of it. “We tried baseball and it didn’t work.” No True Scotsman does not absolve one of the responsibility of understanding the fundamentals of what one is being advised to do.

        • WordPress ate my longer version of this comment, but…

          Michael is saying, among other things, that applying the Scrum rules as written often gives a bad experience. In fact, a much worse experience than *not* applying Scrum rules. I’ve worked at a number of Scrum shops, I’ve read the book, and I agree.

          When you say, “there are a set of things which, if your workplace is already good and healthy, will make Scrum work well” I’m inclined to say, “good people trumps good methodology. So why are you focusing on methodology, and worse, on methodology that makes bad people worse?”

          I used to consider Scrum an interesting experiment in how to do project management. Having now worked in four shops doing Scrum, punctuated by one that didn’t, I’m now basically of Michael’s opinion.

          Scrum is a set of rules that must be carefully applied by good people or they actively do harm. In a workplace of less than 95th-percentile quality, that’s a recipe for disaster.

          • I agree with one addition: applying the Scrum rules as written *without listening to the feedback that the pain in applying those rules exposes* often gives a bad experience. When 50 kg overweight, one tries to do sit-ups. One does 10 of them, then feels sharp abdominal pain. One summarily decides “sit-ups don’t work”. The fat, not the sit-ups, causes the problem.

            We used to write often that agile/Scrum shine a light on problems; you then have to decide whether you want to fix those problems. When you shine a light in your basement and see 100 cockroaches scatter, the light didn’t put those cockroaches there.

            • Reviewing the Scrum guide (http://www.scrumguides.org/scrum-guide.html), I’m reminded that I’ve never actually used Scrum. Indeed, almost nobody has. It bans titles other than developer (“no exceptions”), subteams (“no exceptions”), and requires that the team is self-organizing and fully cross-functional.

              I had thought Michael was doing a pretty good job in his article of picking something specific to address as Agile, but I had forgotten the extent to which nobody actually does Scrum.

              With that said: I agree that a lot of the problems that Scrum shows are real and not caused by Scrum. I’m bothered that often it makes the symptoms of those problems worse. It’s a little like if you had a great diagnostic method that also caused harm, but only to sick people. Is that a good thing? Well, maybe.

              • Scrum gives the middle finger to specialties, which goes back to MOC’s point about Scrum having little interest in one’s career. If I want to specialize, or am really good at something, or happier doing something … not allowed.

                There’s also the concept I’ve seen proposed that “the team succeeds or fails, not the individual.” I don’t buy this concept. Stronger team members end up supporting the weight of the weak, and no one is allowed and excuse of “not my specificity.” Nothing is outside of your job description, whether that be writing Cobol, cleaning toilets, or stripping for clients.

                > I agree that a lot of the problems that Scrum shows are real and not caused by Scrum.

                “In a perfect world, scrum works:” Maybe, but the world isn’t perfect, and neither is scrum. Even in a perfect world, I disagree that scrum is always the right way to do things. Solutions should be designed around the problem, not the other way. “Jesus is the answer” but I didn’t even ask my question.

                Is scrum ‘revealing’ problems, or is it exacerbating problems? I’m not denying the existence of problems, but what if it’s just making those problems worse?

                  • In addition to the above, please also see this video from Dave Thomas:

                    “Agile is Dead” https://youtu.be/a-BOSpxYJ9M

                    Robert C. Martin (“Uncle Bob”) and Dave Thomas are longtime software developers and were both present at the original meeting where the “Agile Manifesto” was created (http://agilemanifesto.org/). In these two videos, they describe the history of software development problems in the 1990’s that led to the creation of Extreme Programming, Scrum, and “Agile”, and how a good idea has been hijacked and has mutated into something harmful.

        • To look at it another way: emergency powers for leaders and crisis mode can also lead to really good results. It’s still a bad idea 98% of the time.

          • I struggle with this one. On the one hand, yes, any crazy recipe can be made to work by sufficiently-determined people. On the other hand, I see a significant, clear difference between martial law and agile software development!

            We come back to the clashes of worldview. Dictators can always seize power temporarily, but the long arc of time bends towards justice. From this you can believe either that dictators have free rein to run parts of the world at their whim and leisure or you can believe that dictators will always fail. Two reasonable interpretations of the same observations. So it is with agile: people fail 95% of the time with agile (mostly, I think, because of a fundamental clash in worldviews with many established business practices in general and software project management practices in particular), but the 5% who succeed never, ever want to do it “the old way” ever again. Never.

            There’s something there.

            • On the one hand, that’s fair. I can’t say “I’ve used this in several places and it caused problems, therefore it always causes those problems.” If you’re right about the 95/5 thing, no wonder I’ve never seen it work.

              On the other hand, be careful with this argument — even with crisis mode, crunch time and martial law, 5% or more of people “succeed” and never, ever want to go back to the other way. Alas, that explains things like the games industry and most modern police departments.

              I worry about Agile *specifically* because of who I see be enthusiastic about it. I wish I had camera footage from my last round of job interviews because it was a place that *loved* Agile, is famous for it, makes well-known Agile tools and could have stepped directly out of Michael’s article.

        • Hi Joe, very well said! And I concur with your assessment.

          (Also I’ve also really enjoyed all your presentations I’ve seen. *hugs* I find your efforts to be very encouraging. My many thanks, keep up the good fight!)

      • In my experience, I have come to believe that there is no such thing as a real good Agile/Scrum project. In all versions I have encountered, quality suffers, and no clear management structure exists. If anything, I think Scrum makes it, even more, possible to brush issues/bugs (even those caught by developers) under the rug.

    • What a surprise – if you have a problem with SCRUM then the problem is you. Standard response – thanks for the null input.

    • @Sila: sila is obviously young and hasn’t seen the type of terrible results agile can create in organizations that don’t have the personality/domain makeup required for it to work well.

      I’m saying this as a 33 year veteran with 13 years of management experience. I’ve seen agile failures for quite a while now.. my question is, where is agile succeeding? I’D REALLY LIKE TO KNOW!

  11. Pingback: Why "Agile" and especially Scrum are ...

    • No good answer. It could be hard to find a methode which is not containing more than a bit of the others. If this is the plan, the engineers need more time to find the “right” methode than to make the job.
      And: There is no perfect rule to choice. It’s depending on the project type, size and integration. And finally it’s depending on the people’s team skill. A lonesome wulf is a lonesome wulf. I any kind of project.

      • You hit the nail. I’ve worked with “Waterfall”, “Scrum” and “XP”, and the best results came from an “unknown methodology”: A mix of them. Is it Agile?, yes, but it is not Scrum.

        1) Identify the modules (as in old waterfall)
        2) Decompose the module in functionalities
        3) Develop functionality and deliver to be tested (not in production at all) (an Agile approach)
        4) Get feedback from the business (as you are still developing the module, it’s an early stage)
        5) Convert the feedback into new functionality
        6) When the module is ready, release it (waterfall again?).

        The problem with this? It’s a pain in the neck for Project Managers, because of step 5. They need to know ahead the cost per module, but there is no way, because new functionality can be found during the development (Moreover if you are using UCD). That’s why everyone should be screaming to the PMs and Managers: Estimation is not commitment, look for “uncertainty cone”!.

        • I would add ‘repeat steps 4 and 5 as necessary’. This would be what I have always called ‘iterative development’ and what has always worked best for me, producing stable, feature rich, bug free code. I say this having developed software since 1978 (the days of the big orange Yourdan design book). The companies I worked for that adapted agile were always a disaster and produced (very inefficiently) buggy spaghetti code. Because of the 2 week scrum schedule pressure, there was never time to rework buggy, poorly written code. All of the emphasis was on getting to the next user story as quickly as possible. Taking longer than anticipated on a story was strictly forbidden. It also tended to benefit entry level and clueless team members to the detriment of the more experienced team members. This article accurately describes my experiences with agile/scrum development.

    • I came across the Spiral Model – http://en.wikipedia.org/wiki/Spiral_model – which is related to something we do anyway in scientific work:

      1. Identify the problem to be solved, or identify what needs to be improved.
      2. Devise a plan, and define what is a success. How shall we tackle the problem?
      3. Carry out the plan.
      4. Decide if the goals have been met. Success? Failure? Sum up what we’ve learned.

      After each cycle ending with 4, we begin again with 1. This is often done informally, as steps 1 to 4 often result in a single published scientific paper anyway. So it’s rather somebody else that’s picking up at step 4, and beginning his own work at 1.

      Anyway, we very often have mixed assignments: Something should be ready in three days, another thing must be finished in four weeks, another project in five months. We don’t change projects/tasks every week, as Agile seems to imply. Remarkably, I don’t think we’re piling up technical debt at any significant level.

      But again… we’re not driven by “business”, though about half of our projects are privately funded.

  12. Truth spoken. The precious knowledge of skilled programmers being held hostage of the business. They fooled us so well that I know countless developers that are actually proud of being part of a Scrum process, not because makes things easier, not because delivers better software, just for being part of a hype, created and enjoyed solely by the business.

    • Seriously, if you ignore the knowledge of skilled programmers then that is definitely not a problem of Scrum or Agile.
      I work in a company living Scrum and I have influenced a lot of decisions with my “little” experience and knowledge.
      Therefore of you think you have knowledge that is important speak with your team about it, the team itself decides how things are implemented. Definitely it is not written in stone but the point is to improve your way of working and if your knowledge is held hostage I would say first point improving would be to start changing that 😉

      • Fabian – I’m glad you’ve had positive experiences. However your response reads as a standard SCRUM devotee – anytime someone like me (or the OP) discusses the serious issues with it the response we get is “the process is fine – you’re just doing it wrong”.

        • Yes I can see that. Sometime it is helping to sleep a night over. But back to topic, I know there are a lot of problems and as far as I can judge it is because Scrum in general can be interpreted and adopted in many ways, some work, some do not.
          In some cases people blame it on Scrum, in some cases they blame it on Management in some cases they blame whoever. I blame myself sometimes 😉
          When I have read this blogpost I was a bit shocked about how “aggressively” the writer is against Scrum and/or Agile and as Scrum works for me I get into the thinking that something went wrong on the writers side.
          As what Scum is, is written down the same for everyone, it does not work for everyone the same way, so I would say the problem is neither the process nor the writer or everyone it didn’t work out. I think the problem is shifting to the environment and situation around.
          Well Scrum is really open actually, so that is why the process might be the problem for a lot of people, can we agree on that?
          As Carlo has written, he points out that knowledge is held hostage. That’s something that should not happen. Question now would be why he is thinking it is held hostage? I think as a developer I should be free to use my knowledge to improve whatever product and process is used, help out my team as much as I can.
          I can agree that some companies do “use” Scrum or Agile because it is fancy pancy and sometimes it blows up badly, sometimes it works out.
          But I am drifting off. I think the process can be fine, but is not fine for every situation and environment. Best would be to empirically try it out and improve it if it does not work out, that would be an Agile way, tailored exactly for the situation over time.
          Who is to blame? Noone! Instead of saying what is bad it would be way more interesting on how can it be improved or what people do that can work as that definitely would be more productive.

          • I think we’re in agreement now.

            Look at it this way – this article has triggered a situation where a whole lot of people are venting against SCRUM (obviously including me) & Agile (I’m not against this). OTOH a whole lot of other people are saying its fine, it’s works etc etc.

            This is where the scientist must conclude that the model as it stands is broken – clearly *something* is wrong somewhere.

            My own experiences are that most technical people hate it and pretty much all non-technical people love it (your mileage may vary).

            But it isn’t the technical people who have an input into what process is used – it’s management. They love it because it forces technologists to de-mystify things and makes them feel safer and more in control of risk (real, stolen, borrowed, imagined). Technology is scary if you’re not “in it”.

            Clarity of action is not a bad thing in itself – but forcing professionals to do it every single day is garbage, self-defeating and demeaning. The doctor, the lawyer, the vet, the structural engineer, the pilot are not forced to breakdown their daily tasks into easy to understand terms for the layman. If they were people would stay sick, criminals walk free, pets die, bridges collapse and planes sit on the runway.

            But as someone else said earlier on this post – we’ve already lost this battle.

  13. Michael, I would greatly appreciate it if you could write about what, precisely, your definition of Agile is. It makes it very hard to understand these articles otherwise, despite sensing that they contain good insights.

    • I think a problem is that Agile ends up being what ever you (really, someone in management someplace) decide you’re willing to do. Don’t like that part of the process? Then don’t do it. Makes it difficult to talk about deficiencies then because “Well, you weren’t doing True Agile!”

      For example, IMAO having unit tests is an Enabling Mandate to be able to do Agile of any kind. Without the unit tests you simply can’t make a change to code without worrying that you’ve broken something. In the last ten years every company I’ve worked at says they are doing Agile, but NONE of them have had running unit tests. NONE. (Note that they have all _had_ unit tests, but they were not turned on and were so badly out of date as to be useless.)

      Most forms of agile *give permission* to choose to not follow practices that you deem “not useful”. The problem is that choosing to do the Right Thing is often costly and its not always evident what either the right choice might be or what the final cost will be /at the time you need to make the decision/.

      The practices associated with more traditional project patterns were the result of a lot of though about “How would we avoid making that stupid mistake again in the future?” With Agile, if you don’t see the risk coming you can’t justify the effort to avoid it. With traditional patterns you do things in a certain way knowing it’s not always required but it will keep you out of trouble without thinking about it. (Sort of like staying on your side of the center line in fog…)

      IMAO, adopting an Agile development style opens you up to a lot of unnecessary risk. It doesn’t guarantee you’ll have problems, but then again neither does competent Iterative!

      • This comment is making me rethink my opposition to the original blog entry.

        Agile has always suffered from a lack of hygiene factors. Anyone can do whatever they want and call it agile.

        I would love to see some kind of hygiene factor, like an agile maturity model.

        If there was a 1 – 10 agile maturity model, I’d be willing to bet that in the fortune 1000, maybe 1% (that’s 10) would have a maturity rating higher than 3.

        Those 99% which would have a rating of 3 or lower are what agile and scrum are being used for comparison.

        Without some kind of hygiene factor, agile and scrum will naturally devolve to what this article describes.

        • “Agile maturity model”?

          Then you can say “Look, we have standardized agile. Now we have this scale ranging from 1 to 10, with this set of rules you must follow if you want to go from 3 to 4.” And you don’t want to do that just on a single developer or on a team, but you want to take every team following agile principles in the whole world and *put a number label on them*!

          If you don’t trust the people, no process can fix that. That’s the first agile principle: the people over the process.

  14. It sure sounds like bad experiences made and mismanagement sufferd. Any system and model will fail if you don’t question it as you do it, may it be waterfall or agile. The base of doing agile right is living the deming cycle and listen to your workers/colleagues. Everyone matters, everyone wants to do a good job and achieve something. (If not, take measures..) The PO/SM/PL/Team all have their duties and are sitting in a boat together. If they don’t see that, you’ll have a hard time. That includes showing respect for the knowledge and personalities. Everyone does have their strength and will contribute it. But if the shit hits the fan, I expect a developer or even the PO or PL to do testing for example.
    On the other end, I expect the PO and PL to watch ahead and talk to the team, so the architectural problems are reduced. As written, you can not take the chance to work only sprint-by-sprint.
    In the end, it takes the right environment, the right company, the right people, to get it done right. It doesn’t matter if it’s agile or waterfall or whatever. If it fails, it fails. Not because of “the management”, not because of “the process”, “the design”, “the architecture”… It’s always just about humans and communication (and that’s so easy, isn’t it 😉 ). The funny thing ist, the agile manifesto does put exactly this into focus.
    Argue about agile, about waterfall or whatever. They are not the problem. People and their (inter)actions are.

    • Great comment! I totally agree: It’s primarily the people who matter – the process definitely has an influence, but it does not decide about success or failure.

      And as I already said in my previous comment: I was lucky enough to always work with great teams 😉

      In all these projects, we didn’t follow the process mechanically, but instead we continuously improved it. Btw. this is why there’s a retrospective: If sth. is bad, talk about it and improve it. This includes the process itself! Of course, some things cannot be changed (especially in big companies), but this is independent of whether you’re doing waterfall, scrum, kanban or any other process model.

  15. Thanks for this great blog post! But sorry, I have to disagree. I mean you’re totally right about some problems, but you’re IMHO not right in saying that it’s all Scrum’s (or Agile’s) fault. Bad management is the norm, customers not knowing what they want is the norm. Btw. this applies to both, external customers and internal (same company, different department).

    Scrum provides a very good way (short feedback loops) to crystallize what the users of the software really want. At least, this worked very well in my experience.

    I am a very experienced software architect + developer (working for 21 years, now) and I worked with many companies organising their work in many different ways. For already a few years, I work as a freelancer – and many of my customers use Scrum. Nobody ever abused me for work that is “demoralizing”. Scrum simply caused the work to be split into chunks (user stories + tasks) and then every team member picked what they could do. Being one of the most talented and most experienced, I usually picked the tasks that were most complicated, of course – it was usually fun 😉

    Additionally, it was definitely *not* true that all the input into the product backlog came from the product owner / customer. The team often added things they considered necessary (e.g. refactorings for purposes of cleaning up, improving performance, …). These stories – we usually call them “technical stories”, because they don’t come from the user – were discussed with the product owner (who has the final word about priorities, because he *pays* for it) and we usually managed to get them into one of the next sprints (because he always understood why they are necessary – of course, we had to explain this). Btw. in some projects, we had a certain percentage of the capacity reserved for technical stories from the beginning – then we didn’t have to discuss them with the product owner – but we usually still explained why we did what we did.

    However, I definitely can agree that many companies implement Scrum incorrectly. Already your impression that the Scrum master is in a hierarchy above the team is IMHO absolutely wrong and implies that the company you experienced this in made major mistakes. In all environments I worked, we actually didn’t have any hierarchy at all – just division of labour with nobody looking down on anybody else. But if you want to imply a hierarchy by who tells whom what he needs to do, then it was usually the Scrum master who was “below” the team: He had to clear impediments identified by the team. And these impediments were nearly always external (usually missing interface specs from other teams).

    But then, I usually work in Germany. Maybe the work culture is different in your country. Or maybe I was just lucky? If so, I was for many years and I hope this continues 😉

    • I can confirm, that it is a good way to organize in a better way. For me it works like it does for you, like the team members are the guys who make the call on what will be done, and what not. Additionally we don’t expose our selves. Only the team can say whether something will or can be done. However the team is mostly not involved in getting the first information on what is required, but we have so called “research” stories (or spikes), that are in use to talk to customers and whoever to get a grasp on what is needed.

    • “Btw. in some projects, we had a certain percentage of the capacity reserved for technical stories from the beginning…but we usually still explained why we did what we did” 😀
      You are saying you needed to do this and let the business know AFTER you did it. You are cheating Scrum, and that reinforces the concept of this article.

      • No, we were not cheating Scrum, because at least the way I understand it, it’s one of the core ideas of being agile to adapt the process to your situation in order to maximise the benefit. It’s not dogmatic! Read the agile manifesto, if you don’t believe me. It states:

        “Individuals and interactions over processes and tools”

        At least I understand this as a clear “adapt the processes, whenever it makes sense”.

        And if this adaption means to simply allocate e.g. 20% of the time for work *the* *team* (not the PO) considers necessary, then be it. It’s still Scrum! Why? Because this stuff still is in the product backlog, it still is described as a story, it still is broken down into tasks (if needed, i.e. if not already small enough) etc.

        Btw. one of the goals of Scrum (and Agile in general) is to reduce overhead. If there is enough mutual trust, it is clearly possible to reduce some overhead by not discussing certain things with the product owner in advance (or even at all).

        For example: Need to switch from library A to library B, because it’s faster, more secure or has whatever advantage? Why should you consume the product owner’s and your own valuable time discussing this? If he trusts you (= the team) and your expertise enough, then having the said 20% limit is enough for the product owner to be sure the project does not burn too much of his money without his control – and especially he trusts that this money is burnt in alignment with the PO’s goals (i.e. better quality, lower technical debt etc.).

    • But bad management is pretty much exactly what this is about.
      The management will simply enforce these models as they are “flavor of the month” so to speak and in big companies you have no real possibility for feedback that gets respected because as developers you are usually in the “delivery” part of the company and automatically are outranked by either management or business needs.
      The article, IMHO, is not strictly about why agile and scrum without any outside factors are objectively bad, but how these models are enforced by management expectations, business needs and so on to ruin the company in the end.

      • Well, “bad” is a very vague term. There can be bad management in multiple ways. Without wanting to elaborate more on this, I made the experience that Scrum helped to give everyone – including the managers – a better idea about the situation of the project. This often already helped to improve things.

        If “bad management” means, you have a project manager who tries to micromanage everyone, then obviously Scrum won’t help. But then, nothing will help but a clear statement: “Either you do your job and leave me alone doing mine, or you can continue tomorrow doing yours and mine!” I’m sure this would help 😀

        • …just wanted to add: If you don’t have the guts or simply don’t want to confront this micro-managing manager, then go to the Scrum master. You found an impediment! And it’s his duty to clear your way 😉

  16. Any sane person would not do sprints after sprints after sprints. I think Agile was coined by people who never did any serious sport in their live. 🙂

  17. I think this describes a process that I don’t recognize at all, despite working with scrum and other agile methods for years.

    The only point that doesn’t strike me as an outright straw-man is the difficulty of representing technical debt in the process (which can be mitigated by a disciplined team that factors this in when estimating story points and that considers a clean and thorough implementation part of every task).

    The rest?

    Business-driven? No real power for the engineers? In basically my entire career the openness of management to engineer input regarding strategy and priorities has been proportional to how agile the project was. Giving the customer the chance to change directions by prioritizing differently usually elicits fruitful discussion and promotes better domain knowledge among engineers. Despite what their names (“Master”, “Owner”) imply to the superficial reader, scrum roles are not at all about establishing a pecking order, but about defining responsibilities among equals. Tasks are not imposed on, but claimed by developers, which gives me plenty of power over what I am going to work on and in what order.

    Young man’s game? The agile part is not about aggression, reflexes and quick thinking, it’s about how the project deals with change. It acknowledges that changing requirements is inevitable and, ultimately, to be welcomed. It does so by delivering iterations early and often, by making the cost of change transparent and, again, by giving the client a way to reprioritize.

    Career coherency? How long and in what technical capacity one works on a given project has little to do with the methodology. Also, I have never been asked to provide a list of projects that I have worked on from start to “finish” (whatever that even means).

    Impediments are about identifying slackers? Toxic micromanagement? I have yet to see an impediment that even implied that “Frank is too slow”. Usually it’s stuff like “slow network”, “library x makes it very hard to do y”, “we lack expertise in the field of z”. Which are all fine and necessary problems for the scrum master to solve. The increased transparency in who is doing what only becomes a problem when the project is managed incompetently or maliciously. So far I have mostly encountered management that understood that certain tasks take much longer than others and that developers need quite a bit of wiggle room to find good solutions (and therefore that “tasks closed” is only marginally better as a metric than “lines of code”).

    Whisky goggles? The best engineers leave? Setting aside the weird tangent about measuring engineer capabilities on a one-dimensional scale with unclear units and drawing far-reaching conclusions from that, my experience has been quite the opposite. Apart from making below average developers do average work, in my experience agile methods seem to provide an environment in which above average developers and “stars” thrive. This is because it encourages the team to pick the tools they deem most appropriate for the task. Delivering early and often is something the better developers that I know are doing anyway. Claiming tasks also lets them use their abilities much more efficiently than having tasks imposed on them.

    Of course there are scenarios in which agile methods don’t really apply, such as exploratory software development and r&d. But, apart from marketing pitches, I rarely see agile methods advanced as a dogma. It’s a tool in the toolbox that is not nearly as catastrophic as you, probably hyperbolically, describe.

  18. You’re so right with this blog. These companies using crap are falling to pieces. I mean look at them, Salesforce, Google, amazon, spotify. These companies have been effected by Scrum in such a bad way. Which planet do you live on? Lol… Apple just reported some of the highest profits the world
    Has seen and their secret sauce being Agile. Forbes covered it all very well. Don’t tell me, they don’t know what their doing either? Lol…

      • Jones, are you serious?

        Apple reported its financial results for the quarter ending December 27, 2014. The company posted $18 billion in profit (on $74 billion in revenue), the largest quarterly profit by any company, ever.

        There outspoken secret sauce a combination of Agile thinking & methods.

    • Their secret sauce isn’t agile but good people. Also, I wouldn’t really call what Google does “business driven developement” but whatever – thats maybe just me.
      This article isn’t about singling out agile or scrum as the single bad thing but how the usage of those two paradigms combined with bad management hurts especially IT corporations with detached management in the long term.

      • Sebastian, “Their secret sauce isn’t agile but good people”…. have you ever read the Agile values or principles properly? Nearly all 12 map to cultivation of collaboration – (check out Schneiders model and map it for yourself) – nearly nothing falls into control and a little chunk in competence. Agile in one word IS people.

        ” bad management hurts” – exactly – it’s nothing to do with the approach or mindset used (which has been cried about in this blog ‘Scrum is bad’ etc”). So should we gun down proven mindsets or approaches which bring benefit – or ask the people who are trying to use those approaches to use ’em properly? What’s next? Butter knives are banned because people are using ’em to stab people and not butter bread? “Why Butter Knives are terrible” – looking forward to the next blog.

  19. Pingback: When (not why) "Agile" and especially Scrum are terrible - LeaseWeb Labs

  20. I’ve been fighting a rear guard action against SCRUM at my current place. It’s had mixed results. I’d like to say that this post would help but when the bum master admits that the stand ups don’t add any value yet refuses to change them or cancel them, I have little hope.

      • but thats exactly the problem, isn’t it?
        The management hears of a new trend. Call it “agile”, “scrum”, “ITIL” or whatever. The management also hears its totally great and should be done to the T so they enforce it in all their glory without realizing that they are doing more harm than they would without doing it because there is no continious improvement of the process and because these models/paradigms aren’t tailored to their scenarios.

  21. Agile is a lot like communism. Both have a eponymous manifesto, and whenever one of them inevitably fails, the apologists just say “Agile/Communism didn’t fail! You failed because you didn’t implement true Agile/Communism”

  22. There’s so much wrong in this article…

    I suppose Scrum and Agile _can_ be implemented in the way you describe, but that would be totally wrong. I’m sorry people have to endure that…

    Good Agile (not necessarily fundamentalist Scrum) can empower the team and everyone in it. In my last team, I saw a junior programmer thrive, and a “Senior” developer get the exposure needed to become “Principal”. We had a great working environment, with acceptable pressure.

    But you need to enforce (especially to management!) certain non-negotiables:
    * The team is free to pick as much or as little as they feel can be achieved without overtime.
    * The team is free to drop stories from the sprint.
    * The Definition-of-Done cannot be weakened by management (quality, testing)
    * The team keeps about 20% of it’s capacity to handle tech debt
    * Status reporting is limited to Stories, Epics, and important bugfixes. Anything more granular (sub tasks, spikes, etc.) is team-internal. (There is no brutal transparency!)
    * Team “velocity” is a team-internal measure only; it exists to help the team improve its forecasts, _never_ for reporting to management.
    * The Scrum master’s task is protecting and supporting the team, NOT driving it.
    * The Product Owner has no say in the organization of day-to-day work beyond pushing for stories in the sprint planning.

    • You are right, there is much wrong in this article.

      I have 30+ years of experience in software development in all kind of positions.

      I worked with a wide variety of development processes, from waterfall, Scrum, Extreme Programming to “Head Physician”-like Guru-lead teams, Lone Warrior Teams and total anarchy development.

      First of all, there is no one-fits-all process or organization. The people, the project, the organization and the type of funding are all things that need to be considered, and you have to make an effort to improve each of these factors. You also have to adapt to what you can’t change, and work with what you have or can reasonably get.

      To make things work, you can draw from all known processes and add and mix in whatever works, and don’t forget your try your own ideas. The agile movement has quite enriched the toolbox of what is available, but if you grab the wrong management tool set or do not understand the limitations and prerequisites, everyone will suffer.

      And I can agree that agile is definitely not suitable for many types of projects and organizations. It is not very good for mass product development, and agile also has problems with contract work if the customer does not fully buy into it, which is the usual case.

      There are also people where a process complete clashes with their personality. Some people just can’t do agile, some just can’t stand documentation. What kind of process you personally
      like to work with also changes with age and experience.

      Just from reading the article I get the feeling that the author wants to or already has moved on from dreadful jobs like he describes, and he still seems hurt. He also does not seem to be happy with his current situation and might be unknowingly regretting some decisions he made.

      He is right about one thing, though: There are more fucked up companies and IT-jobs out there, and probably everyone in the field has seen bad things and even might not have escaped unharmed.

      However, if you are not satisfied with the jobs the market offers, get together with some friends and create the jobs you would like to see, including your own. That’s what I ended up doing in my 30s, and I enjoy it. And don’t forget to move on when things get boring. There is so much out there to see and learn!

    • I surmise your last team really needed agile to succeed. I think your team could have succeeded just as well without agile or scrum. The points you made here doesn’t require agile.

  23. Pingback: Software’s management issues | Michael O. Church

  24. Really interesting article. Thank you!

    I am an engineer wanted to implement scrum or/and kanban, because the currently applied time in estimations and ways we do engineering are even worse, I think. Only for my team, I´m a firmware programmer. I heard so much good thinks about agile it, the self improving and so on, how could it be so bad?. But now I´m really unsure about it. It looked great to me, but indeed I don´t want to work every day in war-mode, and only feature driven with now big goal. I wanted to get better product requirements, get more time for programming and less for writing documents. Better team communication. Get rid of time estimations for the next one and a half year, while knowing it is not worth of doing it and in the end everythink is different. we got problems because of not getting the firmware finished in time. The idea of weekly builds, that are are tested automatically should find errors much faster, and should also reduces the long testing periods. I work on many project at the same time and it slows down everything. Agile claims to improve it. But I have many old programmers (50 and older) that are not that good but good enough. I made the experience that especially the old programmers are having even more problems to accept new processes.

    What do you think should I do?

    I also think good programming and engineering is more important in the first time than improving processes.
    What are you think about CleanCodeDeveloper (http://clean-code-developer.com/)? It really like it, and it helped me a lot.

    (excuse me for my bad english)

    • automatic testing does not check for most problems. If your software is so simple it can be checked by automatic testing then is something one person can do by itself. If not you still need human testing. Just stay away from Agile…

  25. The description of your “Scrum master” might be the reality in the environment where you have seen Scrum at work, but that role is not meant as deciding manager. The role of a Scrum master (bad word) is not a technical leader, that is the “Product Owner”. Scrum does also not only base on “User stories”, but can and should have a design document, which is maintained by the “Product Owner”. The main problem with the “Scrum master” is that he imposes the rules (the Scrum rules).

    That doesn’t make Scrum as a whole a good idea, but it is very obvious that Scrum originally was not meant as business-driven process, but as engineering driven one. And the “Project Owner” should be a senior engineer with a product vision.

    What makes Scrum so appalling in reality is that it is the best way for a “chaos manager” to keep the chaos alive and grow it. This “chaos manager” must take the role of the Scrum master, because that’s the part who can make sure that chaos will come and stay. That’s why the Scrum master is supposed to be a servant to the team, and I’d say the team should have the right to replace the Scrum master whenever they want to. Or “at the end of the season” when you think of him as “coach”.

    IMHO the essential problem of *all* these methods is when they are adopted for business driven companies, which will create the same perverted framework out of all of them: The technical part will, no matter what kind of original idea you take, always be “grunt work”. That’s the wrong approach.

  26. A rant by a disgruntled engineer at best. Agile isn’t perfect but there are no alternatives either. Plus there are always ways to avoid the issues he has management e.g. you can prioritise long term issues in favour of short term, I have done that several times. Maybe he needs better product managers around him.

    • Total bullshit answer. A great engineering team can produce great outputs – but not when you constantly interrupt them to find out what they’re doing at any given time.

      There are plenty of alternatives – spit out the Kool-aid Fahd.

      • “A great engineering team can produce great outputs – but not when you constantly interrupt them to find out what they’re doing at any given time.”

        Scrum does not “constantly interrupt” a team. Quite the opposite: the team is pretty much left alone during the course of the sprint.

        I’m guessing you’re thinking of the daily standup, but that’s not for finding out what the team is doing so much as it is an opportunity for the team to sync up internally before starting the day. The standup is purely for the team. It’s more of a way to make sure everyone has what they need and aren’t being blocked than it is anything else. If you were on an agile team that treated the standup as a status meeting, you weren’t using scrum properly.

  27. Pingback: » This Post Brought to You by the Word Study A Book A Day

  28. Definitely a good article on this topic.

    First things first: I am neither a programmer nor a native English speaker, so I can’t judge if the concepts of Scrum/Agile make sense or not and maybe I am not able to bring my point across.
    What I can say is that from what I have seen amongst my programming friends, Scrum/Agile sometimes made things better but in most cases killed the fun and creativity they have with and in their jobs.

    This is the point I want to highlight: Neurosciences show clearly that there is a strong correlation between being able to learn/being creative and being happy/feeling good.

    The last environment in which you want your brain work getting done is in an environment of fear and granular control mechanisms. This is what our school system does wrong on a global scale and in many cases our employers as well.
    Being controlled in an asymmetric relationship can drive humans into a state that psychology calls “learned helplessness” with the above mentioned outcome.

    Let’s be crystal clear about our world of work: In most cases the work is done in capitalistic environments. This means that there are contracts between several parties which have to be fulfilled and everybody has to work in order to get money, because this is what has to be used to pay back the debt an individual has. In either cases the lack of being able to fulfil gets sanctioned in some way. You don’t fulfil your contracts? Boom, here comes the government/lawyers. You are not able to pay a certain amount of money at a certain point of time? Boom, here comes the government/lawyers again.
    So we see it’s all about money and money is in almost any cases I can imagine free of moral and ethics.
    Scrum/Agile just emphasises this aspect of capitalistic systems to a degree that we, as hard and brave working people, start to recognise how messed up our working environments are.

    We blame the sender of the bad news. The culprit is something else. 😉

    Stefan

    • Even though I don’t agree with Scrum being as bad as it is talked here (I still have a lot of fun doing my job), I definitely agree with you that capitalism totally sucks.

      To be most precise, I think that we, the software developers, still drew one of the best lots in the current times: We have still far more space for creativity and far more freedom than most other jobs.

      • True!
        And yet we still seem to be more affected by doing less than ideal tasks or downright nonsense under a less than ideal or idiotic management.

        • Thanks for bringing that up. I really think that “Capitalism” is the missing word in this very interesting article.

          As I see it, a sincere application of Agile principles is totally incompatible with capitalism. And that is why the author is always using expressions like “Agile as it is commonly implemented”.

          To my point of view, Agile manifesto just came up as another observation of the forever going fact that the most productive worker is the autonomous one, the one that has true power on its own work and the way he is doing it. But this autonomy will always be merely an illusion as long as the company belongs to its stock owners and not to its workers, or within a inequal client-provider relation.

          Then, the “product owners”, “scrum masters” and any other you could find will always be what they are not meant to be : “chiefs”, intermediate stages of a hierarchy which has stock owners at its top. And these will always have as first priority the conservation of their own power, over anything else : actual purpose of the work done, effects on society and environment, actual productivity. Even some times, profitability can be sacrificed as long as the actual control on the company is not lost.

    • +1

      Great observation. It puts the whole “agile / scrum / waterfall / causes of project failures” debate in a so much broader and more important context.
      Arguing about agile vs. waterfall (“sender of the bad news”) seems to me the result of a top-down “divide and conquer” strategy applied by ones who actually benefit from this (“the culprit”), just like how “chaos managers” benefit from chaos.

      Any methodology could work if we value our own and each others’ time and work enough by not creating or accepting rubbish, and keep people, honesty, and common sense in mind – words not often heard, or heard in a twisted context, on software development projects.

  29. Massively agree with all of this. The comments here along the lines of “you’re just not doing it right / believing hard enough” are depressingly predictable too.

    • Yes, it’s a power play, and the developers lost. People of “average” (I use the term loosely) intelligence, e.g. management, are fearful of tech people because tech people can easily lie to them and get away with it. Waterfall is by far worse than Agile in its dysfunction, but Agile has much to answer for. Over the past ten years, I have suffered through everything the author speaks about while working on Agile projects, including outright humilliation, not to mention the lousy work areas that all use “agile” as an excuse. I have seen the “brain drain” phenomenon twice now–and the crappy people never leave because they have nowhere to go! You can’t make this stuff up. It’s a race to the bottom, and as someone who just hit 20 years in the business, it weighs on me heavily because there just is no clear path to “what next.” How do you make a career in software development? You can’t. It is designed to diminish and ultimately ward off the most intelligent, most experienced, and most highly paid people and replace them with as many “commodity” underlings as possible.

      Businesses want quick sugar rush work done, not thoughtful engineering, nor long-term employee satisfaction.

      • It’s very likely that companies you describe exist, but they are doomed. One “star” developer is worth far more than a dozen “commodity underlings”, because the latter will screw up architecture, increase technical debts more and more and finally lead to an absolutely unmaintainable mess. That’s the end – at least of the project in question – maybe even the whole company.

        I made the experience that many companies understand this risk very well and thus welcome highly talented, experienced and *expensive* developers. I don’t know, if this only applies to freelancers (I’ve never been employed – except at my own companies). But only lately, I was in a team where the majority were highly talented and very experienced developers. And the minority of newcomers (with little job experience) definitely learnt a lot due to the agile way (e.g. via pair-programming [we could have done more of it, but at least we did some]). Btw. despite 21 years of experience, I myself learnt quite some stuff, too (as always – that’s one of the reasons why I still love this job). 🙂

      • You nailed it. I think that, unless software engineers mobilize in order to take back their industry and find some kind of collective solution (it doesn’t have to be a union; it could be a professional guild) to keep it taken-back, then the whole game is fucked.

        • Yes. Great article. To me it’s clear ‘agile’ originally was a programmer-driven initiative to take back some measure of control (particularly against outsourcing in the US), that has now been twisted against us. Partly we can still use it to our advantage, and partly it uses us. This kind of thing is nothing new in the history of social movements. I wonder if you have seen this article which kind of lays this out — http://westspacejournal.org.au/article/summer-2013/the-agile-union. We need a new tool now.

          In my opinion, if we don’t prioritize ways of crossing the divides between programmers and other tech workers (not to mention other workers period, without whom we could not function), the whole game is fucked for sure. That is one of the main weaknesses of agile in my book, its ‘guild chauvinism’.

          Could we start with e.g. demanding jobs with less working hours? It seems insane to me that industry-wide, part-time positions (not consulting etc.) are very rare. Few of us (in US and Europe anyway) need to work full time to earn a living wage.

  30. Seriously?!

    You totally missed the point of agile workflow, and probably that the reason why it makes thing worse. Agility is not a matter of managing developers, it’s a matter of involving everybody. Company shall protects his programmers, while the customer is enough involved in the project to A) understand constraints (and thus accept R&D / Refactoring / Improvements) and B) get a final product that suits his need and does not generate frustration.
    Customer and developers should be equal in the balance. If not, something is done wrong.

    A scrum meeting protects the team, a scrum master is not a foreman. A sprint meeting with a customer is always a negotiation for both sides.

    • And once again we get the standard response – “Oh you just don’t understand SCRUM”

      SCRUM dictates to intelligent people the boundaries within which they are “allowed” to operate. This kills innovation at super-luminal velocities.

      It does have some benefits – eg. when you have a mix bag of juniors and rubbish engineers
      and its better than a free for all.

      But the cost to real talent is exorbitant. Just because you can’t see it doesn’t mean it isn’t there.

      It’s standard management high-level fluff – get everyone talking and some kind of magic gestalt will happen – even in the face of all available evidence to the contrary.

      I understand SCRUM perfectly – inside and out – and it is the worst thing to happen to our industry since Facebook.

  31. Dumb POs/managers stay dumb, if you change the process. If you really know your product and the programmers work, you can give room for individual things. In a good scrum team you plan 50-80% of the time for the whole team.

    Additionally its a common thing to ask the team for internal needs and put them into a sprint.

    The only thing what scrum really demands is cycles and 3 meetings per cycle. The rest is open to you.

    At least I know several companies, which asks the teams itself about the processes and change between several processes related to the task they have to work on.

    So in fact you’re blaming an (stupid) imlementation. Its similar to blaming C, Java or whatever, because you found code that sucks.

    Similar to a programming language, the tool scrum doesn’t say to you, in which cases, in which departments of your company and how much you should use it.

    If you have stupid scrum masters and/or managers which makes from every problem a nail, you will have a perfect tool with a hammer.

    • >> The only thing what scrum really demands is cycles and 3 meetings per cycle?
      So If I participate in 3 meetings once a cycle of any length then it’s legitimate Scrum? That’s a bit too broad for a silver bullet methodology. Can I sleep or play angry birds during those meetings?
      Programming language analogy is good, C & Java indeed don’t show you what the best practices of using them and suggest bad things by default (nulls, mutability, implementation inheritance etc.) but this is very different topic

  32. I am sorry you suffered so much with Scrum and Agile.

    You’ve put your finger into many things that do occur at companies that are trying to adopt agile practices. Yet none of the things you describe are necessities of Scrum or Agile. They are just conditions a company can be in, but should progress through if they are truly Agile.

    Thank you for your opinion it helps to make the world better.

  33. I am a Postdoc in Bioinformatics (prior to my PhD/Postdoc time, I worked for many years as a bioinformatician in the life science industry) and I would argue that Agile software development is a brilliant approach to structure (and finally realize) rather complex scientific programming projects as well as to help supervisors to keep an overview on their students’ progress and potential problems.

    The biggest issue in academia is, in my opinion, that hands-on programming skills (including design patterns, software development techniques etc.) are somehow neglected because there is a huge emphasis on the theory part. Ok, the latter is important but are computer scientists not supposed to be able to write good code/programs once they finished their education? To make it clear, when I left university many years ago, I was quite enthusiasiastic but I soon had to learn that my skills required a lot of improvements.

    If you are not bringing these skills to the party, it is very likely that no one will teach you these in a desired extent. Thus, young scientists, at the beginning of their PhD (or their first job in the industry), oftentimes are not sufficiently able to structure their programming projects. They are wasting a lot of time in writing code which is literally unusable by others (their supervisors / other PhD students who need to work on that code base some years later). I saw this with my very own eyes multiple times.

    In combination with the acquisition of design patterns, Agile software development can actually teach people to successfully finish their projects. Moreover, by nature, academia doesn’t have this “we will all die if the project isn’t finished in time”-mentality. There is simply more time to thoroughly think through all the different aspects of an application. Here, Agile helps a lot to guide you through long-term projects and to use your time in an efficient way.

    TL,DR Agile is not necessarily bad, especially in academia it comes in very handy

    • So in summary it allows people who are not formally trained in software development to produce code that doesn’t suck.

      OK – fair point. That’s hard enough to do even when that’s *all* you do.

      But the article is discussing professional engineers and computer scientists who are treated as cattle under SCRUM regimes.

      It doesn’t mean agile (not SCRUM) isn’t useful in many areas – as you point out.

      Agile methods are great – SCRUM is a whole other story though.

      Hey good luck with your studies!

  34. Pingback: Why "Agile" and especially Scrum are ...

  35. Interesting blog post beside of the fact, that it is written “pretty aggressively” against Scrum.
    I am working in a company where we use Scrum and guess what, it works pretty well.
    When I read your blog post I had to laugh a few times because I see mistakes like team members being outranked for example. It sounds so wrong honestly! Which developer wants to switch to Scrum if he can’t influence a project?
    If a PO is saying what has to be done and not listening to the team then it is predestined to go wrong. Besides, a Scrum Master is a servant leader, serving the team, not ruling over it. Back to the PO stuff, the PO should always keep an open mind for refactorings for example. Some people argue refactorings do not bring values so they don’t do it, later they complain about their technical dept piling up. In my opinion refactorings do add value, but it is not direct value, it is indirect value and a lot of people are only thinking about direct value, unfortunately.
    Well, in the end everyone has to decide for themselves how they want to work.
    For me, my company and our customers Scrum works great so far. So if it works right for you, keep doing it. If it is not working for you change it so it works for you. And if you really hate it, than that’s okay, too, probably.

    • Fabian – that’s the most reasonable statement I’ve read of yours so far. Thanks for not just spouting the SCRUM kool-aid and presenting a good argument.

      I agree – if it works awesome.

      My objection is the fanatics now infesting every company everywhere telling me how I am to work every day and what I must (“no exceptions!”) and must not (“no exceptions!”) do.

      I’ve sat in too many all day meetings doing planning/grooming/retros etc when no one wanted to be there simply because management bought into the whole thing.

      I knew it was time to go when the engineering manager (a high priest of the SCRUM church) showed me how to draw a smiley face on a post-it note to stick on the white board under “things we did well” during a retro.

      I’m forty-fucking-three years old and a professional computer scientist and I’m NOT doing this anymore…….:)

  36. In my opinion the core of the article is here:

    “[scrum] has engineers still quite clearly below everyone else: the “product owners” and “scrum masters” outrank “team members”, who are the lowest of the low.

    […You] work only on your assigned tickets”

    When this is true, get out as soon as you can!

    IMHO, the product owner and scrum master should be part of the team, not stand above it. Scrum only works when people in the team are responsible for their own work. This means everybody is involved in creating the user stories and in evaluating their impact.
    Only when a team member comes up with their own tasks and estimates will scrum work.

    Besides that, I think a very valuable point is that you can’t be sprinting all the time.
    Three days of sprint per week makes sense.

  37. This article gets so many things so wrong so many times words fail me. Sir, in all honesty, you have no idea about Agile or Scrum and your claims are false so many times over I cannot count them.

    What you describe as Scrum has nothing to do with it – those things are, if at all – fragments of completely backwards and crummy implemented Scrum Methods.

    You mention companies going near broke because of Scrum but fail to offer examples. You mix up Agile and Scrum (hint: they do not overlap entirely, in fact, they can contradict each other at some points) and you call Agile a “fad” that is cool with web consulting but fail to mention the Agile Manifesto that started the craze.

    On top of that, your classification of people and IT professionals and their performance is one-dimensional, degrading and disrespective to the point of being anti-social.

    Bottom line:
    I’m sorry to say, but your assessment of Agile and Scrum being terrible is worthless with this essay as a backup to those claims.

    • If a large percentage of workplaces that attempt Agile/Scrum end up with the anti-patterns described in the article, it’s ridiculously precious to claim that this has “nothing to do with” Agile/Scrum. If a system isn’t designed to account for the common failure points of human beings and human organizations, it’s a bad system. Or at least one in need of improvement. Nobody these days would accept a car built without seatbelts because the manufacturer said, “just don’t crash the car and everything will be fine.”

      • Personally, I think the fact of the matter is: Scrum and/or Agile (no, they’re not the same, and no I don’t think it matters to this point) work in good workplaces and fail in bad workplaces. That is, if you have intelligent, cooperative and motivated developers, and a management team that respects them and protects them from BS, Scrum and/or Agile will work when implemented. If you don’t, then it won’t.

        The problem is, the same could be said for any other system of development on this earth. Partially because no system works 100% of the time and a team of intelligent, cooperative and motivated developers will flex the rules of any system when needed — so long as they are allowed to do so.

        Unfortunately the high-velocity, shallow-depth development culture encouraged by Scrum/Agile means that if there are any slipups at all when implementing the system, everything goes straight to hell. If you overwork your developers they will eventually become burned-out. Unmotivated, too busy to communicate any more than necessary and effectively stupid. I don’t think Agile-as-implemented (AKA the real-world likely case, not the ideal-world case) makes 3’s into 5’s. I think it makes 5’s into 3’s.

  38. Thanks for writing this up. You seem to be frustrated.

    Im a Software Engineer with 15 years of professional experience and am in the process of implementing scrum in my company right now. There are several things I disagree with:

    1. Engineer driven Companies: There are good and bad examples. Only the good get the awareness, no one knows how many failed. In my experience writing business software, software enigneers suck big time at defining the product that sells, that meets the customer needs, that works on the market. Everything designed like that, that I have seen, failed, even my own designs. Let’s be honest. Most of us are software engineers out of passion, I sure am, but the stuff needs to sell, otherwise we’ll only be doing it as a hobby. Lots of these new companies swim in investor money. They don’t need to work profitable for some years. Only time will tell if their business and therefore their products are profitable… and if they are I am sure they are more than just good engineers.

    2. The way you describe scrum leads me to the conclusion that where you experienced it, scrum started way too late in the development process. Experienced engineers are the most valueable ressource, they code better, they estimate better, they document better, they teach how to be better. Scrum, in my understanding, does not lead to a sprint backlog full of simple tasks that every monkey developer can do. The first scrum task for every requirement we get is: Design the software. Requirement specs in our company are reduced to the form “I want this and that. Make it work.”. Designing how that could work is the first task for that requirement. That’s where the experenced programmer, the software architect, works together with the requirement owner to work out the design, the architecture, the dialogs, the test cases etc. This design document is managed and owned by both as a team.

    What you describe really sounds like a “waterfalled srcum”: Do all spec work beforehand. Break it down to simple dumb tasks, and make sprints out of them for the novice programmer.

    In my understanding scrum is not for coding alone. It’s for design, coding, validation, testing, documentation, etc.

    3. As others said. The Scrum Master is no desicion maker. He simply is an enabler to make the sprint work. And the scrum master is a technical guy. Not business management.

    4. Transparency is a good thing. My team was intransparent. No one knew what we were up to until one year later when we dropped a huge pile of new software at the feet of our quality management. The transparency introduced by scrum, in my opinion is helpful. It makes the development team transparent to its peers. It helps the team reflect on its work, refine the teams skill in time estimations and gives the rest of the company a good indicator, that the team is indeed productive. What tasks are done in a sprint, even their definition, is the teams desicion. If the team decides, that the refactoring of a module is necessary, that task is valuable.

    Me and my team are looking forward to working in scrum, but we’ll surely will look for the points you make here.

    • Engineer-driven programming itself is not sufficient.
      For example, gitlab receives feedbacks from customers on http://feedback.gitlab.com/
      ZeroMQ receives feedbacks and pull requests from customers and developers on github projects.

      I think it helps to receive feedbacks from stakeholders(users and developers).
      My idea is to let everyone report problems and vote on those problems.

      And, while some transparency is good, it is a terrible idea to expose one’s daily performance fluctuations to everyone else, which makes developers vulnerable to outside attacks regarding daily performance fluctuations. And, scrum doesn’t help with violent transparency. In my past company, every worker was attacked almost daily by middle managers and product managers, and I was too stressed out that I quit the job.

      • Transparency is good, I agree on that.
        Honestly, your middle managers and product managers should have been kept away from the working team! Your scrum master should have seen that problem.

  39. In our company scrum had positive effects. What you call “dangeroursly short-term” helped us to stop doomed approaches after few sprints instead of waiting until the “7+” engineer finally had to admit his failure to himself. What do you propose to avoid such costly vanity projects?

    What you call terminal juniority helped us to integrate junior programmers in work that created benefits for customers, instead of keeping them away from knowledge and our brilliant heritage until they ripened (or quit). What do you propose quickly get new employees up to speed?

    Scrum isn’t for geniuses that don’t like to lower them selves to to common plebs. Scrum isn’t for those brilliant minds, that cant stand being judged by the ignorant.

    It’s for making progress visible the way the customer values it. It forces the developers to talk to each other. Sad but true: I can write breathtaking brilliant, beautiful code. But if it’s not what the customers need, I’m entertaining a hobby on cost of our teams productivity.

  40. SCRUM is not the problem, it is the the people doing SCRUM.

    Management believes the hype.
    Adopting a process out of hype before checking if the actual work to be done fits into the process, is really bad management. For instance, a “many projects all at once with different skill sets required” type of workload does not work at all. I know what you are thinking: The typical workflow of web company

    Management reshapes work
    After realizing that it does not work as advertised, the organizational and operational structure of the company undergo an “optimization”. While this is necessary for SCRUM to a certain extent, one major mistake is to understand SCRUM roles as a sort of hierarchy. A SCRUM master is not a “manager” sort of thing … the bossy type of “leaders” really like being SCRUM masters because “Master” is really what they feel like being … and management tends to assign “master” type of jobs to “master” type of people … Another mistake is to wildly mix and reorganize teams by means of leveraging knowledge, counseling others, and so on and on and on and on …

    Workforce gets pummeled
    The workforce gets pummeled by a shitload of organizational stuff and role switching and role playing. Advertisement of SCRUM says: “Teams lead”, reality says “Money leads”, management then says “bad teams”, reorganize … until: reduce headcount. Management then never blames it on themselves trying to force a system into the company which does not belong there … Also dogmatically following the rules or not following the rules at all will lead to catastrophic results

    Consulting by SRUM companies
    There’s a whole bunch of professionals out there teaching SCRUM. But, as always, how can you tell real pros apart from the amateurs without having the slightest clue of the game yourself? It is like screaming “Offside” in a basketball game. So the consultants come, teach, take your money, you feel fine because “I learned a lot” but you did not understand a thing. You need to learn but you refuse because the teachers told everything and they where fucking expensive so it should work now and you don’t hire them again because “Hey, I doesn’t work, bad teachers, not worth the money” … devils circle, cat biting own tail or whatever …

    Just my 2ç 😉 …

    • Nicely said!
      I want to extend your points about Scrum Masters by one simple sentence “Scrum Masters are servant leaders serving the team, not leading them”

      • Some say the scrum master should be a rotating position, as different members are master for each sprint.

        • Nice idea! I think for some people that might not work out as they are not that type of people.
          Will bring this up at our next retrospective.
          Still in my opinion I think there should be someone doing scrum mastering most of the time supporting the rotating scrum master with his experiences, could be helpful.

        • That won’t happen because often times the scrum master is chosen because the person is so abysmally bad at writing code that the company is desperate to find them some role where they can do less apparent harm. That they should be outright fired never seems to make it into the decision tree.

            • Many places “do it wrong”.

              Another common occurrence: The daily “standup” lasts an hour, with the boss telling everyone what they did wrong.

          • I’ve never seen a “bad developer” in a scrum master position. Moreover, I’ve never seen *any* developer there.
            They were always ex-PMs without any hands-on technical background. 😦

            • This is most common. But according to Scrum founders, the Master is supposed to be a rotating position filled by a team member, not an outside snitch for management.

  41. Interesting article, thanks for that.
    It seems you see the mismatch between Propaganda and Reality to be an accident.
    But it is not. It’s systematic. It’s divide and conquer.

    See here: http://softwareandmind.com/
    e.g. page 34/35 (and footnotes on page 35).
    “deskilling of programmers” dojne on purpose.
    In that way, the programmer relegated to being a “coder” becomaes cheap and replacable, and powerless.

    • The footnote states “Their authors were unaware of the fallacies of software mechanism, and that theories like structured programming do not, in fact, work. Thus, the delusion that programmers must be a kind of factory workers”.

      I understand that they tried it and “deskilling of programmers” simply does not work, right?

      Well, no matter, if I understand this correctly or not, I – being a skilled and experienced developer – can tell you for sure that this is bullshit. And it becomes even more bullshit. Today, software development is far more complex as it was 20 years ago: We use far more libraries (thanks to Free Software, hooray!) and thus don’t need to reinvent the wheel, i.e. we need to write less. But our challenges grow from day to day – and in order to integrate the multitude of libraries correctly, you really have to understand what you’re doing.

      Deskilling?! Only a non-skilled manager could have such an idiotic idea! 😀

      • You think like a developer, not like a manager 😉
        If you can get 5 cheap coders for one expensive, but experienced programmer,
        add some SW-methodology-voodoo (plus Scrum-stuff), the manager may think,
        this is a way to go.
        Of course it’s good to now some methods, but it’s also necessary to know the limitations. The one who does not see the limitations of the methods may have less experience than he/she thinks 😛 and/or not enough overview.

        What A. Sorin writes about, could also be called “the mythical man month” (Brooks),
        which Brooks also had good reason to write about – because managers all too often fall into that fallacy.
        (Sorin goes more into detail than Brooks, but also covers a much wider field. The book is about “myths of mechanistic thinking”, which are wide spread. The library-mess also is mentioned…)

  42. So, what you are basically saying is that agile fails because companies are not following it’s principles but instead adopting project managers, management hierarchies and other old school habits that are result of power struggles and mistrust to the process to cripple the team, the product and their transparency. This is hardly a problem in the methodology but rather in the people not following it, probably because they do not believe in it. We have been doing agile and lean for 3 years now and have almost nothing but positive experiences and can honestly say that the overall success rate of web development projects has never been nearly this high in this business.

    • As I said earlier, if you build a car without seatbelts and say that the perfect drivers do fine without seatbelts, it’s still your fault for building a car without seatbelts. Perfect drivers will do fine in just about any vehicle. Does agile actually have anything special to offer, or is it just a case of everyone dismissing the workplaces that do agile imperfectly (the vast majority) and taking credit for the ones who do it perfectly (which would succeed regardless of methodology)?

      • Precisely. The same applies to other methodologies; manufacturers brag about ISO 9001 compliance but can still produce awful products. ISO would certainly take credit for those that make high quality products. But the companies who’s _practicing_ values (not those on paper) are aligned with those individuals that have the most impact on their product are successful without these communal-formalized processes (e.g. Toyota).

        It was made with good intentions, but you know what happens with that…

  43. I’ve lived in a waterfall-type environment and many scrum/agile-type environments. I think it comes down to the team. If the team has a great team-lead (not scrum-master), it seems that everything goes well: the team generates great features and quality code and is happy. When the team has a poor team-lead, things tend to spiral down to a grinding halt. The book Tribal Leadership talks a lot about teams. Waterfall/agile/scrum/RAD are all more business-based and process-based … usually to help programmers and upper-manager communicate back and forth. Whatever works best … use that. I’ve had some project managers that have a gift for communicating to upper management and allowing us coders to do our job, and insulting us from the painfully stupid questions upper management asks.

    Personally, I hate the idea of running an all-out sprint, followed immediately by another all-out sprint. I never ran two sprints back-to-back in track — I’d throw up and maybe pass-out.

  44. What utter nonsense. Both scrum and waterfall are legitimate forms of managing a software project – I’ve seen both work with success. It’s easy to develop a hybrid approach as well. Like all methodologies, agile and waterfalls have strengths and weaknesses. You only focus on the latter and offer no improvement or alternatives. Contrary to your article scrum DOES in fact empower developers. This was a pointless rant – I want my 20 minutes back

  45. And you think that all your negative experience with flaccid Scrum applies to everyone else and all other companies?! Some of your critism has its truth, some I cannot follow at all. However, criticising something is good, but having better ideas is much better. And I cannot get any better idea out of your blog. This is disappointing.

  46. Hi @Michael : I agree with your quote

    ” I know 3’s making over $200,000 and I know 7’s under $70,000, ….”

    Why is this so? How do we fix this? Or, better, what kind of system would incentivize a fix? (I have my own ideas about this…but, wanted to hear yours).

  47. Michael, first of all TLDR and to much venom spread to go through. Second do your homework first, because writing articles on false assumptions to make point is easy but lame. Just few things I noticed.
    “The “Agile” fad grew up in web consulting” – no, it didn’t. It’s quite opposite end of the scale. Read up about first Scrum implementation by Jeff Sutherland.
    “Waterfall replicates the social model of a dysfunctional organization with a defined hierarchy” – no, it doesn’t. It doesn’t say about hierarchy. Dr. Royce in the original paper about waterfall writes about iterations between phases and there should be more phases than what was used by the last 40 years. Even waterfall wasn’t implemented correctly in companies.
    If in our opinion both Agile and Waterfall replicate dysfunctional organization model, what is the methodology or model that replicates well built organization?
    “It has engineers still quite clearly below everyone else: the “product owners” and “scrum masters” outrank “team members” – no, it’s hasn’t. PO, SM and Development Team are equal, they are part of the Scrum Team working together on common goals.
    “work only on your assigned tickets, spend 5-10 hours per week in status meetings” – nobody talks about tickets in Scrum or Agile. And there are no status meetings run. There are only minimum required inspections with appropriate attendees to check the real progress and make decisions.

    “There’s no role for an actual senior engineer on a Scrum team, and that’s a problem, because many companies that adopt Scrum impose it on the whole organization.” And what’s the problem with that? You need to have a senior label sticked to your back to know what is your value and feel good? In the Development Team there are only equal Developers in order not to apply hierarchy and fixed set or responsibility. In other words it’s about responsibility in the whole team.

    “It’s stupidly, dangerously short-term.” Again, it’s not. We encourage long term planning. Agile planning is about Portfolio->Product->Release->Sprint->Day planning.

    “Its purpose is to identify low performers, but it has an unacceptably false positive rate.“ No, no again. The purpose is to build high quality Products, learn fast and adapt quickly to the environment.

    I believe that all this negativity comes from your personal experience in environment where Scrum was implemented totally upside-down with some silly ideas behind. What you are describing here is not real Scrum. It is some gimp called Scrum implemented to check the box on TODO list in the organization. What you mentioned here is not why Scrum is bad or Agile is bad. These are simply the DON’Ts that we teach about in the class or at work with teams site.
    I strongly recommend you Scrum training with one of PSTs, to show you what Scrum is really about and how it should be implemented. I would give you special discount, but I guess I am based to far from you. Learning how to work with the method and be effective is much more professional than whining why it’s difficult. Every day there are less and less Waterfall cage where dinosaurs can hide 😉

    • Mostly +1.

      One of the points of the rant of the OP is that Agile is imposed on teams. Getting people to the mindset of adapting and responding to change is really the goal of Agile. Once there most of the crap can go away. Who really cares if a standup happens or not. If it provides value then it will be done, and, it will be done in the way that suits the team best in accomplishing their outcomes.

      I said “Mostly +1” because there is a statement in your response that bothers me. Perhaps it bothers me because I catch myself using it and I know I dislike the phrasing. “We encourage long term planning”… I have a problem with “We”. Who are we? Why do we encourage?

      I think that to be empathetic to those being coached, we must move away from encouraging practices and move to sharing practices so that *they* can decide the best approach to get the most value from *their* work.

      Once Agile is not imposed and people feel control over their environment I believe that a number of problems go away very quickly. Moving from being told to being engaged is critical to creating a more joyful workplace. Dan Pink expresses it as “Autonomy, mastery, and purpose”. Dan Mezick use Open Space to introduce Open Agile Adoption (http://newtechusa.net/)

  48. As a few other people have said, this issue has little to do with Agile, Scrum and standups, and more to do with people blindly applying a process for the sake of it. Agile was supposed to be all about horses for courses, and tailoring your process to be more responsive – yet people just grab the Agile bible and bash everything with it, creating loads of process and benefiting little.

    Stand-ups can be very useful if they’re done right. Yes you’re going to have one interruption in the morning but if you can’t handle that then you shouldn’t be on an enterprise development team. If you run a very short standup so the team lead knows what everyone is on an what’s holding anyone up, they can let you go back to your work and fix the problems in the meantime. It lets them pass the necessary info to the higher ups to build trust in the development team, and gives them an early opportunity to escalate any problems so that you don’t have to deal with them, or find workarounds or wait to finish something because of some stupid policy or lack of decisions.

    The entire thing is about finding the minimum amount of useful information to extract from developers in order to be able to relay status to the business, and conversely be able to capture business requirements and extrude the bare bones of technical requirements for proper architecture and development. Do that the right way and everyone’s happy.

    If you’re still complaining about having to log your time, or account for where you’re spending your time, then you’ve no place on an enterprise team. Whether you’re developing MVP for a startup or building ongoing big business software, the only way to manage a project properly is to know where the time is going, and identify blocking issues early. There’s no place any more in modern business for the genius hacker who won’t do what he’s told or fit in with the team – an intermediate coder with passion and the ability to go learn what he doesn’t know, and follow process is worth infinitely more to any business.

  49. Now that I saw it:
    “There’s no place any more in modern business for the genius hacker who won’t do what he’s told or fit in with the team – an intermediate coder with passion and the ability to go learn what he doesn’t know, and follow process is worth infinitely more to any business.”

    oh yes, there needs be a place. otherwise we’ll be going to a full stop staleness within 2-3 years. I hope non-visionary people stop having input soonish or this will be 1984 world to live in.

    And no, I’m not a dev.

    • No I didn’t say there’s no place for a genius, I said there’s no place for someone who can’t follow process and won’t work in a team. Unless they’re the only coder (and sometimes even then) then they’re more trouble than they’re worth. You should always be hiring developers (at all levels) who are innovative, passionate and curious.

      • As long as they don’t work on more than one ticket at once.

        Because it’s been decided that this isn’t the best way to work. So you must do as dictated.

        Whilst I do basically agree with you – I hate those so-called genius types who can’t/won’t work with a team and they definitely shouldn’t be on an enterprise team – the SCRUM affliction isn’t the answer.

        I don’t agree about the scheduled interruptions – they sap motivation faster than an enema. All that happens is everyone turns up at 10 because there’s no point starting anything any earlier.

        A smart PM will get the best out of a team without having to refer to a master manifesto that outlines your working day.

        Agile yes – I’m all for it – but SCRUM is the embarrassing progeny of minimalist thinking.

        • Yeah I agree SCRUM isn’t the answer. And whether you call it a standup or not, a daily catchup *is* needed but it should never be more than a minute or two in length. Generally I avoid anyone labelled as a SCRUM master as they tend (not always, but usually) to be overly focussed on the details of a given process rather than creating process that suits a team.

          There also has to be discipline within a team though. It’s up to the team lead to work out whether it’s best to enforce a standup at a given time in the morning or find some other time or way to do it, and it’s up to them also to manage people in the team who aren’t meeting the criteria.

          If you meetings, stand-ups, reporting or anything along these lines is getting in the way of development, then you have a process problem. If you have good quality, minimally intrusive processes in place and developers just won’t follow them, then you have a discipline problem.

          Get your process right *for your environment/project/team* then get your team working with the process.

          • Well said.

            Agile development is a state of mind – you need to work with the team and people you have – some are best in the morning others at night. It’s a dynamic fluid approach that recognises that people are *complex* thinking beings and tries to get the best out of a team by treating them as adults and professionals rather than plug ‘n play tech units.

            And that’s my problem with SCRUM. It’s a manifesto carved on stone tablets brought down from Mt Sinai. You must do it this way and no other – and woe be unto you who worship false idols.

          • Out of curiosity: why “daily catchup *is* needed” ?

            I found daily startups a useful tool for building a team, but once the team is performing I found it more beneficial to talk with people on 1:1s (coffee?) once a few days to understand the status of the tasks. (project manager view)

            For reaching out for help I found group IMs + direct communication between engs more effective (timely) than stand up.

            So why daily catchup *is* needed?
            Who not once a week, bi-weekly or “let me know when you’re done” ?

            best,
            🙂

            • There are people who are more communicative and others who are – let’s say – shy. Or maybe they just don’t drink coffee. Believe me or not, in my last project, there were really 2 people who didn’t drink coffee! 😀

              The daily stand up gives everyone the possibility (and kicks the shy people’s ass) to shortly (!) mention what they’re doing. This very often actually causes a follow-up discussion about the details.

              And btw., even after team-building, the people don’t communicate via telepathy – they still need to talk to become aware of the big picture. Otherwise everyone only knows his own tasks and maybe a few things closely related.

              Why daily? Because *a* *lot* happens in one single day (at least I’m productive 😀 ). After a week – or even two – so many things happened, that the standup-meeting becomes really long (too long!) and maybe you even forget to mention some of the things you did.

              And even if you did only one or two big tasks: They’re likely already complete and you can only find out afterwards (when it’s too late) that you did unnecessary, redundant work or somehow caused other problems. Meeting daily increases the chance you learn about redundancies and other interferences early enough.

              • At least one good thing I can say about a stand-up meeting is it prepares you for that accidental encounter with upper management in the hallway or restroom when they ask “What are you working on?”

                • What is bad about curiosity of upper management? 😉

                  About daily stand-ups, well sometimes I don’t like them, they look like a burden.
                  But there is a big big upside to them! Like when I had a problem with something some of them were like “Oh I had that problem in the past, I can show you” or “I never got that right in the other project, let’s talk after how you did that”.
                  Well, if I am in the “matrix” and hacking like a machine it is a bit shitty to be interrupted, true, but I am so damn glad some people can help me or I can show them something and in my opinion that is totally worth it 🙂

                  • It is actually great to see people, that observed stand ups working well 🙂
                    Perhaps you could share how you are solving several problems the ones I participated suffered from?

                    1) Updates are cryptic.
                    Half of the team is working on technologies and libraries I have never used.
                    I do not understand what they are saying, what’s more – I do not care (I do not have time to understand all the details).
                    For me to understand – it would take 15mins talking about this problem.
                    The result is that half of the team is at any given point of time bored – the meeting is boring and the energy is drained from the team.

                    2) The amount of work is not enough for an update
                    I worked mostly on backend stuff. The reality was that tasks were taking a developer up to a few days.
                    So such person ended up reporting: “I am doing the same as yesterday, no problems” – the effect is the similar as in 1), the impression that the meeting is a waste of time.
                    When splitting work further, we usually ended up with artificial list (write pipeline – 4h, wire QA data – 0.5h, debug on QA data – 24h 🙂 )

                    3) It is hard to tell what is the purpose of the meeting.
                    I have specifically SCRUM in mind here.
                    If the purpose is to get help – why not just limit to the question “do you have any problems?” (and be done with standup in 2 mins 😉 )
                    If it is status update – why not send a status update email instead?

                    Please do not take me wrong – I absolutely see a need for communication.
                    I just do not understand what is the benefit of daily meeting of the entire team (e.g. 5-10ppl) in a situation, when I am able to really follow technically 2-3 ppl from this group (or you actually do not have this problem? in your teams most people grasp all aspects of the problem/project?).
                    Why not talk in smaller group or send an email?
                    Would it make a difference it the meeting was every second day? Or twice a week?

                    And.. thank you for previous answers 🙂


                    best,
                    🙂

                    • Hi Mica14
                      That’s a lot of points going on and I know them all from my own experience. Sometimes they even happen to me nowadays, so I can’t give you a direct solution.
                      But I will try to give some hints, you can tell me if they are helpful 🙂

                      1) I get the feeling it has to be a really big product with a lot of technologies and libraries. Difficult to say without knowing more details.
                      One question directly to you: Are you a bit curious what these libraries and technologies can do? How they work?

                      2) One idea in Scrum can be to break down tasks to be less than a workday. So if someone is saying “I am doing the same as yesterday” that automatically becomes a problem. Why was it not possible to complete the task in less than a workday? Code to complex or to much distractions because the guy from management always came to ask stuff? Probably my girlfriend broke up with me and my thoughts were not at work?
                      Debugging uses a lot of time, I have made the same experience. If it is possible the break up this debugging task into multiple tasks, that could be helpful, but that’s a tough one. If I have an idea how to solve this I will let you know

                      3) Well there is different stuff happening in the daily standup in my opinion.
                      One thing is to reflect what everyone has accomplished, well, I could do that on my own like “Yesterday I finished this and that” but I’d like to “show off” that our team has (and in this case I have) made a step to our goal. Honestly it feels awesome seeing that we perform well, melting away the tasks.
                      On the contrary there are problems, what if I didn’t manage to accomplish what I had planned to do yesterday? I could answer that to myself too for sure, but it can be really helpful if someone had the same problem or maybe some inputs. Could give you an extreme example I experienced. And well it stops you from performing great doesn’t it? So it is the whole teams interest to solve that so everyone as a team is performing better. We sit all in the same boat (except of those managers wanting us to row faster and faster) so we should work together (that’s why we as team commit on the sprint goals).
                      And at last there is the point what am I going to do today. Another one I could answer for myself, but communication is an important factor nonetheless.
                      Let’s get back to your team, as you have the problem I had with not getting what all those people are talking about. When those testing people were talking it was mostly like “Aha, okay, no clue, but I think they know what they are doing”. It was boring (and still would be if I didn’t just sit a day together with a tester). For me it helped to start looking into what they are doing. Generally said no one is ever grasping every aspect, that would be to much to ask for! Beside of that no one wants to know everything, but it helps to look left and right.
                      About talking in smaller groups, well you do that after the daily at coffee breaks, during lunch, while going out together.

                      I have no clue if this is helpful in anyway to you, I am not the born talker or explainer 🙂
                      Probably you got some hints from this, probably not. Talk about it with your team on how to improve your daily, experiment a bit with it. You know, it is your team, you have one mission together, so do it together.

                      If you like we can talk more about it, about some ideas you had, some experiences, stuff we tried out or could be worth trying out. Best contact me by mail (fabian dot schweizer at liip dot ch) for that.

                      I appreciate it that you are interested how others look at it, how they do it or how they failed it, you are driven by your will of learning and improving, that’s great! Keep doing that 🙂

                    • => 1)
                      As a freelancer it’s totally normal for me to come into a team which already worked on the project for months or even longer. Hence, I don’t understand anything in the beginning, too. But from day to day, this improves. After usually 1 or 2 months, I understand (nearly) everything and can even give helpful comments.

                      Don’t worry, if you don’t understand all! Nobody knows everything and nobody expects you to. It’s a learning process. Even if you have lots of experience, you (hopefully!) still learn new stuff again and again.

                      For me, these meetings never were boring – even in the beginning, when I didn’t understand much. Maybe I’m just naturally curious 😉 But I had the impression that the meetings actually helped me to get into the projects faster.

                      Somehow, this is like a little baby (I just became a father, lately): The baby doesn’t understand a single word you say. But does that mean, you should stop talking to it? No! The opposite is the case: Talk to it *a* *lot* and it will eventually learn the language in this process (and the more you talk, the faster it likely learns).

                      Of course, learning requires curiosity. But honestly, I never had the impression that people were bored in the daily stand-ups.

                      Since our daily stand-up (in all projects I can remember) was time-boxed (usually to 15 minutes), there’s IMHO really no reason to get bored: This gave every person involved roughly 1 or at most 2 minutes. Hardly enough time to get bored, IMHO.

                      => 2)
                      What’s the problem in saying “I’m still integrating library X, which I started yesterday, and it will likely take another day”? If you can’t break a task down into smaller pieces (even though you should – but again: I hate dogmas and I’m convinced Scrum does not require dogmas) then be it: The task takes longer (how should you break down “integrate library X instead of Y” further?) and you simply report about it. Better this short status update than having a meeting only once a week and bore everyone to death with 1 hour (or even longer) elaborating on the many tasks you and everyone else did during this entire week.

                      Btw. the time-boxing means the daily stand-up should *at most* take this long. If multiple devs state just “same as yesterday – another day to go”, then it’s likely finished even faster.

                      And breaking things down artificially as you said, is IMHO utter nonsense.

                      You know, I’m living in a beautiful country in the far South East (I don’t like Germany and only come there for work, if absolutely needed). Here there’s the philosophy: Laws are guidelines. As long as nobody is hurt, the laws don’t matter.

                      You should IMHO approach Scrum the same way: There are rules, but as long as you get a benefit from not following them then take them for what they are: *Hints* stated to be *helpful*. *Not* rules carved into stone!

                      As I already mentioned in another comment: The agile manifesto explicitly states “Individuals and interactions over processes and tools” => IMHO this means: Never stick to things like dogmas carved in stone. I know that this is hard in the Western world, where people are indoctrinated by 2k years Christianity telling everyone that God carved laws into stones (and thus all laws have to be obeyed this way – everyone else was simply burnt alive). But fortunately, these times are over. You’re not burned, anymore, if you think for yourself and do what should be done.

                      => 3)
                      Why not send an e-mail? Because nobody will read it! Why talk personally? Because we’re humans and it really has “soft” benefits, even if you don’t talk about anything meaningful (that’s why evolution introduced gossip).

                      If you don’t have 15 minutes per day for the entire team (of 10 or even more people) then IMHO sth. is very wrong.

                      Many people stated in the comments that the daily stand-up is an interruption and not worth it, but HELLO?! 15 minutes (only!) of your precious time should really not be too much to personally meet your peers and have some *real* *interaction* (not digital via some programs). See some faces instead of *the* *machine*.

                      Just roughly, the stand-up has these purposes:
                      a) real human interaction (beneficial for team-building, establishing trust and much more)
                      b) status update
                      c) identify problems (kick those people’s asses who don’t raise the issues themselves)
                      d) identify interferences, overlaps, redundancies
                      e) show things (big picture as well as other detail aspects) to everyone beyond the small code/functionality region he’s currently working on
                      f) give an opportunity for further discussion (very often, people walk out of the daily, grab a cup of coffee and talk about certain things in detail).

                      I’m sure there’re even more purposes, which I forgot, now 😉

                      As already said, I myself have – especially in the beginning of a new project – the same problem that I cannot understand what people talk about. This gradually gets less and after a while I can follow most (often even all). I usually had the impression that this was the same for all team members.

                      Agile and Scrum have the goal to distribute knowledge among the team. The more you force people to talk to each other, the more you foster this knowledge exchange. The daily scrum is just one of many ways to do this. Pair-programming is another very good way. But pair-programming approaches it from the opposite side: The daily stand-up is very superficial, i.e. comes from the big-picture-side, while pair-programming is focused on just one concrete feature in depth.

                      Nobody prevents you from *additionally* talk to others in smaller groups (probably more in-depth) about specific topics. Very often, the daily stand-up actually raises exactly these topics and causes such small-group-discussions.

                      Doing the meeting daily aims at keeping it as short as possible. The more time passes between the stand-up meetings, the more happened and thus the meeting would tend to become longer and longer (tiring people even more).

                      Additionally, doing it daily increases the chance that interferences are identified early enough,

                      – before person A broke person B’s great ideas about approaching problem X (which was not yet implemented, but person B already thought about it when working on problem Y)

                      – before redundant code was written (person A mentions sth. that is not the same but somehow similar to person B’s lately implemented stuff => refactor both A and B and use common code instead of introducing redundancies).

                      Of course, nothing is perfect. The daily scrum is not perfect. It’s just one of many ways to encourage people to talk to each other. Hence, I can state just once more: Adapt your process to your team’s needs! Avoid dogmas!

                    • hey,
                      thank you for answers. It is really useful for me to see your perspectives.
                      I guess that as an introvert I undervalue the impact of talking (as opposed to communicating in order to solve a particular problem)

                      I feel I should address one item: it is not that I am not interested. To get a full context for a task I would need to invest quite a lot of time.
                      (eg why changing the variable name that we measure is not 15mins task, but instead requires 3 days of work. It is hard to explain why in 2mins)
                      Given the amount of information I get every day – I virtually do not have time 🙂

                      And small confession – I am one of those who is supposed to want people row faster and faster 😉

                      I do have a feeling that SCRUM stand-up is trying to address to many problems.
                      Therefore it poorly solves them.
                      I would rather prefer to have a meeting focused on one goal only – like Kanban meetings.

                • And if you have to prepare to such accidental encounters and questions, then you already have a bigger problem than having or not having daily stand-ups.

      • IOW there’s no place for a person who won’t act like cattle. I’m not going to pretend I’m some 10x developer, but I’ve worked with them before and it’s much, much more productive to let them go off and do their thing and let the other developers learn from them and to some extent work around them, than try to micromanage them. (This is, of course, assuming we are talking about actual genius developers and not average or below-average developers who think they are geniuses or have “played the game” well enough to be perceived as geniuses.)

        There is no room in the agile/scrum system for individual developers with curiosity or innovation. You need to sell your idea to others before doing any experimentation, because your time is preplanned down to a very small increment.

  50. i can relate to the issues you have with agile/scrum. still though, i am happy that this methodology exists.

    in my case it simply helps me to be able to keep developing! i am quite an experienced frontend developer but i am also a single mum with a little 1 year old daughter. i moved to the country side to be close to my family since being a single mum in berlin was not an option for me. it is quite a rural area so there are no jobs here for me (unless i’d like to shave sheep or so :D). luckily, i landed a remote contract so i am able to work. every day there is a scrum meeting over the phone that keeps me up-to-date about what’s going on and makes me feel being part of a team. i get tickets assigned which i solve which is just the right kind of work for me right now. of course it’s not too mind blowing since i don’t work on some big picture. but it’s good enough so that i don’t loose my developer mojo. thanks to scrum the tasks are so well-defined that i don’t need to be physically there to be able to work on them.

    • I’m glad to hear your current job is working out well and I hope things are still going well for you 2 years later!

      I’m sorry, but you are not doing Scrum! Scrum mandates the team sits together at the same table, in-person, five days a week. Working remote is not allowed! If your team would bring in a real Certified Scrum Master, the first order of business would be to tell you to either get into the office or get fired.

      • This is nonsense and your attitude is exactly the problem described here!

        Read the agile manifesto! It clearly states “*Individuals* and interactions *over* *processes* and tools”. What part of “over processes” did you not understand? To clarify this again for you: It means, you must adapt your processes to your team!!! Forcing a team member who does a good job to change his life or even firing this person is exactly the opposite!

        Thanks to people like you, who didn’t understand the underlying core ideas and instead blindly follow the hollow letter of some process (without its spirit), talented developers suffer! And this is not only the case with scrum but with every methodology.

        I’m a very experienced developer (20++ years of experience) and I did it many projects with scrum in the past. And many of them, I did remote, too! It all worked perfectly, because we did scrum in spirit: With mutual respect, fun and high productivity, we developed high-quality-software (and yes, we invested quite some time in cleaning up technical debts, i.e. improving the quality without implementing new features).

        Btw. I never experienced failed scrum as described by the author of this blog-post! But as already said: If people like you rather fire a good employee than adapt the process to the team, then every methodology, including scrum, leads to disaster! People like you should never become in charge over any team — neither in software development nor anywhere else!

        • You could very well be right. Scrum/agile could even be the long heralded cure for warts and flatulence, however Sky Coders post is almost verbatim one of the speeches I heard at a major HCIT company. No remote! All in the same room! Orders will be obeyed! And our once ‘best of breed’ product started it’s long downward spiral into a bug infested disaster. Managers and scrum masters loved it because they could tell exactly when our useless software would be ‘finished’.

          So it seems to almost universally be a disaster as implemented in the vast majority of companies if I read both my experience and most posts here correctly. Many, including myself, have never seen a company that has implemented this methodology correctly. So it’s time to move on and find something that not only works but that can be correctly adapted to a higher percentage of companies. Because it is chasing a tremendous percentage of experienced developers out of the industry and software quality is suffering. I would point to the Windows 10 Creator update as a good example of ‘scrummed down’ software.

          And I have to ask this. Are you a scrum master? The only developers I remember loving agile/scrum were junior level or experienced developers that weren’t all that useful.

          I still say iterative development was the absolute best way to develop mission critical software. At least it worked for me. I could produce functional, compliant, well documented code on time with an extremely low defect ratio and when I did fix defects, I had a count of 0 (that’s zero) rejected by QA in testing over my 13 year tenure at my last company. I had over 30 years total experience when I retired and I NEVER saw a disaster like agile/scrum in all that time.

          • No, I am not a scrum master. And I’m definitely not a “junior level or experienced developers that weren’t all that useful”. I’m one of the best architects and software developers on this planet — all my customers are happy to confirm this 😉

            Btw. the last time I did scrum in a really well-working way was at the ENBW (a large German energy provider) in the winter of 2014/2015. This was non-remote, btw. But it shows that even large companies can implement scrum correctly.

            I did scrum many many times in many different companies (both remote and in the office) and it always worked fine. However, I never encountered such a poisonous atmosphere as it is described here so often. And I truly believe that this kind of poisonous atmosphere destroys every kind of team no matter what methodology they try.

            Trying to switch to a different methodology, because some idiots obviously cannot implement it correctly, does not help. The problems I read here are problems of capitalism (i.e. disrespect and greed) + incompetence (primarily on the managers’ side). You can’t fix these problems with any process — after all, incompetent people in powerful positions is not a problem of the methodology.

            And blaming the methodology like so many of you (especially the author of this blog-post and cyp) do, is totally counterproductive, because it distracts from the actual problems — and they are not scrum and especially not agile.

            Btw. what seems to have happened here to most of you (and fortunately never to me) is the same that happened to liberalism, conservatism and the leftists: They became NEO-liberalism, NEO-conservatism and NEO-leftists, having nothing to do with the original ideas:

            Liberalism is about liberty while neo-liberalism is about exploitation of people, i.e. constraining the freedom of nearly everyone — giving place to big-money’s liberties only.

            Conservatism is about conserving the old, while neo-conservatism is exactly the same as neo-liberalism and does actually destroy the old — thus again having mutated to the exact opposite of what its name implies.

            And while leftism is about defending the poor against being exploited, the neo-leftists only care about insignificant nonsense like genderism and the like, while totally neglecting the poor — actually even directly betraying them.

            Seems to me that while agile preached “individuals … over processes” with scrum being a concrete implementation of this principle (among the others of course), the neo-agile does exactly the opposite.

            If you tell me that a “Scrum Master” kicks out a good developer because he wants to work remotely (and this works fine), then he betrays scrum like a neo-leftist betrays the left. And if you tell me that this “Scrum Master” is a “Certified Scrum Master”, it only shows that the certification process has been hijacked by the big-money just like neo-liberalism, neo-conservatism, neo-leftism and many more. We live in Orwellian times! That’s newspeech!

            And if you want to fight this, it really does not help to blame scrum! It does not help to blame agile! It does not help to call me a “not useful developer” (everyone working with me and knowing me better could only laugh about you!), but the only thing that helps is to clearly stand up and say “NO, THIS IS NEITHER SCRUM NOR AGILE!”

            If you don’t do this, but instead look for yet another methodology, the exact same thing is going to happen to this — and suddenly you’re going to hate your new methodology — which again is the wrong approach.

            It’s just like a bad developer writing shitty code in C++ — switching to Java or C# or Scala or whatever won’t help. Unless this bad developer starts learning from his mistakes, he’s going to repeat them in no matter what new fancy language he’s going to use.

            • You type fast!

              I guess we will just have to agree to disagree. I’ve seen many methodologies come and go but have never seen the destruction to careers that agile/scrum has caused. I have personally experienced and seen this. To disagree with the mandated implementation of agile/scrum was to be out the door ‘like shit through a goose’. The methodology is too easily corrupted and bastardized, much more so than any of the others that I have been exposed to. To continue to promote this form of ‘development in the face of this does not, and never will, fix the issues. I would hold the experiences of my fellow posters as proof of this.

              • Well, honestly I didn’t take this blog-post and the commentators serious — I have seen too many bad developers searching for scapegoats to blame for their own failures, before. And I have seen many methodologies, too — and Scrum worked best in my personal experience.

                But then I read an interesting article published by a large German union. I just looked for it again — I think it’s this: http://www.blog-zukunft-der-arbeit.de/die-zwei-gesichter-der-agilen-scrum-methode/

                For the non-German speaking: The title says “The two faces of the agile scrum methodology”.

                That’s when I started to think that you might be right in that there really are a lot of idiots out there doing the opposite of agile, but label it this way — even though I fortunately never encountered them.

                Well, I’m born in a so-called “socialist” country and I can tell you: This country had nothing to do with socialism and even less with communism!!!

                Still, I’m a convinced communist and didn’t fall for the idiots who abused this term to make me spend the first part of my life in a prison (until we finally escaped it). I understood very well, that the usual evil-doers (everywhere) driven by greed abuse everything — be it the most beautiful imagineable — and turn it into their tool, thus usually turning it into its opposite.

                And having seen the same happen many many times everywhere, I drew the conclusion that the analogy of the euphemism-dreadmill you’re propagating is not helping. The people in favour of euphemisms do exactly the same: They say “don’t say ‘negro’ — say ‘black'” or “don’t say ‘prostitute’ — say ‘sex-worker'” and what happened? A few years later, the words introduced due to euphemism were burnt and had the same connotations as the old words, before.

                This approach is nonsense! Rather than accepting that idiots abuse words for different things, you should stand up and say “no, that’s not it” and proudly continue to use the old words and the old methodologies which you saw work fine. Btw. there’s proof that this approach works very well: The term “nerd” was a cussword, until we nerds started to use it proudly for ourselves. Today, most people wouldn’t think of it as a term of abuse, anymore (at least in Germany). The same happened to the German word “Hure” (prostitute) btw. — there’s a union of prostitutes who proudly use this former cussword to refer to themselves.

                And sorry, I cannot confirm that anyone is kicked out for criticizing the way Scrum was introduced. In all companies where we used Scrum, we discussed in the retrospective what went bad — and believe me: I’m very well known for saying bluntly what I think — nobody ever fired me! …and neither anyone else who criticized the Scrum implementation (or any other part of the work).

                • 1. Hure I think it means whore not prostitute . And sluts everywhere still seem to find it offensive. So bad analogy.
                  2. negro and black are not the exact same thing. negro comes from negroid and is characteristic feature are things like shape of the skull, thick lips, squashed nose. Due to inter-racial babies during the centuries there are a lot of black people that do not have negroid features and white people that do have them.
                  3. there is no way to put into practice what Agile preaches without reaching to slavery for the software developers.

                  • 1. No, good analogy, because languages don’t fit each other 1-to-1.

                    This is the union I talked about: https://de.wikipedia.org/wiki/Huren_wehren_sich_gemeinsam
                    (the german legal form is a “Verein”)

                    And yes, you can translate “Hure” to “whore” and they use this word to refer to themselves. So it is a really good analogy to illustrate the right approach: Take pride in whatever you do, stand up, and break through the dishonest euphemism-treadmill.

                    2. Negro comes from the latin “niger”. That’s why, today the Spanish word for “black” is: “negro”! Consult a dictionary, if you don’t believe me!

                    3. Nonsense. The agile manifesto has exactly the opposite goals: Empowering instead of slavery! And as soon as anything contradicts this, it is by definition not agile. That’s the very purpose of a manifesto — it serves as a definition and thus a measurement tool. Scrum is a concrete implementation of agile. And following the Liskov substitution principle, a concrete implementation must obey the same rules (behave the same as) the abstract “parent”.

                    Rather than being pissed and saying “I cannot open my mouth because I’m afraid to loose my job”, you should proudly slap the agile manifesto into the face of the next pseudo-“scrum master” who prioritizes processes over individuals!

                    • 1. Really? Call a woman a whore and will see how she reacts. Even those that have the 1000 c stare will feel revolted.
                      2. negro indeed means black … I do know my own language. But the way it was used in relation to black people has a more complex history. The first usage to designate a group of people was used by muslims and the word meant literally slave. (in arab is abed) . Then when the racial theory first appeared (which I mentioned) it came under the form negroid. https://en.wikipedia.org/wiki/Negroid If you read you will see that skin pigmentation is the less important and the less significant to the term. Most of the negro slur came from comparing the average black person skeleton to that of a monkey/ape and saying it looks more similat than a caucasoid skeleton.
                      3. the road to hell is paved with good intentions!!! But you cannot maintain order when you offer too much power to childish people. Customers being non-technical they often behave as children as they cannot understand why task A can be done in 5 minutes and task B takes 2 months. And Scrum is a bit like someone that want 9 women to produce a baby in one month.

                • I stopped listening to you when I realized you were writing leftist, liberal typical bullshit lies. Please just go away and stfu. Agile/scrum seems to be your religion.

                  As a pastor once told me “You can get down in the mud and argue with a pig if you want – but only the pig will enjoy it”

        • I will not try to debunk any of your claims. I did this in other comments but Scrum zealots will just ignore any arguments. I am just going to ask you to give me one example of a complex software product that was created using scrum at which you worked on you feel proud of. Then we can see the customers reviews and performance specs and see if it is a quality product or the usual bug riddled turd agile environments usually produce.

          • Yes, of course, cyp. Everyone having different experiences and opinions is a “Scrum zealot”. That’s because you are the only one in possession of the absolute thruth 😀 😀 😀

            And btw. you did not debunk any of my arguments in any of my previous posts! You only doubted my experiences and if I remember correctly (without reading it all again) my competences, too.

            You should slowly read my long previous post again — especially the part about the neo-isms — maybe you then start to understand that we talk about totally different things: I talk about agile, scrum, liberalism, leftism and the like — you talk about neo-agile, neo-scrum, neo-liberalism and neo-leftism. And I can again only highlight that you fight against your own goals as long as you focus your hatred on a methodology instead of denouncing the underlying problems poisoning *every* methodology imaginable.

            I totally agree that the poisonous atmosphere you and others here describe is a disaster. But I totally disagree that this is a scrum-made problem. And as I already said a few times: Fortunately, I never encountered such thing in my life, despite having worked for much longer than 20 years for many companies — any many of them doing scrum.

            If you want to see any of these complex software products I contributed to using Scrum, your only way is likely to apply at the companies I worked for. It is ridiculous to expect that a large publishing house like Haufe or one of the biggest German energy providers like ENBW (or any of the banks, insurances, car manufacturers, …) is going to give you access to their source codes, just because you doubt their quality or my word 😀 😀 😀 I think you see yourself as more important than you are.

            • I never asked access to their source code. I asked for the name of a piece of the software you designed that is both complex and you feel proud of. I would only need access to customer reviews not to source code. For instance I worked on a multidesktop application for Hercules UMPC’s . You are twisting my words and this shows your lack of honesty.I have read your previous post. You are losing yourself in non-arguments and phylosophy moving away from the point of the conversation. Typical con artist behavior. Also saying that I see myself more important than I am is not a way to prove your point. I asked for one example and you could not provide one. So basically you admit to my statement. Agile and Scrum only work in theory. That is because they ignore reality and human nature and limitations.

              • No, I do not admit to your argument!

                Most software in this world (a long time ago I read a number of > 80 %) is written for internal use — i.e. the “customers” are departments within the same company. You don’t get access to any feedback from the users, if you don’t work within the company.

                I have written a lot of software which I’m proud of, but most of it either disappeared by now (because the companies were dissolved — I shut down my companies years ago and emigrated into the tropics) or is not publicly available. And no: They don’t even sell this software, but they use it internally. If you don’t know: ENBW (one of the examples I mentioned) is an energy provider: They sell energy — not software! But they use heaps of software (most of it written themselves) inside their organisation.

                • So there is no external person to review the quality of the code… nice example… generally internal software is not that high quality because there are not enough people to test it. Can you at least what the software for that energy company did? Also if all the companies you worked for dissolved does it not mean that the quality of their products was substandard?

                  • Oh my god, you write more and more nonsense with every post 😀

                    The project I contributed to in ENBW was one of the cleanest codebases I’ve ever seen — with hundreds of automated test cases running on every check-in (and thousands every night).

                    And with every post you write, you expose more of your lack of experience in the business world: When we sold our companies, our competitors primarily wanted the customer relations. Nobody in this world really cares about high quality software except for the software developers themselves (just like all good craftsmen take pride in their *good* work). If a big business buys a smaller business (e.g. we were number 2 in the market), they don’t even review the software. They don’t give a shit if our software was much better than theirs (the customers told me so, after they were forced to migrate). They have their staff, they have their own products, and if their own software is barely usable, people are going to use it — even if they curse it every day.

                    Why do you think, people use Oracle DB (IMHO together with DB2 the worst DB on this world)? Why do you think, people use Windows? Because it does the job! It’s really shit and most people having to deal with it know very well that e.g. postgresql is much better than oracle db or gnu/linux is much better than windows. But nobody really cares about quality — as soon as the product is usable. Sad but true!

                    • 1. postgres is not as good as Oracle db sorry to burst your bubble.
                      2. People use windows for two reasons: a). a lot of commercial software is designed just for windows
                      b) except for debian based linux most other flavors have a very user unfriendly system especially when coming to installing software.
                      3. People do care about quality believe it or not. That is why Window8 and Windows 10 are both flops no one wants to deal with.
                      4. most of those big business you talk about will eventually fail as they are as a house build on sand. Especially since most are supported just by constant loans from banks. The economy is close to crash due to this.

                    • cyp – I love your posts and replies – you make a lot of sense, but I think I am through with encouraging ‘macaroni’, i. e. the troll. Yes, I misspelled his name on purpose.

                      Just for my own curiosity. You seem to know quite a lot of early, especially European and Christian history. Was this a field of study in college or is it one of your hobbies/passions?

                    • When I was young I thought about becoming a priest. I did not want the responsibility but I still continued to research in the area of theology (both christian and non-christian) in my free time. About european history being from the Balkans it was part of the curriculum during 5-12 grades. And since my country was under Ottomans for some time that part of history was seen as most important.

              • And btw. if you don’t understand and condemn me talking about philosophy, then you seriously should widen your horizon. If anything made life for humans better, it was philosophy. It’s the underlying foundation of our civilization and brought such important things as human rights and democracy (even though what we currently have is IMHO more an ochlocracy).

                You ignoring and even condemning philosophy shows that indeed, you are a zealot, for zealots (in this case Christians) burnt the libraries of Alexandria and fought philosophy for hundreds of years.

                • 1. What made life for humans better where roman & christian ideas and morals not phylosophy.
                  2. Human rights concept is mostly liberal bullshit. And is just a mask for abusing the masses as the ruler elite see fit. How come human rights fight for abortion? how about the rights of children?
                  3. democracy is a failing idea. Is the rule of the mob. And if you allow someone that does not contribute a certain minimum to the welfare of the group to make decisions (which unfortunately happens today) chaos and anarchy follows. The roman republic was an example of working democracy. Only those that served in the military or owned property had the right to vote because they were the ones that suffered most of the decisions being taken were bad.
                  4. Phylosophy for the sake of phylosophy is dead and useless. is like a tree that produces no fruit.
                  5. the destruction of Alexandria you attribute to christians yet the records are rather confusing and more than likely there where more than one libraries in Alexandria during the centuries. The first and the most famous was apparently destroyed in 48-49 BC Almost 100 years before christianity even started. Second library was subject to damage during the 3d century during Aurelian reign (who persecuted christians). Most books that survived were taken to Constantinople where they will be later destroyed by the ottoman muslims. The Seraphum building destroyed by the Coptic church at the time based on evidence we have did not house a library as we know that before most books were moved to Constantinople. So stop lying and accusing christians of something they never did!

                  • Haha! I really miss the time to continue this, but I must set this right:

                    Christianity does not have any ideals of its own except for the holy war! What you think are Christian ideals are not! They originate mostly from the Stoa! And the old philosophers tried very hard to submarine them into Christianity when they saw that Christianity destroyed the ancient civilisation.

                    Read: https://en.wikipedia.org/wiki/Stoicism
                    And most importantly: Karlheinz Deschner, Kriminalgeschichte des Christentums
                    (sorry, you likely have to learn German first)

                    If you think “human rights concept is mostly liberal bullshit”, I recommend you go to a place where they give a shit about them (e.g. Saudi-Arabia) and get your personal torture experience. Have fun!

                    • Holy war? You are confusing christianity with islam. Islam has holy war. If you mean the crusades they are mostly reconquista actions of territories occupied, destroyed and pillaged by muslims. And funny you mention Saudi Arabia which is a muslim country. I know about stoicism but is different from christianity. Anyway believe what you will your bias is evident.

                    • (previous post was not published — trying again — sorry, if the other post still pops up and this becomes a duplicate)

                      Judaism, Christianity and Islam are the very same religion in all relevant aspects. The philosophic differences between Mahayana Buddhism and Hinayana Buddhism are far bigger and still both groups are Buddhism.

                      The only reason why Judaism, Christianity (Jesus was a Jewish rabbi!) and Islam are differentiated is their extreme dogmatism and hatred.

                      And yes, you’re right: To be absolute precise, the holy wars started with the Jews — again: read Karlheinz Deschner, Kriminalgeschichte des Christentums! The first known holy wars were the genozides in Canaan — committed by the Jews.

                      However, Christianity took holy wars to a totally different level. They destroyed our entire culture in Europe. Burnt every pagan temple — including the priests. You should really do some research about Christian atrocities — it’s far more than you can imagine.

                      And since you likely don’t speak German and thus can’t read Karlheinz Deschner’s excellent work, here’s an English list of Christian atrocities:

                      http://www.truthbeknown.com/victims.htm

                    • Yeah, the poor pagans being executed for committing human sacrifices… me thinks we have laws against that now. Do you want to return to that time?
                      And what culture was destroyed in Europe? Care to explain? I am from Europe and that did not happen. Unless you consider yearly orgies and human sacrifices culture then no culture was destroyed.

                    • Of course, Europe had no culture before Christianity at all — absolutely ridiculous 😀

                      The pagan Greeks didn’t build the Akropolis, or did they??? Ah probably, this is not culture in your opinion… But for sure, this was knowledge destroyed by Christian zealots, so that buildings of this type could only be built again, over 1500 years later!

                      And of course, there was no 12 meter high Aphrodite statue in the Roman Senate, made of pure gold, molten by Christian Zealots.

                      And all the Celtic relics found by archeologists documenting that not only Romans had a high culture (long before Christianity came into existence) of course don’t exist — they are only hallucinations of the archeologists — probably they were too long in the sun — oh wait, that’s in the northern parts of Europe, where it’s not so sunny… hmmm…

                    • I forgot you consider pagan statues culture. If you mean that every culture destroyed the artifacts of the previous culture they conquered. More than that in that age anything that was no longer used was recycled. Does the concept sound familiar? why would they keep the statue? And I did mention the roman culture did I not?

                    • Do you know that for 300 years, every single day, at least one pyre was burning in at least one European city — burning innocent people alive?!

                      Btw. I totally agree that Islam is a very dangerous religion, too. As said: It’s the same as Christianity in all important aspects.

                      And yes, of course, I know that the crusades were just a defensive reaction (a counter-offensive so to say) after a long Islam invasion. This is the best short (5 minute) presentation about this topic, I know: https://www.youtube.com/watch?v=I_To-cV94Bo&feature=youtu.be

                    • what pyres do you mean? If you mean the Inquisition it was a very small thing with very few people condemned by the state for crimes that we still condemn people today to death in many countries. The only difference is that the crime weapon as they call it was magical. Some info about the spanish inquisition: https://strangenotions.com/spanish-inquisition/ . Also please note that pagan were committing human sacrifices usually kidnapping children. So do you think death sentence for killing a child is not a fair sentence?

                    • Sure, burning at least 50000 innocent people alive after heavily torturing them is really a “very small thing”. You are disgusting!!!

                      Look at this: https://www.hexenbrenner-museum.com/

                      I’m sure this is as much a “very small thing” in your opinion as the crimes committed against the Native Americans in the name of God. These uncivilized people had it coming, right?!

                      Btw., most of the people being burnt in Europe were women with knowledge about natural healing (using herbs) and therefore were competitors to the Christian monks who didn’t like healthcare competition outside their monasteries.

                      And some people burnt were like Giordano Bruno: Their only crime was to do science. Better known is Galileo Galilei — he only avoided being burnt by first publicly denounce is previous proclamations and finally publishing his most significant works after his death.

                      And you obviously are in favour of the death penalty. You are not civilized! I stop discussing with you. There’s no point in it, anyway. *PLONK*

                    • 1.the estimate is between 3000 and 5000 (not 50000) over a 300-400 years period . And I do not know how innocent they were.
                      2. Native americans already were close to extinction by the time europeans arrived mostly due to inbreeding and disease. Also you make it seem as they were one homogenous group that were oppressed when in fact there where many groups each takes sides in wars between various colonists. they had no rights because they were nomadic people and they attacked the colonists when they could not produce food for themselves because they knew little about farming.Also not sure where you get it was in the name of God. It was in the name of their own wealth or in the name of a non religious ruler of europe.
                      3. those women used to do a lot of harm by selling abortiforms, poisons and mind altering potions to people. the harm they did was great.
                      4. Giordano Bruno was not burn because of science. It was far from it. It promoted pagan believes especially related to astrology (do you consider astrology science?) and made several direct attacks as an instigator against the Pope. While I am against papacy instigation to violence against powerful people usually gets you killed. The Galiei story is even more complicated. Of course you only know the anti christian propaganda and 0 history.
                      5. I am not necessary for the death penalty. There are very few people I would be for that sentence usually for mass serial killers like the doctors that perform abortions.

                    • Again utter nonsense. I had the number from the German wikipedia, but I saw that https://en.wikipedia.org/wiki/Witch-hunt#Early_Modern_Europe estimates even higher: “Current scholarly estimates of the number of people executed for witchcraft vary between about 40,000 and 100,000.”

                      And according to the Hexenbrenner-Museum (see link above), even the Catholic Church today admits 60000 victims in Germany alone (not yet counting in the rest of Europe)!

                      Also, what you write about the Native Americans is utter nonsense — but as said: Don’t want to waste more of my precious time — was too much, today, already.

                      Btw. mother nature does natural abortions in far more than 25 % of all pregnancies. You sound like an ideologized redneck — but being European, you might be a Catholic Italian maybe?

                    • cyp & marcongui, I am asking both of you respectfully.

                      Could you both please stop polluting a heated but otherwise previously meaningful conversation with all your personal attacks towards each other and some other utterly boring and embarrassing cock fight? Seriously, what you are doing now is nothing more than spamming.
                      Please spare the rest of us the time of dealing with notifications etc.

                      Thanks in advance.

                      PS: Despite all your differences it seems to me like you have more in common than what you think.

        • Could the Adminstrator please put both these … Contestants … on a short leash? There’s more than enough heat here without bringing in specious and unrelated arguments.

        • I’m skeptical of Scrum because I’ve seen it too often abused. If implemented properly it may be a good thing, but the temptations to implement it poorly are strong. For example, it is tempting to use the story points to rate programmers. There are no story points for mentoring or helping others, so you can imagine what happens to those activities. Not all story points are the same. People tried to avoid stories that involved Selenium because we knew the story points were not adequately estimated.

          I had a coworker who was one of the best UI guys I’ve ever worked with. One day we were informed he had been fired because “he didn’t fit our process”. As you said above, it’s stupid to fire a good engineer because he doesn’t fit the process. And I know that we had a manager who refused to adjust our process.

          • Andy – I have seen (and heard of) the same sort of thing and that’s one of my arguments for moving on. Too many good engineers are being/have been ruined by this process no matter how good it may be ‘when done properly’. It may have a niche in web based development for html applications but the rest of the industry needs a better framework. Even if it was the holy grail it’s too easily bastardized into a career ending cancer.

            • I think Scrum can be abused in any setting, but I agree that it is more appropriate (or less inappropiate) for web development. Web development is more straight forward in a lot of cases. A page will get values from the database and display them or store values in the database. The users do need to see screens and see if they are what they wanted.

              If you’re writing software for the next self-driving car, it requires a lot more planning and less user approval.

        • My scrum training was done by a Certified Scrum Trainer, who had been training scrum for many years. He went through the Agile Manifesto. When we got to this part:

          “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”

          That’s when he said everyone must be in the office 5 days a week. No WFH. No remote workers. Everyone must sit in a bullpen/open office. The agile manifesto mandates it! Apparently, the manifesto is to be treated as the word of God.

          Ask any properly Certified Scrum Trainer or Certified Scrum Master, and they will agreed on this issue. Their certification depends on it.

          That’s when I knew agile and scrum weren’t really by developers, for developers. I read a lot of articles on tech websites. The vast majority of developer hate, hate, hate open offices! The dream for most developers is to not even have to come into the office.

          • This is why I hate Scrum. People cherry pick what they want from the AGILE manifesto. When I look at that statement, it means to me that people should be in the office most of the time, but five days a week? It doesn’t say that. Next thing you know they will tell us we’re not allowed to ever leave our desks.

            They have seized on one point and taken it to the extreme while virtually ignoring other points in the AGILE manifesto. Especially, “Individuals and interactions over processes and tools”.

          • It’s interesting that people are absolutists about that point, but how often do they ignore the next point:

            “Build projects around motivated individuals.
            Give them the environment and support they need,
            and trust them to get the job done. “

      • SkyCoder, that means, Scrum does actively promote pollution? Because, if I have to be in the office five days a week and cannot work in my home office because of Scrum, I need some transportation – usually a car or something.
        That makes Scrum still worse, than I thought (and my opinion about Scrum is really not good). And in such a company, as a programmer I’d prefer to get fired than to subdue to some weird Scrum religion rules without any real necessities.

  51. I only read the half of the article and stopped. Not because your opinion doesn’t fit into my understanding of effective, highly-productive software development that makes a lot of fun. But your wording is full of hate and frustration.

  52. Being dogmatic to any single approach is a problem – it necessarily makes it a lowest common denominator solution that must fit all situations.

    I understand all of the engineering side reasons why scrum is bad. And employed on a very pure level, it also sucks for the business side counterparts for a lot of reasons…..not the least of which is that ive always seen it detract from accountability – if something doesn’t get done – or engineers need to be moved off to other projects – just push part of this sprint into the next one and as long as its communicated transparently, I’m told this is working.

    That said, there are some conceptd within agile that make sense if incorporated intelligently. I am a huge fan of better connecting the business mgmt and engineering sides but to do that, it starts with the right people. I once worked at a company that professed, “argue like you’re right but listen like you’re wrong”. Get people who think like that and more than half of your problems go away. Hire engineers who not only understand that their code is a means to an end but want to understand the complexities around WHY business decisions are getting prioritized the way they are. Similarly, hire managers who respect engineering, have a capacity and willingness to understand it and share the reasons (and value) behind certain needs. Most importantly, hire business managers who recognize that decisions around value and prioritization CANNOT happen without the input of engineering leadership who provide critical input to the prioritization by understanding and communicating the true “costs” of different options (and their interactions from a code basis) but with their understanding of the business complexities will also provide really valuable alternatives that most business managers won’t see given their different vantage point.

    In other words, come to the table with the problems you’re trying to fix or the opportunities you’re trying to seize. Talk about why those things are important. Ask some thoughts around approaches and what options they open and roads they close off. Ask about the timing and the short and long term resources of different approaches. Discuss the other things that might come up. Jointly agree on the best path. At that point, both sides know why those decisions were made,what the key trade offs were, estimated time frames and the accompanying variables that could throw things off. Have a waterfall-like kick off meeting with the engineering team in which the leads from business and engineering sides jointly explain the whys and what success looks like. Allow for discussion and feedback. You don’t need massive amounts of written documents. You do need your engineering and business leads to stay in regular communication about internal and external developments impacting the project…and then most importantly, make your business managers sit with the engineers. It makes for better communication in the long run and in the short run, when a question comes up about which approach might make more sense on a UX component, you don’t need a meeting – you slide your chair over and get it resolved in a 10 minute conversation. Not only are projects getting completed at higher quality but engineers should also have a higher job satisfaction because they not only see their code but understand why its valuable.

    Yes – you still need some sort of accountability metrics, but like most crappy KPIs, code committed and stories completed measure the activity and not the outcomes. There are smarter ways to do this.

    In the end, this comes down to trust and recognizing that shit happens. A weeks worth of code will become throw away work sometimes because something was FUBARd at the beginning. And business side priorities will suddenly change because of something that was foreseeable. This WILL happen. Everyone needs to work hard to make sure it’s minimized, but it will happen….on both sides. And when it does, it needs honest conversation about why it happened. And then, move on with the best possible plan. If it happens more than it should, you move to another conversation about the person/people consistently responsible for the failures.

    I don’t know what to call this methodology other than “practical”. It has elements of waterfall and of scrum. It’s not one size fits all. It’s built on trust, communication, having the right people and the realization that success requires collaboration from both disciplines.

  53. A thoughtful and well-reasoned post which is, unfortunately, based on a complete failure to understand what Agile is for.

    To deconstruct everything would take forever. Usefully, you provide a helpful microcosm of the problem with the statement:

    “Scrum is sold as a process for ‘removing impediments’, which is a nice way of saying ‘spotting slackers'”

    No. No, it isn’t. The purpose of Scrum and other Agile methods is to help communication. To ensure that what gets developed actually solves the problem it’s supposed to, rather than some idealized problem statement thrashed out between customer and analyst with little understand of what’s required.

    It’s hard to do well. I’ve been fortunate to work in several places where it’s been done well. This post sounds like the product of someone who’s spent too many years in places where it’s been done badly.

    • I think you have to differentiate between why teams want to adopt scrum practices, and why management wants them to adopt it. What Michael is saying is that scrum is sold by management consultants to management as a way of getting rid of underperforming employees. And that may well be true: I’m not privy to those conversations.

    • “The purpose of Scrum and other Agile methods is to help communication.”

      Managers that know how to listen don’t need Scrum to help them communicate. Scrum will not help managers that don’t know how to listen.

      Too many managers believe that “communication” means telling engineers how to do their job.

      You should read some Edward Deming. Deming’s theory was that 95% of problems are due to process and not individual employees. In fact, the thought performance reviews were a waste of time. At one company I would have biweekly meetings with my manager in which I would point out problems in the process and ask them to take steps to fix them. And nothing ever happened.

  54. Sounds like a lot of belly aching to me. If this time poo-pooing on 2 of the major processes our industry utilizes was put toward being solutions oriented and educating the public how to better operate, we would probably be more receptive. This sounds like one of my kids when I tell them they can’t get a toy from the store.

  55. You seem to be confounding your ideas of how scrum/agile works with an ideal scrum/agile implementation. What you describe above is more of a mini-waterfall implementation which is why it’s so bad. In a good scum/agile implementation the stories are used as a beginning point of a conversation between the entire scrum team and the product owner. From this conversation context and an understanding of what is needed happens and gets developed. The acceptance criteria provides and end point so the people working on the story knows when it’s done and potentially deployable. In good scrum the engineers are just as involved in the story creation as the product people – that’s why it works so well. If you haven’t seen this level and the corresponding success, it sounds to me like you’ve never actually seen a good scrum/agile implementation.

    The second piece you seem to be missing – statistically 64% of what’s developed is never or rarely used. About 20% is always or frequently used. In good scrum/agile the focus is on the 20% so what makes it into production is relevant and as a result, what is delivered is successful and the methodology sound.

    • I say this as someone with some communist leanings — I would love to see statistics on the correlation between true belief in communism and true belief in Agile/Scrum. Both seem to have a lot of supporters that argue strongly for it because it works so well in theory, even though the vast majority of attempts have failed miserably. Maybe both were designed without consideration to how humans actually behave in groups.

  56. This article is a polished turd. It’s well written, but doesn’t say very much that is useful or constructive. In particular you decry “Business Driven Software Development”. I’m not sure what you propose as a better driving force to development than business objectives. Are we supposed to build software to satisfy code aesthetics instead? If you aren’t focusing on value to the business, what precisely are you focusing on?

    This has the bitter undercurrent of someone bemoaning time spent toiling for shitty management in an under-appreciated development role. Get over it.

    • Maybe build based on long-term business values, with enough notice and planning to engineer it properly, instead flitting from thing to thing based on the quarterly-earnings-based whims of a random business manager? Honestly this whole thing is likely just a symptom of the plague that is quarter-earnings-thinking. Imagine a building where the blueprints changed every week. It would look like the worst of Dr Seuss by the end. What poor builders, the managers would say. If I can change the paint color six months in and at a moment’s notice, why not the foundation?

  57. Enough “truth” in here to make this worth reading, and sharing. I’ve seen both sides of this argument, and I would venture in the end it all comes back to leadership vs management and influence vs authority. Scrum asks for leadership and teamwork. In most companies managers are given roles like Scrum Master, with no idea how to operate without authority they become autocrats instead. An autocratic Scrum Master destroys the basic premise of the scrum. But even a know-it-all Scrum Master is enough to do that. Scrum is a continual improvement model: If you think you’ve learned it all, you’ve failed.

  58. Couldn’t agree more. What’s worse are companies that believe that agile methodologies are so effective that they can be applied in all functions of the business (i.e., Sales, Marketing, etc.). Having two 10-minute daily standups to talk through sales and marketing activities occurring each day is not only a waste of time and energy but also diminishes trust of employees within an organization. And you hit the nail on the head that companies that still use agile as a selling feature are far behind the times and are definitely in survival mode because they do not have a strong reputation within the marketplace. Thanks for your thoughts and words. J.R.

  59. Pingback: Warum Scrum und “agile” toxisch sind | -=daMax=-

  60. What a bunch of horse pooh. You describe cultural & value issues of organisations and management in general and blame the process (agile/scrum). Find a better employer and read a little more about holacracy. Visit us -Groningen the Netherland -> baltimore should be doable- and see what happens if your team is aligned and organisations are management free. Than you’ll see there that agile/scrum is not so bad at all.

  61. Michael,
    Thanks for posting this. I agree with the points you make in regards to scrum. When I started my career as a software developer, as a junior, I had a really bad time grunting trough the user stories and always felt like I am underperforming. Combining all that with the imposter syndrome, it was a nightmare.

    In regards to some project management techniques. I had a really good experience working with a client on a monthly deal. The performance was not measured every single week. If the task takes three days, then it takes three days. That’s it. If there is no trust between you and the client, why the hell are you in business with them?

    I heard a great expression – “If I have self-organizing teams, why the hell do I need scrum?”

  62. Pingback: Thomas Jacob

  63. Pingback: Jason Knight

  64. As an engineer who ave worked from Big Corporations to Growth Stage to 2-person garage startups, I’m a great fan of your blog posts. And this one is no exception.

    This sustained toxicity has to stop and we should start something constructive (project / movement / campaign) in order to change things. If we initiate efforts to address few following causes, QoL of engineers will improve a lot –

    1. Programming/Engineering has ben commoditised (it’s amazing how a creative process has been commoditised !). Hence amidst of high business adoption, there are few uncertainties in developing a “Booking site for hair saloon in Ruby Rails”. It has fallen from its scientific euphoric and exploratory phase.

    2. Engineering is treated as a cost centre. As long as one works in Industry, business juggernauts will ensure that says the same. Also most of time, except few rare cases, developers are often “thought” as “disposable”, as Engineering has ben commoditised (#1)

    3. Somehow it has been assumed that Engineers are all (as opposed to a few) introvert, idiotically passionate about “cool toys and beautiful code” and pathologically incapable of discussing anything on – Market Risk, Finance, Customer Development, Product Design/Management, Customer Channels & Distribution. Hence it has been decided to not to invite them in processes or meetings involving above business verticals.

    4. Engineering & Programming lacks standardisation and hence standard deviation of quality is high. Probably in absence of concrete standardisation (as one of your older posts has mentioned), it’s perceived as a “low status” position.

    Lets start a “pro-something” movement as opposed to “anti-scrum” or “anti-agile”.

  65. LOL
    worse than a fool is people backing up a fool.
    If Agile and Scrum is evil than what is good?
    The problem here is developers not giving a f*ck about what they are developing and doing technology for the technology.
    Grow up guys!
    Scrum helps you delight customers and delighted customers pay you more…
    I’m going to write a blog post about how tech guys earn why too much leading to god complex and arseh*les a like…

  66. Pingback: 06.06.2015 – News | ATTRAPPENJAEGER

  67. I didn’t get chance to read all the comments as there were so many of them so apologies if this is a repeat. I applaud the author as the article is clearly speaking up about things that a lot of people are thinking, but feel uneasy about going public with.

    However the article reminds me of something else I hear a lot about these days – “guns kill people”. I personally hate guns and have no desire ever to fire one, but its not guns that kill people, its people that kill people. And used irresponsibly or even misused, Scrum will sink your boat too. Use scrum in the correct way and it will help your product, just like paracetamol will either kill you or ease your pain dependant on how well you read the label.

    Always read the label:-)

  68. While the most observations made by the author are appropriate, the major conclusion is rather shortsighted.

    It is pointless to blame the Scrum that is only a tool instead of asking whom does it serve.

    The most effects the author accuses Scrum of are the true nature of market fundamentalism and liberal economy itself.

    Under such conditions the short term profit is always going to dominate over sustainability,
    this is where the business goals will conflict with the engineer’s claim for technical excellence.
    More control placed over workforce, less expenditures for human resources are a good way to ensure the maximum profit.

    I could tear up and feel sorry for the qualified IT-expert who is facing devaluation of his workforce and lamenting about his “career coherency”, but I don’t –
    remembering that for the majority of less priviledged professions like cleaning ladies, sales personnel and others it is the only reality they live in, they lack any choices.

    Speaking about “agile” as an engineering approach, you can hardly deny, that from the cybernetics point of view the systems/projects with a shorter feedback cycles are more capable of surviving.
    And the self-organization and facilitated communication in teams have demonstrably proved their contribution to better quality.

    Finally, you cannot compare the Scrum with “failed communist state that equalizes by spreading poverty” without understanding the actual reasons of its failure.
    Nor understanding the fact that this state at least guaranteed to everyone the social welfare, not luxury but sufficient, earned by the land’s people on their own,
    and not at somebody’s costs or by neocolonial redistribution of wealth from the others.

    Remember: under current conditions there is no any “technological neutrality”: whatever improvements the technological progress delivers, it strengthen the power of and delivers
    its benefits to the capital owners, not to you who actually advances the technology.

  69. Pingback: Bookmarks for June 11th through June 12th : Extenuating Circumstances

  70. This isn’t a problem with Agile/Scrum. This is a problem with poor management and not setting up teams for success. The entire point of Agile is to enable teams to deliver on their own schedule and by their own rules, with the team made up of all the people who will enable that to happen.

    The problem with Waterfall is that it created disjoint teams, PMs would chuck the requirements to the Devs, the Devs would try to build to those requirements only to discover two months later that they interpreted the docs wrong, then they’d finally kick that down to QA which would find so many bugs that it needed to be kicked back to dev for another rewrite, only then to discover that it now didn’t function properly to the PMs specs… yay.

    Agile/Scrum brings all those entities onto one team. The best setup I’ve seen is to actually share the scrummaster role around on the team. There should be a technical lead that is helping guide decisions, and if you can’t figure out how to lead a group, then it’s NOT you, as badass as you think your coding skills are, tech leads actually need to LEAD, and titles make no difference.

    For all the different methods I’ve experienced in the industry, Agile/Scrum are the best IMO, it’s your job to make sure that you don’t allow technical debt to back up. That you identify critical issues and fix them as they come up. Businesses must make money, our job is to deliver software to do that, we need to work on teams, b/c you can’t do it all on your own. Talking to that team every day for 15 minutes means that you identify issues early and often and can mitigate them quickly. Planning and creating a backlog means that you have some notion of how long it will take to deliver the software, and allows you to set managements expectations. Doing retrospectives means that you are learning from past behavior and fixing forward.

    Again, your problem is not Agile/Scrum, it’s that managements expectations are not being set and maintained properly and you’re allowing certain individuals on the team to force their agenda. That is not Agile, that’s just a horrible work environment.

    • “The entire point of Agile is to enable teams to deliver on their own schedule and by their own rules, with the team made up of all the people who will enable that to happen.”

      Exactly! And this was how it started and worked for one month, before the PM changed the rules. A fundamental lack of understanding and implementation if the process probably leads to more failures than not. Try explaining to your PM that they are mismanaging the process.

  71. I took over management of a scrum team for a year as a contractor, and found that it had most of the problems you mentioned (starting with reporting to whimsical, unfocused management). I would add one thing though: when I scheduled occasions for developers to actually be creative, think long-range, improve the product, etc, they were as a rule not very productive. While these weren’t exceptional developers, I think the short-termism and atomization of scrum had suppressed whatever creativity and product ownership those developers had had — they were like short order cooks asked to plan next year’s menu. However, it should also be said that none of them voiced any real dislike of scrum as such.

  72. Thanks for sharing such a theory with us. I don’t agree of all of that, but also have the understanding that at the end Scrum is injected to solve the issues about
    – communication
    – transparency
    – workload
    within a project.
    Unfortunately I don’t see any information how to develop if not Scrum? Without any software engineering methods every bigger project would end up in chaos. So what’s your solution?
    Thanks,
    Fahim

  73. Pingback: Lazy Reading for 2015/06/14 – DragonFly BSD Digest

  74. Pingback: Why “Agile” and especially Scrum are terrible | The WordPress C(h)ronicle

  75. It’s not about Scrum, Kanban or whatever methodology/framework. It’s about understanding, accepting that the way of (whatever current) work needs improvement. Through recognition of a problem you can find a solution. Not vice versa. Agile is a state of mind. I completely disagree with whoever puts agile in the same bucket with all the rest. Being able to inspect and adapt, always aim for the best, never sit back restless and relax – is not only a way working, but also thinking, feeling, living…

    • +1
      Agile is a means to the end, not a goal.
      Whenever you think that the ever-growing complexity of the world and of software systems can be solved by decent roles or single guys (in isolation) only and by ignoring the fact, that today the only constant thing is change, you are doomed. And no method will help you in that case.

      This article starts with crap and so it ends.
      If something isn’t business (=value)-driven then it’s just playing around or being bored. Even when you do research you most probably have a motivation and expect a value of doing it.

      Another misunderstanding: transparency isn’t there for controlling people but for making everyone involved more successful. For that you need a culture that supports respect and sees failures as chances. Sad you don’t have it.

      Another one: even the best dev in the world won’t build a complex system alone and make it a success on the market. It’s always a combination of the work of many people – a team. It starts with people who listen to demands of people and markets and ends with the ones selling it. In the beginning it could be the idea of one guy but alone hw will be lost in the long term. We often hear about the most successful ones, millions of others failed or stood being small. But that does not mean they were too bad or stupid.

      If I were you I’d think about changing my job…

  76. Obviously, the author never participated in a “real” Scrum project. I feel sorry for him that therefore he cannnot recognize the benefits of agile development.

  77. Maybe you just had bad experiences with Agile/Scrum. There are many areas where I have different opinions but mostly you are talking that engineers and architects don’t have a defined place in this. Scrum Teams are cross-functional so it’s up to the scrum master and the team to identify what roles they need to fulfill the project. I actually have 1 architect and 3 engineers in my scrum team now, along with the developers and testers.
    Also in Scrum architecture emerges. You don’t need to engineer everything upfront. You build the minimal thing that meets the acceptance criteria. Thus you remain focused on the business requirement rather than spending unjustified time in over-engineering something that we don’t know how valuable would be with priorities constantly changing. That’s being Agile!

  78. This article is a classic case of somebody who has had bad experiences. Scrum and Agile isn’t the problem. The problem is that people made you believe that the things you were doing was actually Agile and Scrum. The majority of the things you’ve raised as pitfalls in Agile are the very things that Agile is meant to (and does) eradicate. By the sounds of things you know the buzzwords without really knowing why there were ever born – It’s like me handing someone a fork to eat a yogurt and telling them it’s a spoon. You then start writing about how bad spoons are because it’s not the right tool for the job even though you don’t really know what a spoon actually is…

  79. Pingback: LessThunk.com « Why “Agile” and especially Scrum are terrible | Michael O. Church

  80. Pingback: Why “Agile” and especially Scrum are *not* terrible

  81. I also work in a company that uses Scrum. Currently, we are in a difficult situation. We ca no longer implement features because of the huge number of bugs reported by the client. The huge number of bugs is probably caused by the lack of design and fore-thinking. The Scrum approach is to focus on the moment and forget about the future (to give immediate satisfaction to the customer). Now, we harvest the fruits of this approach. The code looks quite ugly, I am wondering how long it will survive.

    For those who admire Scrum, I think you are still in the early development phase of the project. Wait a little! You will realize its value when the project becomes mature and needs to be maintained.

    I don’t like the never-ending meetings. I would prefer to search silently for solutions than to loudly talk about them, without solving them. I feel exhausted after participating to those meetings.
    The world of software development seems to be led by politicians.

    • If you suffer many bugs and have a huge pile of technical debts, and only find this out now, you – the team – made the mistake to never create technical stories for them, before. This is not Scrum’s fault, but yours.

      Scrum does *not* say, you should forget about the future! Scrum does *not* say, you should write ugly code! In contrary: Scrum is about sustainability.

      That’s why Scrum actually aims at making all things – including the technical debts(!) – transparent! So that everyone in the entire team (not only the devs but also the product owner) can make informed decisions. Obviously, the product owner cannot know about technical debts, if the devs don’t track them.

      Scrum does *not* say “make + ignore technical debts and deliver now”, but Scrum says “this is the situation of your project and you – primarily PO, but also dev team – make an informed decision about it for the next sprint”. If the informed decision is to ignore the technical debt *for* *now*, in order to meet a very important deadline, then that’s fine. Sometimes this is the right choice – even though I’m a perfectionist software architect + developer myself, I understand that this might be needed for business reasons, sometimes.

      However, you can only make an *informed* *decision*, if you have information. Failing to record this information runs contrary to the spirit of Agile!

      We do not live in a perfect world and perfection is never possible. You as software developer should know this best: Very often, you either must optimise an algorithm for performance or for low resource consumption. You must find a meaningful compromise, because both goals exclude each other.

      That’s the same with the overall goals of a project: There are technical goals, usability goals and business goals (maybe even more). It does not help to make a technically or usability-wise perfect software, but deliver it years too late. Then all your (potential) customers would already have abandoned you (and used the worse product of your competitor instead).

      Producing bad software instead and ship with heaps of bugs will make your customers angry, too.

      So obviously, you – the entire team – must find a good compromise inbetween all the different, partially contradicting goals! This is what Agile/Scrum aims at.

      But you know what: I experienced your situation myself in quite a few companies, already, too. They were (mostly) not using Scrum. The problem is IMHO not related at all to the process model. Instead, all these companies had a lack of experienced senior developers. That’s where the lack of foresight came from: It originated in a lack of staff having this foresight 😉

    • …one more thing: Scrum also says you should deliver often, preferably using Continuous Delivery. However, it does not say, you should deliver with bugs. Actually, you’re supposed to use automated tests to prevent exactly this.

      Instead, you should deliver more often with less (new) features (if necessary), and *not* with more bugs.

      Btw. even though architectural flaws are harder to repair, they still can be *safely* repaired, if you have good test coverage (and a good architect). Thus, if you sit on a pile of bugs, now, I urgently recommend to put a high priority on increasing test coverage. One way to do so, is to establish the policy “Always *first* write an automated *test* for a new bug found, *then* fix it.”

  82. Scrum, is a nightmare that I’ve seen actually kill companies.
    — Michael O. Church

    Michael, it’s pretty explicit, and shows a great distress about your Scrum experience. But, as I try to demonstrate below, I fell that this bad experience comes from, simply as that, a bad project manager.

    Even if this billet d’humeur is well constructed, Michael, it clearly demonstrate a big misunderstanding of what Scrum should be, and agile in general. All you described in your post is contrary to all Scrum spirit. And should not even been called Scrum or agile.

    Bad project manager does not need Scrum to tell people they do not work as fast as they should. Scrum helps project manager to give estimate of what can be done in a certain amount of time so other team (marketing, management) have realistic deadlines. And it’s easier ton convince them it’s not possible to go faster with graphics and numbers.
    Biased definition of “what is Agile”

    Michael, you defined Scrum methodology as humiliating for developers, and prevent them to work on their duty to appear productive. Yes, Scrum is based on transparency and communication. Scrum is designed for teams, not for home alone programmers who works for themselves (even if, in my experience, Scrum works very well for one-person projects!). In a team, the lack of communication can only leads to misunderstand and poor-designed features. Reporting, in my experience, is never a waste of time as it can save many hours or days of development.

    The fundamental unifying trait [of Scrum] is violent transparency, often one-sided
    — Michael O. Church

    In great Scrum teams (product owner, Stakeholder and developers included), it’s never one-side transparency. Of course, during development phase, most of the communication comes from the “tech team” (developers and designers), but before that the project definition and the backlog grooming are time for Stakeholder and product owners to be transparent. They share their feelings, their needs. They share why they can’t spare a feature and learn when it’s not possible to deliver on their own agenda.

    After a while, non-tech teams learn that when one feature cannot be delivered in time, there is a reason. It’s not just that developers are lazy (which, before Scrum, they would probably have said).
    Poor Scrum master, lead to poor product and to poor work life

    The transparency should not be violent. In Scrum, as for any part of the life, respect and failure tolerance (to fail is to learn) are signs of great teams. The Scrum Master is not only the task manager. It’s is duty to make the life of all parts as easy as possible; to extract the best of every team member.

    Each person’s hour-by-hour fluctuations are globally visible– and for no good reason
    — Michael O. Church

    On the contrary Michael, there is no such things as hourly commitment in Scrum project, because the development team commit to deliver user stories within a Sprint. Not on a specific day or hour. In my experience as developer and project manager it is most comfortable to not have pressure on daily basis “Is this task done? And this one? And this one?” This is why estimate use abstract items.

    There is no “one person failure”. The beauty of Scrum is that, if the project fails, it’s everybody’s fault, so it’s no one. The developers failed to deliver because the product owner failed to give a good requirement list, a good definition of satisfaction, because the stakeholder failed to give a simple yet complete vision of his request and the product owner failed to detect it and the developer failed to foreseen the whole and of course, the Scrum master failed to catch the missing parts. There is no one to blame except maybe the Scrum master itself.

    Because of concepts like daily Scrum, every part of the team have a clear view on what and who is doing what. Missing, misunderstood are discovered fast enough. If, of course, the team communicate.
    Developers should be interchangeable

    Michael, next, you complain that agile treats programmers as interchangeable. But it’s a very, very good point. You should be very glad if you achieve that, because it means that workflow is consistent, and that, in a business point of view, you’re not bond to one specific person. In case one programmer only could work on one part of a project, would mean that, in case this guy is leaving the company, the product is dead, no one able to update it or finish it.

    And from the programmer’s point of view, it could be very stressful to work in other way (on the condition that the programmer has a professional conscience). Knowing that I can’t be sick or take vacation without pausing the project, put a lot of pressure.

    For people with anxiety or mood disorders, […] who tend to be most sensitive to invasions of privacy, this is outright discriminatory
    — Michael O. Church

    I’m sorry, but I can’t accept this argument! The productivity, or project tracking cannot be “privacy”! You are paid for a work, you work in a team and people wait for your work to continue theirs.
    Business-driven engineering

    I’ll pass on your two paragraphs about “Waterfall” on which I quite agree to go straight to the hierarchy part. You write that agile (while describing Scrum roles) does not have a “well-defined hierarchy”. Once again, I disagree with you because the hierarchy is pretty clear. The stockholder define its needs. The product owner choose, business centric, what should be done or not and development team has full authority on how it will be done and when.

    With Scrum, you can’t have product owner saying “I want that for the end of the month.” No, it’s to the tech team to define what can be done for each sprint, and in what order. As it is well-defined, the product owner has no way to tell the tech team to prioritize one task on another within the time of the deadline. Sprint goals are defined and ordered by the tech team.

    The “product owners” and “Scrum masters” outrank “team members”, who are the lowest of the low.
    — Michael O. Church

    Wrong statement. Each part has authority onto its own domain, to reach the same goal. Once again, it’s the duty of the Scrum master that these principles are respected by each parts.

    Then you state that reporting process should be juniors’ tasks. I’m afraid I’ll have to disagree once more. At every level, reporting help the programmer. First, to be sure that she/he has done what she/he committed into. And second, to be sure that the feature she/he is delivering match the request.

    In Scrum, programmers doesn’t “work only on [their] assigned tickets”. This is what daily Scrum are for. Daily exchanges with everyone to identify difficulties. And for those in difficulty, to ask for help and to get it from anyone in the team. Because everybody talks during meetings, everybody has his change. No newbie is left aside because ashamed of speaking to pgm.

    Agile increases the feedback frequency while giving engineers no real power
    — Michael O. Church

    At any time in the project, especially during daily Scrum, any programmer can convince and argue to delay a story or stop it. In most case, against product owner or stockholder, the programmer has support from the rest of the tech team, who understand the problematic (or can help to find ways to resolve it).

    Silicon Valley has gotten a lot wrong, especially in the past five years, but one of the things that it got right is the concept of the engineer-driven company. It’s not always the best for engineers to drive the entire company, but when engineers run engineering and set priorities, everyone wins: engineers are happier with the work they’re assigned (or, better yet, self-assigning) and the business is getting a much higher quality of engineering.
    — Michael O. Church

    I hope you’ll be glad to read that, this time, I strongly agree with you. But eventually, these engineers stopped to be engineers and became product owners.
    Terminal juniority

    Michael, let’s be back to our disagreement now, or this post will have no means. Agile does not have exit strategy because it doesn’t need to. R&D, improvement and refactoring can easily be Scrummed (or sprinted). In R&D especially, I can’t see any valid task requiring more than two weeks. It would be unmanageable. On the contrary, sprints force you to split your work to fit in. Let’s say you want to find a way to improve the response time of your API. Indeed, if you write your user story like this, it certainly won’t fit. But then, you have to think about it beforehand, and split it per example, by route. Then, improving a route, can fit in a two-week (or so) sprint, among stories from other projects. The epic “improve the response time” has no great business value because the API works well already, but is a long term goal.

    Good practice is even to keep time for anomalies, or bug fixing. I try to not fill my sprint backlogs to more than 80% of the known velocity, to keep 20% of the sprint to fix unplanned bugs, or urgent requests. This is agility, if you’re booked at 100%, of course, you can’t be agile enough to adapt.

    I’m currently reckoning of adding a “refactoring” part for each of my projects from now. And it 100% compatible with Scrum multi-projects.

    What “Agile” and Scrum say to me is that older, senior programmers are viewed as so inessential that they can be ignored
    — Michael O. Church

    Seniors are essential in every projects, Scrum or not. I’m not far from your age (I’m turning 35 soon) and I’m pleased to work with programmer 10 years younger than me to 10 years older than me. Everyone was very kind to test Scrum and, as far I as know found it useful. There is real pleasure to check task after task and see the burning chart going down day after day. And if a line stay flat for a while, we don’t have to wait for the programmer to ask for help, but we can go to propose help.

    This is the role of the Scrum master.

    Scrum does not consider experience as inessential. Bad project manager does. Maybe your team does. Scrum or not, I can’t agree more with you; it’s bad behavior!
    Dangerously short-term

    Within the last two years, before getting my team into Scrum, I was lucky enough to get a pretty good view at it from different roles.

    First, I had inner feedback from one the biggest worldwide tech company which does agile and Scrum for long. Then, inner feedback from one of the three top (if not the top-top) bank company of France which implement Scrum (from a not-at-all agile methodology).

    After many months of almost daily feedback from a friend of mine there, I’ve decided to do it. First for a project on which I worked alone. And, as I found it so wonderful, I’ve evangelized the rest of the company. Even marketers (our product owners) who were reluctant, now are very fond of our daily Scrums and backlog grooming.

    Then, I recently had experience to work as Stakeholder with one other big firm (tech) and the experience was nice. It felt good to have regular updates and mostly, on a few months project, to have a clear view at any time on where we were in the project, what’s left, what’s done.

    I do not work in a big company (but I’ve seen result), nor a startup. My company is a “regular” but dynamic company, with brave enough people at the head.

    individual engineers are rewarded or punished solely based on the completion, or not, of the current two-week “sprint”, meaning that no one looks out five “sprints” ahead. Agile is just one mindless, near-sighted “sprint” after another: no progress, no improvement, just ticket after ticket
    — Michael O. Church

    This only denotes once more the poor project manager you have/had. This is not linked to Scrum or agile. Not at all because as I’ve already said, all of this descriptions is contrary to all Scrum spirit.
    Career coherency

    By age 30, you’re expected to be able to show that you can work at the whole-project level, and that you’re at least ready to go beyond such a level into infrastructure, architecture, research, or leadership.
    — Michael O. Church

    All of this can, and should be part of a Scrum project. It seems to me that in your current position, you’re desperate to get responsibilities, and project influence. It’s very nice and I encourage you, but Scrum is not your enemy.

    Infrastructure, architecture and research are part of the backlog. Leadership is not of course, but Scrum give you many opportunities to gain the leadership not by your job title or age, but by the acknowledgment of your knowledge.
    Its purpose is to identify low performers performance

    Only really bad Scrum master will sack so called poor performers. While Scrum allow to identify impediments, it does not allow to sack a specific person, because all user stories are different, it should not be easy to blame one person for not closing a user story. And if you can, then, I really think it’s because the programmer is really, a poor programmer, and such person should be removed from a team to find another job. Kenneth S. Rubin (twitter) in his amazing book “Essential Scrum” (which I can only recommend) states that “individual velocity should never be use as individual evaluation”.

    Velocity estimation is certainly very imprecise during first iteration, or for a new team member, but this has to be considered by the Scrum master. And after a while, a bad estimate will means problems in the story definition. The Scrum master focus on the team work. Team members focus on each other’s. Programmers can judge their pair.

    The obsession with short-term “iterations” or sprints means that there’s no room to try something that might actually fail.
    — Michael O. Church

    On the contrary, Michael, like in any project management, it’s up to you, as programmer or project manager, to keep user stories dedicated to R&D.

    Focus on idle work, not idle workers […] “Watch the baton, not the runners”.
    — Kenneth Rubin, Essential Scrum p.51

    If your project manager is not kind to add such user stories in the backlog, then it would have been the same in a non-Scrum project.

    The truth about underperformers is that you don’t need “Agile” to find out who they are. People know who they are. The reason some teams get loaded down with disengaged, incompetent, or toxic people is that no one does anything about them. That’s a people-level management problem, not a workflow-level process problem.
    — Michael O. Church

    As I’ve said above! Totally agree.
    “Scrum” was a term sometimes used for what corporations might also call a “Code Red” or a “War Room emergency”

    I’m afraid I’ll have to contradict you there, as Scrum is a term used in rugby (link) and is not so much about crisis (even if I agree it can have been used for that too), but originally for:

    Players packing closely together with their heads down and attempting to gain possession of the ball
    — Wikipedia, referencing Oxford English Dictionary Online

    Go fast but never hurry […] Hurrying will likely come at the cost of quality.
    — Kenneth Rubin, Essential Scrum p.56

    In Scrum, quality […] is something that a cross-functional Scrum team owns and continuously builds.
    — Kenneth Rubin, Essential Scrum p.56

    This makes all your following statements, like “Scrum glorify emergency”, invalid. In my experience, it’s much easier to individual to manage their time and their development in a scrum environment.
    Conclusion

    I’m really deeply sorry to read your experience with Scrum, but I’m convinced that it’s a bad experience as you have bad management above you. They failed. Not you. And not Scrum. Scrum is not for every team, as you said, it’s a commitment from every members. You can’t not-be-agile among a Scrum team.

    But when everyone is in, it’s a dream!

  83. Very interesting approach MICHAELOCHURCH and very nice reply Constantine. Your experience is so valuable. I would like to see both of you supporting what you are saying data from serious books or serious web sites about the topic. Also, the figures you are showing… where have you got them from… I really want to congratulate both of you for your contributions but I would like to see a more scientific discussion. Something that can be really probed.

  84. Hi Martin,

    It’s hard to give you objective data, as it’s mainly subjective. Per example, during my first Scrum project in team, as Scrum Master and developer, I felt very relieved every end of sprint, to see all my tasks done. Every end of sprint, you have the feeling that something is done.

    The team said the same after the project. Everyone enjoyed it, especially as we were able to deliver the final product early than expected, because we were able to delay non-essential features (with weak business value) to another release. And finally, final customers asked for more important features than the one delayed. So basically, we were able to not work on feature which would have been deeply modified after first release, or even removed.

    I’ll try to have a written feedback from a friend of mine who works with Scrum on very project, including many externals, and several dozens of developer, on more-than-one-year projects.

    I’ll post here when he’ll have time to write this down 🙂

  85. “Scrum is for the body shops, the ones that expect programmers to suffer when client relationships are mismanaged and that will take on a lot of low-end, career-incoherent work that no one wants to do.” – I’ve seen this in Waterfall organizations.

  86. “Programmers are, in many cases, expected to provide humiliating visibility into their time and work, meaning that they must play a side game of appearing productive in addition to their actual job duties.” – What does this look like? How does it manifest itself? What are some concrete examples?

  87. I disagree. The first point against Agile (Business Driven Engineering) is people specific, and assumes that more “significant” persons in the team – “Product Owners” and “Scrum Masters” are dominating personalities by design. Dominating personalities will ruin ANY team, not just Agile or Waterfall or XYZ.

  88. Pingback: Professional Development 6/22 through 6/28/2015 | Code Ukemi

  89. I believe that it all depends on what are you looking for in agile. I for example can’t say a bad word about. It helped our company to be more productive.
    But you’re absolutely right – there is more and more Agile consulting firsm and the substantial part of them isn’t worth any attention. But it does not necessarily mean that the whole Agile methodology is faulty or that it doesn’t yield any results.
    Here you can find a lot of useful advices about introducing Kanban or Scrum to your company: kanbantool.com/kanban-library/case-studies

  90. Great love-and-hate kind of post, and even more fantastic are the back-and-forths on the comments… but it seems in the end it all comes down to 3 simple things.

    1. SCRUM is made for small teams. Period. The “Agile enterprise”, “Scaling SCRUM” and all that crap is simply and purely RAPING the fundamentals from where SCRUM comes from.

    2. Refactoring tickets are as relevant as any user story or feature request. They MUST be taken care of to pay down the inevitable technical debt the same way user stories/features must be developed so that you have a working product in the end.

    3. Transparency if probably the main pillar on SCRUM. If you, your team or your organization is not ready for it, then you can only rape it in a way that makes management comfortable or simply don’t use it at all.

    • I’ll ignore your annoying use of the word rape in this context Mr Nunes. Just a note on your first point. Scrum is not made for small teams. Scrum and Agile say small teams work better. And in my 25 years of software development I totally agree. Scaling Scrum stems from the fact that there are so many people doing Scrum now, we need a way to manage it. However, I do question the benefits of over complicating it with things like SaFE or whatever overly, heavy-weight process you might want to put on your already disfunctional implementation of Agile or Scrum. You need get the fundamentals right first, before you start off on this road. But I’ve had these conversations with management before and I’m sure you can imagine where they lead.

  91. Hi – I posted this on Linkedin from a share but thought it best to also post here.
    First off, on consideration, I will say I had to take into context that the tone appeared to be written from the viewpoint of a disgruntled, talented, senior engineer who has experienced some pretty bad Scrum implementations. I am truly sorry for that. There are pockets of poor performance even in Agility.
    1. Agile grew up out of web development with “fickle customers”.
    Scrum as a principle came from a report written on development by Takeuchi and Nonaka in 1986 which featured in HBR. They were looking at NASA programme management; hardly fickle web projects? It focused on the key aspects of Autonomy, Team Mindset rather than a self- centred motivation, cross skilling and subtle control systems i.e servant leadership.
    Lean derived in parts from Toyota (Taiichi Ohno, Shigeo Shingo) in the 1940’s-1970’s in order to increase quality, reduce risk and drive out waste in manufacturing cars. Again not a software based implementation.
    2. Agile prevents developers working on “long term” exciting products, micromanages them without empowerment and exposes them to too much visibility.
    a. Exciting Projects – I began my first agile project in around 2009-2010. As at 2015 that product is still in production, with a defined roadmap of improvement with some of the same team still working on it. They are still being rewarded and recognised for their work. To date, I believe, the product has netted more than £100m for the company (It cost about $400k to develop). Pretty good ROI huh?
    b. Micromanagment – I have served both as a scrum master and a product owner., I learned in all the bog standard training that we worked as a team and were empowered as a team. It was not my job to force my team members to perfect their estimates. It was about continuous improvement. As I have matured in my knowledge of agility and the intrinsic motivators of people; micromanagement doesn’t appear high on the list for knowledge workers.
    c. Visibility – . Why would providing visibility of progress of a team be dangerous? It sounds to me that the author had a scrum master who was reporting on the wrong metrics. Unless that teams velocity was being compared to other teams? Which is dangerous, de-motivating and wrong. I do agree that Agile ways of working do determine waste quickly and, in the words of a fellow coach, “People self-select to leave agile teams if they are “super-stars, falling stars or shooting stars”. That’s ok. Agile doesn’t work for everything or everyone.
    3. Scrum has no career path.
    LeSS, SaFE, DAD. Release train engineer roles, architectural epics and runway, Architectural Governance board etc. Agile at Scale offers many more challenges and role for senior engineers.
    I will use the career path of a previous developer I worked with for this. C is a very capable engineer who specialises in C++, .Net and other MS technologies. She worked with me on my 2nd Agile project as my tech lead, she was allocated at 70% capacity to allow her to also do some personal R&D on a separate project she was working on. At a certain point in development, C merged in her “pet project” which allowed us to benefit from automated deployments, this caused me to not deliver some of the features I had promised the business. BUT I respected C’s opinion. C was soon promoted to head of architecture for the Product Group I worked in. She worked across initiation for multiple projects. Since this time C has moved to a new company and is working on Scaled Agile Engineering programmes. C is the perfect example of someone who forged their own path as an Agile engineer.
    4. Agile is Short term
    I have been working in Agile development using Scrum for almost 10 years. Many other coaches I work with have experience in RAD, Crystal, XP, Lean since the 80’s.
    a. “That is, it’s for firms that don’t have the credibility that would enable them to negotiate with clients as equals”
    I work alongside IBM, Accenture, Deloitte etc. These organisations do not seem to lack credibility with their clients given their latest results on the NASDAQ.
    b. ““Agile” in a corporate job means pain and risk without reward”.
    Jobserve, monster etc say the average salary for a developer with agile skill is pretty high? I know personally that headhunters for more senior roles i.e Head of, CTO, CPO are demanding Agile Transformation skill these days.
    c. ”It doesn’t make sense as a permanent arrangement; at least, not for high-talent programmers who have less stressful and more enjoyable options.”
    I agree. See my comment about super stars above. Agility is about the team and the best work for the organisation. My personal move to agile was away from thinking I was the best and toward thinking that actually I want others to succeed. Not everyone is built for Agile development.
    5. “It has no regard for career coherency.”
    I am working with a big banking client who is re-organising their KPI and reward structures around agility. Team metrics rather than soley individual. This is not unusual with scaled agile thinking.
    Secondly, at 33, my tech lead and I were in-front of the Chairman(and country head CEOs)of a large retail company showing my latest project developed in Scrum. I don’t know if there was any higher recognition at the time. (NB: I was head of a department within 5 years. He now leads the engineering department of almost 300 engineers. )
    6. “Its purpose is to identify low performers, but it has an unacceptably false positive rate.”
    Reading this argument I felt genuinely sad. I can say that as both a female in IT and someone who has experienced bad management as it appears this author has.
    The high anxiety state that the author refers to is inherent in a system that does not have sprints or iterations built in for reflection and refinement.
    My key arguments are closed by this: when I experienced these same impediments and challenges in my career I followed it with anger and determination to figure out how to work with the system or change it. Acceptance is the key. Agility is not going anywhere.
    Organisations need to be agile to deliver in a marketplace that is constantly changing. Not ever project, product or person has the capability or necessity to be Agile. That does not mean they do not have value. I personally feel that one must find their own way and their own intrinsic motivation. I am motivated by team success, constant innovation and working in a fast paced environment with brilliant engineers and business people. Agile thinking breeds that kind of work.

  92. Instead of sh**tting over everything, come up with alternatives. Your article is quick to highlight the bad but does not propose alternatives, so i don’t see the point of it. The point is SCRUM is HARD, and needs more people to understand the actual way of implementing it (e.g. r&d can be built into sprints, i i regularly do so)

  93. You Sir are nuts. Iv’e been a lead architect for 25 years and Agile done right is the one and only project methodology I have ever seen that works. But hey you did get a ton of comments 🙂

  94. It’s not the fault of a kitchen knife if somebody uses it for stabbing the others. You dont call for a ban on the knives, do you? Many of the things that have been mentioned in the article result from a wrong implementation of agile principles.

    “Agile” is not the opposite of Waterfall – it is driven by a set of principles focusing on value. if a meeting. say for instance “Standup” is not working for the team, the team is free to dump it. The agilists are expected to question everything – ‘What value does this bring to the team?” and if they find no value in doing something, they just dont do it.

    Micromanagement is different from self-management and agile principles are about the later. If a Scrum Master is micromanaging the team then it’s the fault of that person and the team, not Scrum.

    The bottom line (literally) is: You can not blame “Agile” for its faulty implementations.

  95. I feel this article should be discussed at one of the Agile/Scrum conferences – It clearly showcases how people get the concepts wrong. A wrong application of agile approaches is much worse than the command & control approaches.

  96. Pingback: Monday Meetup to Apply Agile to Business – Hawaii Blog

  97. You’re right about one thing especially. Scrum is a stupid thing where ridiculous amateurs like “scrum masters” and “product owners” get to tell previously senior chief engineers how to develop software, and push them around at their will.

  98. As someone who’s been doing Agile and Scrum for more than 10 years, I should not be suprised with the response from an article like this. It highlights that Agile and Scrum are, yes, not perfect and as many have said before, difficult to do well. Even Mike Cohen says now “I could be wrong”. Agile and Scrum are an approach but I do believe they are better than what has become before. Much of the ranting from people here stems from confusion about the Framework of Scrum, what Agile actually means and, of course, management confusion. I’ve faced all this and will continue to face it. Reading a book, website article or attending a training course isn’t enough. It takes time to understand Scrum and what Agile actually means and what it involves. It’s huge change for everyone in an organisation because everyone has to change. Try, Inspect and Adapt as we work together to produce a quality product. That’s Agile. No one said this was going to be easy. Life is not a long, smooth flowing river.

  99. Great article. In my group Agile / Scrum has been in practice since January. I see the same issues that you describe. The focus is on the sprint. We have long term projects that need to be completed, but they are always pushed aside. The more interesting aspect is the dissatisfaction of the senior people. One is ready to leave the company or force a transfer. Either way it would be a huge loss. Others are looking to transfer into areas that are not under the same constraints. Eventually the boredom and lack of tech growth will take an awesome team and turn it into a low-level one.

  100. I developed software projects for 15 years using waterfall. It failed at it central mission most of the time and management’s response was more waterfall. I’ve worked on a scrum team for 6 years now and I have not one scintilla of doubt that for all of its faults it still beats waterfall by a country mile. I know, “it’s not either” or but really it pretty much is. Most methodologies are just variations on agile or on waterfall. Yes, the standup is mostly a waste of time, yes there is a bit of micromanagement you have to get used to. Still, I would never go back.

  101. You don’t run a marathon in sprints!
    There is a progressive group out of Texas that is selling this scrum/agile garbage to all these idiots in these idiot ran corporations.
    It’s the Russian, Chinese, Australian, and dumb ass American kids that have been indoctrinated into this idiot ology. Defend scrum like you would your communism. If it’s not working right for you then you’re doing it wrong and need to hire the Texas progressives to come in and show you how it’s done. What a bunch of crap! How about conversation based requirements? If that’s not being set up for scope creep, I don’t know what is. Scope changes but timeline does not? But it’s ok because you are agile. WOW.
    What about this activity based development that the Australians are trying to push as part of their scrum bullshit? Should I bring my nap mat? What is this? Kindergarten? They are buying up all our companies in Colorado and now we even give them control of our toll roads.
    One Australian said in a Computershare town hall meeting that if you don’t like the methodologies than you need to look for a new career. Why would he preemptively say something like that unless he knew they were doing something communist? Nobody dare to speak up against scrum/agile or risk losing your job. I say if you like scrum/agile you need to find a different country. Watch out for the Australians, they talk so much smack about the USA they do not like us and are coming here trying to change our ways. Don’t even get me started on the Israelis that seem to be getting all the VP of technology jobs and acting as micromanagers to prove how awesome they are. And now Microsoft jumping on this anti American bandwagon pushing all this crap in TFS along with their government common core. In 20 years of software development waterfall has always worked fine. You actually get requirements and can discuss any issues directly with business or business analysis beforehand and if things need to change it’s never been a problem. If you have a scrum master then you are a scrum slave!

  102. Your article is a clear display of either deliberate or accidental ignorance. You didn’t link to the Agile Manifesto (http://www.agilemanifesto.org) or the Scrum Guide (http://www.scrumguides.org) to refer to the definitions of these. In the charitable case that you were accidentally ignorant, I would love to see an article where you describe the problems with Agile and Scrum as they are actually defined, not some ignorant cargo-cult straw-man definition of Agile and Scrum.

  103. My limited exposure to agile/scrum so far has pretty much amounted to A) Micro-management to the nth degree B) FAR more time spent in meetings: Sprint planning, backlog grooming, daily stand ups, retrospective, show & tell, etc. and C) The constant, and I mean CONSTANT rush to beat deadlines at the end of each 2 week spring (or however long your sprints are). Get the user stories completed by the end of the sprint, or else!

    Yes, in waterfall, you still have a deadline, but it’s ONE deadline at the end of the project, and you’re still busy working.

    “Under Waterfall, engineers are relegated to work on designs and build systems after the important decisions have all been made and cannot be unmade” —-> This is one of the biggest myths that I’ve ever heard. I’ve never worked on a major project under the waterfall methodology where requirements haven’t been changed, added, or removed mid-stream. Nothing is set in stone, no matter which methodology you’re using. NOTHING.

    Agile sucks, IMO. If nothing else, I don’t have to sit in a pod with my coworkers in my lap under a waterfall methodology.

  104. Also, I’ve ready over and over that agile is not necessarily “better” than waterfall and vice versa. That being the case, why is nearly everyone out there converting to Agile if it isn’t inherently “better”? WHY?

    • Waterfall is a plan-based development.
      Scrum is influenced-based development.

      With Waterfall, you have a finished product.
      With Scrum, you have a LEMON product.

      Even gamers notice that the game software today are riddled with bugs because of scrum. They are LEMONS that users put up with everyday. Scrum creates LEMON products that needs constant fixing.

      Google Chrome is becoming a lemon. Firefox is a TOTAL lemon today.
      I now use Slimjet browser because it is the most decently fast browser that i could find online. Torch used to be fast and is now fast-becoming a LEMON.

      Scrum uses influenced-based prioritization. This means that the user with the most influence will have that user’s story on the top of priority list. I am a user of a LEMON product developed using the Scrum framework. My user stories have been on the product backlog for 3 years. I have no influence. I am not bribing the product owner to place my user stories in higher priority.

      When I was a programmer and the users would submit their modification and report requests in the queue, the users who fed me with free donuts, bananas, sodas, etc. were placed in the top priority for their requests. They were all bribing me with food to place their requests in high priority and it worked. With SCRUM, product backlog prioriization is based on influence not business value. Whoever has the loudest mouth kicking and screaming and bribing will get heard and will have their user stories in the higher priority. Those who are silent will have the user stories in the backlog for many years.

      SCRUM produces LEMON software that is eternally deficient and eternally defective.

      SCRUM does not work. I want it to be like in the olden days when software was deployed bug-free and complete with all the working features and functionalities. I want software with features that make sense to general users not a feature that was fantasy feature request of a user with clout.

      Today, as a user, I spend my time working around the deficiencies and defects of the LEMON software developed using SCRUM. I have to put up with these defective and deficient software everyday for work.

      Most software today that is being deployed are lemons compared to the software developed in the 1990s and early 2000s. This is also affecting the gaming industry and the gamers complain that there are more bugs today than there has ever been.

  105. Pingback: Building |

  106. All the opinions in here make me lol.
    If you can’t adapt a style to make it work for the team you have, you’re a bad manager. Don’t blame the books, blame yourself for thinking you can follow a blueprint and manage complex people. These methodologies have merit and can impart ideas, but successful team management requires real agility. Methodologies only care about process. Team management is about people and process.

    • Or methodology you’re trying to apply is stillborn. If you can’t levitate things with a power of thought it’s just you simply not trying hard enough

  107. I think you got the term “agile” wrong. Scrum was labelled “agile” by its inventors, but actually it falls into a different category. Agile describes a software development process, while Scrum is a management method, which may or my not be applied in agile or in waterfall development processes.

    “Agile” basically means that the developers work closely together with their users, and quickly respond to their changing needs.
    Therefore “agile” refers to technical rather than to management methods to achieve the goal of being agile. Such technical methods focus on ways to maintain high quality in short release cycles. They are in the areas of automated testing, continuous integration and delivery, VPN connection to production servers etc.

    Management methods like Scrum have been invented in a more or less successful attempt to support agility by management, but they must not be confused with “agile” itself.

  108. Pingback: Engineers as clerks? How programmers failed to get the status they deserve. | Michael O. Church

  109. Everything I read about Agile is from a software perspective. I’m in marketing and my company implemented Agile 14 weeks ago (via consultants who are pretty much running the department at this point). For me, it has been a fairly miserable experience. Would love to read anything on how to make it successful (or at least bearable) outside of a programming environment. Any suggestions?

    • It is not successful under programming environments, but the problem is that neither the programmers or the customers are the ones that decide of the methodology is good but the managers who do not have a clue about how real code is written.

      • As developers, have you guys ever tried to disobey and just approach the project the way you know is right despite of whatever bullshit methodology is being imposed from the above? I did a few times but it’s not of much use really, first you have to swim upstream and personally bear any risks of failure and once it finally worked out those cowards who “managed” you all this time (didn’t interfere with your work at best) will reap most of the benefits of your hard work.
        I didn’t find other way but to to quit shit projects as early as possible.

        • usually just gets the managers angry. If you do it too often you get canned. So you have to trick them into believing that the change you wanted come from them but is hard as they are like horses with blindfolds. Anyway +1 for the points comment. Also technically it could work in iterations if they are large enough i.e something like 3-4 months.

  110. The real Agile Manifesto of the developers that created the manifesto is JOB security. Agile scrum is what we used to call QUICK and DIRTY in the olden days. The developer creates something quick and dirty for the demanding user who wants the feature immediately. But the end result is a on-going defective, inefficient and incomplete system with faulty overall coding design and architecture. This agile framework wastes overall productivity of the general users and only satisfies a few demanding users who wanted their piece of feature implemented.

    I am surprised the Quick and Dirty development has become a fad and it explains why many deployed software today are inefficient, incomplete and have so many bugs. This explains why Firefox is so inefficient and slow. This explains why IE is inefficient and virtually dead (discontinued). This explains why so many business software are very inefficient and riddled with bugs with the most simple bugs that are easy to fix but never fixed because these bug fixes are low on the product backlog priority.

    All Agile does is create job security for the developers as firefighters to serve the impatient user who cannot make up his/her mind. Because the system is designed and developed in piecemeal, the number of bugs and incomplete features/functions escalate.

    Take a survey of users and you will find out how many users are very frustrated with the massive waste of their time when a new or new release software system is deployed. They are having to work around the bugs, inefficiencies and incomplete features/functions of the system.

    Gone are the days when a deployed system is bug-free, more efficient than the old system and have the complete all-working features/functions as originally required.

    • It’s not just frustration that new software, or a new release, are buggy. It’s the frustration that there’s a new release AT ALL.

      A “continuous delivery” model may work when a company has control of a web server (or other centralized system). It is not so great when products are distributed, on desktops, in embedded systems (you ever tried releasing safety-critical software embedded in over 100,000 on-the-road vehicles?) The software integration and release process must be designed and managed much more carefully, testing has to be done with backward and forward compatibility in mind, there will be multiple versions of the software in the field, and so forth. None of this seems to be covered by “continuous delivery”.

      We only have to look at how software updates are done now for box software – instead of a nice release every couple of years, we get incremental updates so often, that usually want to update themselves either when we switch the computer on to use it, or want switch it off (i.e. the two worst possible times to choose to do an update), that we get no choice whether to install the update or not, with very little idea what impact it will have on the system overall. Users buys (licences for) the software and should be able to CHOOSE if they want to have an update. Most of the time the update is for some part of the software that I don’t use, and I’d choose not to install an update rather than risk it breaking something else. But these days I don’t get that choice.

      So I have to put up with crap like Microsoft’s Ribbon for Office apps. Now, there is maybe nothing wrong inherently with the Ribbon, except that you’ve completely changed my way of working and I have to re-learn the entire app to find out how I do something that I’ve been doing the same way for twenty years. For no added value. That’s just an example, because it happens EVERYWHERE. Continuous Delivery is not necessarily a good thing. Continuous Integration is great, because it flags up problems very early, which is what you want – the later you leave anything in a project, the greater the risk and potential cost to fix – but don’t dump a new release on the customer every morning. That helps nobody.

  111. I’m sure this has been said before, but there are so many comments I have to admit, I didn’t read all of them. Everyone is entitled to their own opinion and Michael is entitled to his. Mine is that we have all these “lemons” for one very unfortunate reason: those lemon teams tend to pay lip service to the agile principles. Those are the 12 statements beyond the agile manifesto that a few teams ignore because its so much easier to just get on with the sprints and start developing in the same way we did before. They are driven by a different set of principles geared towards just hitting milestones, regardless of quality and sustainability. Very often its not the team’s fault as they are ruled by a culture of fear of reprisal.

    If implemented correctly(and that’s not easy, but who said agile was easy), the agile principles ensure that we develop code that is easy to maintain and enhance, and the team can go on doing that indefinitely if necessary. The problem comes when the objective that agile is used to achieve is not a high quality product that satisfies the customer. Some of these teams say they are agile, but they’re not delivering working product at the end of a release, let alone at the end of a sprint. And they’re developing the code in the same way they did before, ie “test last” rather than “test first”.

    Somehow we need to make saying you’re agile or that you’re doing scrum a lot harder. Agile is too generic a term and its way easier to say than be. So maybe we need to get the 17 back to Utah and do a bit of refactoring on the manifesto. I’m happy to deputise for any of the 17;-)

    • This is a typical day of a user of a LEMON product developed using the SCRUM framework.

      User Call to Tech Support: “Hello, when I click on this button, it is supposed to publish all my changes. But the system stays hung forever.”

      Tech Support: “Let me try it at my end. Oh, it is not working at my end either under your account. But it works for the other accounts, so it must be an intermittent problem.”

      User: “I have submitted a bug fix request on this a year ago. When will it get fixed?”

      Tech Support: “I do not know. The developers are working on other things.”

      User: “So what should I do to publish all my changes?”

      Tech Support: “Do this workaround. Publish it without the changes first, then use edit to make a change one at a time, then publish each change.”

      User: “I have over 100 changes, so I have to publish over 100 times?”

      Tech Support: “Yes. Do that for now, until the developers can fix it.”

      User: “But, they will never fix it. I had another bug fix request that has been on the queue for 3 years and that was a simple alpha sort bug fix that they would not fix. The 200 items are unsorted and out of order. It has been 3 years and they have not fixed this. I am wasting my life looking for items in this unsorted list. Then they come out with a new software release update to include a NICKNAME field so Richard can use his nickname DICK. How is that more important than the sort bug fix?”

      Tech Support: “I apologize that you are having issues.”

      CONCLUSION: A five-second click of the buttom to publish the work turned into an 8-16 hour WASTE of work-around. This has been how the life is like of the VICTIMS of SCRUM LEMON products.

      • Another example victim of SCRUM LEMON product.

        User Call to Tech Support: “I am using this new system. In the old system, it allowed me to copy an existing folder to a new folder. Where is this feature in this new system?”

        Tech Support: “Umm..let me see. The copy feature does not appear to be in the new system.”

        User: “So, what do I do now?”

        Tech Support: “You have to create the new folder and its contents from scratch.”

        User: “You are kidding, right?”

        Tech Support: “No, I am serious.”

        User: <>>

        Because the new system is deployed in pieces using SCRUM, the CONTRACT users who are paid by contract with a fixed $ amount not by the hour have to waste 1 to 3 days of work-around (UNPAID) to create the new folder and all of its contents from scratch in the new software system.

        In the olden days, software was distributed using floppy disks or CDs and the software in those disks were complete, 100% functional and bug-free. I will never see that again with companies using this SCRUM framework.

      • Like I said, its way too easy for teams to “say” they’re being agile or doing scrum. Its obvious that the team responsible for the product in your example is definitely not.

        • Yes, they are doing scrum because they had a job opening for a Scrum Master in which the required skill was leadership in an agile software development environment. Another way to find out is search glassdoor and any job search site for the company name and the job title scrum master.

          Plus I work for a company that uses scrum and I am using their lemon software right now. The state of that software is so miserable that it seems like it was developed by uneducated programmers off the street who know nothing about system requirements analysis and design as well as testing. It is like living in a twilight zone run by poorly educated developers. The difference is so stark when I used to be a programmer in the olden days. The team has NO GUILT and NO CONSCIENCE in deploying a buggy system. The team does NOT apologize for deploying garbage and for wasting the users time with their lemon product. Their software is used by thousands of users and when the users call and complain, they already have their standard workarounds and what/who to blame and their excuses which is EXACTLY what you are doing. They blame the browser of the user, they blame the ISP of the user, they blame the computer of the user, they are the KINGS and QUEENS of excuses. It is literally like working with people possessed by the devil. As long as the system works in their development environment, everyone else is hallucinating about a buggy product. They do not care if users wasted hundreds and thousands of hours on workarounds. Conscience is not in their dictionary.

          • It’s also worth pointing out that, even if there were nothing wrong with Agile processes themselves, they’re sold to businessmen as magic sauce that allows mediocre, “off the street” (to use your terminology) developers to tackle big projects if stapled together in large-enough teams.

            Whatever you think of Agile, the Commodity Developer culture is pure evil. It also doesn’t work. It produces the culture of tolerance for buggy, unreliable, and often unfixable software that you’re talking about.

            • SCRUM = LEMON SOFTWARE APP + USER WORKAROUNDS

              I expect Microsoft to hire the most talented software developers. They also deliver buggy apps which leads me to believe that the scrum framework that they use is not effective.

              Search Google for “Microsoft acknowledges multiple issues with Windows 10 DVD Player app, suggests WORKAROUNDS” Sep 16, 2015

              Search YouTube for “Scrum at Microsoft: See the TFS Agile Team do a Scrum (aka Stand Up) – Long”

              The buzz word is WORKAROUNDS.

              The software interface looks good but the features behind this interface is buggy.
              It is like buying a Porsche car that looks gorgeous on the outside but when you try to run the defroster, sometimes it does not work. The WORKAROUND is to blast the heater in front to hopefully defrost the back windshield. When you turn on the normal fan even with the temperature slide in the blue (cool air), sometimes the air that comes out of the vent is super hot like the heater is on. So the WORKAROUND is to turn on the AC to combat the hot air that comes from the vent.

              The value attained from the new software release is that it looks “physically” better than the old release, however start to run it and you have issues. When software is delivered using the scrum framework, the users better be prepared for WORKAROUNDS.

              This is from the user perspective.

          • Like I said, doing scrum and being agile are two very different things. Anybody can say they do scrum but only disciplined teams tend to be agile. Anybody can say they have scrum masters and even product owners, but ask them to have an agile coach come in and observe them will usually result in “ah yes, we have a product backlog, but…”, and “yeah, we have a product owner but….” and “of course we do testing, but….”. In other words there’s more ScrumBut than Scrum.

            • There should only be 10-15 backlogs, not hundreds.

              From a user point of view, when a new software system using the SCRUM framework is deployed to replace the old software system, then the list of user stories grows exponentially after the live implementation. The increased number of user stories is due to the incomplete implementation with missing features as well as defective functions and features of the new software. In other words, the newly deployed system is buggy and incomplete as compared to the old system.

              So the user stories increase tenfold to hundreds of user stories. Do you have any idea what those new user stories are as a result of the live implementation? Those are user SACRIFICES of having the users WASTE MASSIVE AMOUNT OF TIME and wasting their lives with WORKAROUNDS on that buggy, defective and incomplete system that has just deployed. To the scrum team, the user story is JUST A LIST. The list means NOTHING to the team. They are celebrating that they released something and they are proud of themselves that the team accomplished something.

              Let me repeat, if the deployed system is complete and bug-free, there should only be 10-15 backlogs, not hundreds.

              The team is shielded from the users because the users are calling Tech Support. And Tech Support are adept at making it look like that the software issues are the users’ fault. Tech Support is playing mind games with the users or playing dumb with every user as if they are hearing of the issues for the first time at every user call while the team celebrates in the background. In the meantime, the calls to Tech Support die down because nothing was being done. The next release did not fix the bugs, then the next one and the next release after that did not address the bugs and missing features. The next round of update was few and useless to the general users. The users do not even call Tech Support anymore on any new issues because their previous user stories are still on the queue as if they have been forgotten. They call and Tech Support acts as if they are hearing of the issue for the first time after being in the queue for over a year. So the users live with a lemon software system day-to-day with their own workarounds on the defective and incomplete software system.

              The team has no idea how much the users are SUFFERING wishing that the whole system would go back to the old system with no bugs and with all the functionalities some of which no longer exist in the new system. To the users, the user stories are stories of their PAIN and SUFFERING wishing that the deployment of the new system was COMPLETE and BUG-free.

              To the scrum team, the user stories are just a FACELESS to-do list that guarantees their job security. SCRUM is an illusion that the team is delivering business value every 4 weeks but they are not. They do not put REAL suffering humans behind those user stories. If you have 100 user stories from 100 users, then that means 100 users are currently suffering and wasting their lives doing workarounds. Some of these users are contractors with fixed wages and are not paid by the hour. The scrum team has added to their workload (UNPAID) with the time-consuming workarounds.

              If the users could sue the scrum team, the company should pay those users for wasting their time and lives with workarounds.

              • One small comment: they are not playing dumb. Agile means there is no documents withe every change and every feature explained in detail. You have bits and pieces someone has to pick up from maybe a few hundreds of developers and compile into something partially coherent. Considering that some programmers do change jobs this means some pieces on info can be lost forever. This is because Agile is against rigorous planing. You just plan for the next sprint and for your section of the software. There is no big picture. If you ask a programmer about a part of the code they had not worked on they have no idea and there is nowhere these things are listed.

        • This SCRUM approach reminds me of a programmer I supervised when I first worked for a company in the olden days. This programmer managed to come out as a hero everytime he delivered a completed user request because he used quick and dirty techniques and delivered software and fixes to the user quickly. The problem was the software became a lemon. So everytime the user had an emergency with the system, he would fix it and he would be hailed a hero by the user complete with gifts. He loved it. But what the user did not know was that the programmer created the emergency. He was always needed to make the system work doing fixes in the background so it does not die. He created his own job security and he cannot never be fired or the system would die. If he was not around, the software would die on its own.

          I was hired to replace that system with a new one and we replaced it in one year using the traditional methods and full-blown user testing. The emphasis was on complete and detailed testing because I did not want emergencies from users. We recruited a lot of users to test and break the system before going live. We went live with no problems. Everything was 100% working bug-free because we invested a great amount of time in testing.

          Now this quick and dirty approach is everywhere and it is like I have woken up and gone in the twilight zone. Even those young adults who played endless video games when they were young children noticed the stark difference with the quality of video games today. Video games today are riddled with bugs. Search Google for “Why are so many video games broken at launch?” “Why video games today are filled with bugs and glitches”

          Who are this generation’s developers and programmers? Who educated or trained them? What in the world is happening with today’s software? It is like a nightmare.

          • I know what you mean. I usually would find the quick and dirty solution first and basically ask the manager if we should implement it or allocate more time to do things right. And with few exceptions the choice was to allocate more time. Other people just went with the QD and then of course someone else had to rewrite the whole thing later.

  112. Pingback: Silicon Valley can be beaten. | Michael O. Church

  113. This Article show exactly, what I am thinking about and experiencing with SCRUM. I am a senior engineer, and I cannot see any advantage in Agile Programming. On the contrary: At the very least, 20% oft time, precious time, which could be used for R&D, is used for mere meetings about what to do, how to do, and when to do. Because the whole program is divided into hundreds of small tickets, you never have a complete idea, what is going on in the program.

    In the old days, the ToDos were specified by a PM _before_ programming started, a developer team got a whole and complete specification, and developers could think about the best way to implement the requested features.

    These days are over, programming has degenerated into an assembly line job for typing monkeys, driven by always-mind-changing PMs and always-not-certain-what-they-really-want customers.

    • It’s about control as well as managerial face-saving. If there’s a plan, then it can be challenged by programmers who are, quite frankly, often smarter than the people writing the plans. If there’s no plan because you’re “Agile”, then there’s nothing that can be challenged.

    • There are some advantages. The customer thinks he gets a better deal because he gets all the illogical changes he wants even if the software is full of bugs like swiss cheese, the managers can basically do nothing but stay in meetings, the smart programmers can cheat the story points to slack off and everyone is satisfied with a shitty software.

  114. Pingback: Another good rant on Scrum | A developer's blog

  115. Waterfall gets a bad rap. You can change design and requirements if you want to. The point is to gather requirements, design the system and then build it. If you remain reasonable flexible, there’s no reason you can build decent software using the Waterfall approach, or any other approach. It depends on what you want to get done. In two different startup where I worked, we used the Agile approach and were always changing things, client x wants this, ok lets throw that in, client y wants something else, no problem. We did it all in our “sprints” growing incrementally and remaining so flexible that no one had a clue what the hell the entire system is supposed to do. In both cases we had Big Fucking Messes (BFMs).

  116. Honestly I did not read all 314 replays swamped with work) so please excuse me if I am being redundant. First and foremost, In a day and age where the user experience and customer experience a absolute key for a company’s success and survival, I find agile, scrum, etc. totally and undeniably a force against UX/CX., creating teams and tasks that have little or no concern for such “minor details”. As a Senior UX Architect and sometime UI Designer with 17 years of real usability experience, I find that my recommendations are consistently met with the comment “if the product owner asks for a change we will change it”, however, the product owner knows nothing of best practices, usability patterns, IOS and Android guidelines, user flow, proper placement of messaging, placement of key content, and more. They also think using pop-ups instead of good design is the way to go!!!

    Often I am treated as a person without knowledge, someone who draws on the level of third grade and just likes to philosophize and pontificate (which is not the way I roll at all). My years of industry research, ongoing, my training in HCI, my masters, even a couple of UX awards, etc. mean nothing. My ability to advise, listen and learn, mentor product owners and business stakeholders is discredited. The scrum master finally has some authority and definitely has decided with a great deal of self-importance that an intuitive UI with best of UX is not crucial to the success of the project and frankly just is a waste of time. My suggestion of showing product owner A/B and explaining why was also shot down. Even well planned and documented wireframes and user task flows are deemed a waste of time. In fact, many times I am not even brought onto project until all decisions about product flow and ui have been decided. There is no such thing as considering the user persona or empathy charts when determining what the users’ actions, choices and decisions may be so we can proactively design for their real needs—those that are difficult for users’ to perceive and articulate. One comment by a young developer when I insisted on the implementation of form labeling, etc. stated “It is good enough for me, I know what to do”! He just wants to burn down that burn chart! I could go on, however, I think you get my drift.

    Don’t get me wrong, I have worked with excellent “scrum” teams, however, they were implemented by company leaders who put UX/UI first and foremost, along with experienced engineers and scrum masters that had the vision of a great product. They were business owners and leaders who hired the best and let the best do their job. They knew we were committed and passionate about not only the user, but also the business and we knew that scope creep had to be weighed against the success or failure of a project. They trained product owners to ask questions about usability and to stick with what they know best – the product. And leave the design, implementation and usability to the experts.

    I believe the issue lies more in the implementation of a great visionary as a leader who holds “everyone” accountable and insures that SME’s are focusing are their deliverables accordingly. Makes sure their are sprint 0’s for proper research and planning, etc. And scrum masters are project managers for the project, not managers of people with years of expertise.

    • This does not only apply to UX, sadly. From proper business process and requirement analysis, through solid infrastructure and architecture, code and other artifacts of at least acceptable quality, to documentation of any kind and sufficient testing – they are all victims of this incompetent, dishonest and irresponsible attitude often disguised or misinterpreted as “agile”.

      Regarding your comment about junior developers, I think this is the result of aforementioned attitude propagated by incompetent and insecure people. Most junior developers by default *are* motivated, curious and honest, until they realize there is no point and it is actually discouraged. In “agile” projects using Scrum(But), I’ve seen junior (and senior) developers burnt out after a few months just like seniors after a few worst-of-the-kind enterprise project failures.

      In the end, the way Scrum (or “ScrumBut”) is usually implemented in real world *is* all about micromanagement. It’s just that instead of constantly telling you what to do, it is constantly telling you what *not* to do.

  117. Pingback: Der veraltete agile Überwachungsstaat

  118. Fully in agreement. Agile/Scrum’s daily status meetings gives management immense comfort that people are “working” and that they are squeezing out every drop of juice that they possibly can. Management believes, truly and at the DNA level, that they themselves are the smartest (an in many ways are) and that engineers and developers etc are all spoilt brats as a result of the dotcom culture. Agile/Scrum is a management invention to show the technical engineers and developers who stays chained to the assembly lines and who makes “strategic” decisions while playing golf. However no reason to lose hope. Engineer and developers will quickly figure out a way to get back in the game. Be honest and ethical to yourself and your engineering creativity. To deal with a parochial management BS follow this – There are plenty of moving parts in the IT system and there is always some group in the org – not part of Agile/Scrum- who is the perfect bureaucrat. Just make sure this group is a needed approval in everything that you do.

  119. Pingback: The four stages of a company, the resource-extraction culture, and Silicon Valley’s cultural Hayflick Limit | Michael O. Church

  120. As a programmer who has been in the industry 20+ years and now in his 40’s, this article really sums up a lot of my own feelings lately. I came to my current company as a project leader\sr programmer, mostly from companies using waterfall methodologies or variants. The company switched to agile and scrum about 8 months ago. Having followed Agile and Scrum now for 8 months, all I can say is I’m totally burnt out with it and looking for reasons to leave. I was also sold on it in the beginning, since the trainers made it sound so great. And yeah – it’s totally great for product owners and functional managers, but an utter nightmare for self-sufficient and experienced developers in my opinion.

    It’s mentally and emotionally exhausting. Every morning the team has to do the stand-up. It almost always has functional managers in it, listening in and watching the team members, along with the product owners of course. And during each stand-up you must report what you did yesterday, what you plan to do today, and any obstacles you face. It’s not like you can simply decide not to go stand-ups and take a break from it all right? Nope. Accountability and transparency are part of the agile manifesto – right down to explaining and justifying what you do EVERY SINGLE DAY. And every single day when this stand-up occurs, I can’t help but think to myself “How the heck did I go from a highly respected and high performing professional, who’s spent years developing his skills, who has lead and mentored others, and has proven himself over and over again and earned the right to work on my own terms, suddenly find himself being treated like some child? How did I go from being the guy who was needed to interface with multiple teams, business owners, and stakeholders, and provide important guidance and solutions, to the guy that’s now just a lowly code monkey only allowed to work on what he’s told?”. It’s depressing.

    I get it though – some people need that kind of rigid transparent process because they are too junior, have language problems (offshore), are under performers, or just plain slackers. But applying that rigid process across the board simply dumbs everyone down to the lowest common denominator, and demotivates and diminishes the high performers. Experienced professionals know how to manage their time and can estimate with accuracy how long work will take – and they know how to deliver. Good managers trust that, and that’s all they need to know. They don’t need daily forced transparency, and neither do your peers when you are good at what you do. There is no empowerment in Agile for high performers and experienced professionals. You are just another cog in the team wheel.

  121. Best article about Agile vs. Waterfall I’ve ever read.

    When a company abandons “COMMON SENSE” and chooses to manage a team based on a bunch of buzzwords, cliches and acronyms — then that team is doomed to failure.

    I’ve never seen it work any other way and I have 20 years of solid experience in this field. In fact, I am feverishly working toward leaving a company who just implemented SCRUM as fast as I possibly can.

    That is how I stumbled upon this article!

  122. Pingback: Why I’m not quitting technology | Michael O. Church

    • Disagreed and I think this argument is logically flawed.
      I think criticism is always allowed, even without proposals. Otherwise most people should never ever criticise basically anything. (Example: I cannot build a house, but I live in one – so am I allowed to criticise its flaws or not? I think the obvious answer is yes.)

      In short, criticism is the first step towards changing things for the better.

      (Also note that the subtitle of the blog specifically says “rants”.)

    • You know how every year, there is a new model car such as the new 2016 Honda Civic. You do the same thing with software engineering. Plan for a major release each year. You do not do half measures on requirements analysis and all the SDLC phases. You do full measure, prototype and test the product using real users and deliver the product like your life depends on it.

      What scrum is doing today is that it is automating inefficiencies of a business process because the Product Owner is the one making the calls as to what needs to be done. You do not program the inefficiencies of the users. When you build new software and envision how it works, you might be laying off 4 employees when the software is deployed because the software will now take over the jobs of the 4 employees. You cannot do this type of analysis with agile/scrum because scrum is a half measure framework. You need to do full measure like the car manufacturers coming out with new models of cars each year.

      There will also be another group that will handle the day-to-day requests. This is equivalent to the auto maintenance/repair shop. When the state or government has a requirement by a certain date, this group will implement the requirement in the current software. When the CEO of the company wants something from the system immediately in order to make a decision, this group will take care of the request. When a user needs a mass update, you got it. If there is a bug fix request, this team will do it immediately.

      Basically, you are separating the release upgrade team from the maintenance team.

    • In the IT world, there are a number of teams: 1) Product Development Team; 2) Maintenance Team; 3) User Services Team; 4) Help Desk/Tech Support, 5) IS&T Security and QA Team, 6) Computer/Network Operations Team, etc.

      Don’t ever call yourselves the agile team or scrum team or you will be laughed at by the users as the “pretending to be busy” team to score points with the executives while delivering nothing of no value to the users or you will be called the “quick and dirty” team that causes major security breaches in the system due to technical debt and need for refactoring.

      The Maintenance Team is equivalent to the express lane in grocery stores. It is also equivalent to the maintenance shops in auto repair. Something needs to be fixed or maintained now because there is a requirement from the government, executives, users, etc.

      The Product Development Team works on new development/features and major release upgrades. Every year, there will be a major release upgrade or dot release upgrade. This team can use any methodology that works like Spiral, Waterfall, Prototyping, Iteration, any combination, etc. as long as at the end of one year when the release goes live, the software is complete and fully tested by real users with no bugs. When a user request comes in, classify it as either Maintenance or Product Development. If the user request is needed immediately, classify it as maintenance. If it is a new feature that is needed immediately, then mark it also as product development for the product development team to include in their project.

      The User Services Team takes care of the training and user testing. All the organization’s users need to go into training before it goes live. When testing the system, if you need to pay real users overtime pay to test the system, do it. Let them break the system before going live. That is their goal is to break the system, so the developers can fix the bugs before going live. You have the test environment and the live environment. Mass load the live data into the test environment and have the real users test your system. The User Services Team will be in charge of of the user testing (equivalent to Beta Testing). If the Product Development team needs users to test the system in the prototyping phase, then have User Services make this happen. The User Services will work with the Production Team to develop the test plan and the User Services will implement the plan.

      Agile and scrum are just illusions of productivity, but the end result is a defective and deficient system causing the users to do time-consuming, costly and inefficient workarounds.

  123. Pingback: Y Combinator and Paul Graham are bad for the world (Part 1) | Michael O. Church

  124. Agile is what drove me out of programming as a career; actually there’s programming and there’s web development, but that’s another topic. It got to the point where every job I applied to was using agile. The whole ‘open-office’ concept, the noisy environment, the daily status meeting called ‘standup’ (which incidentally, I’ve never gotten anything out of in the 6 years I’ve attended them), the idea that customers actually want software that’s not complete, tiny pieces of functionality to be delivered in sprints instead of complete components of functionality that I can create from beginning to end and own, have all attributed to my decision to keep programming as a hobby.

    Anyway, here’s the middle finger (.I.) to agile and its defenders, those idiots seem to be every where.

  125. Pingback: Agile - enough already

  126. Pingback: It’s not “Early” Exit Disease, just Exit Disease, that’s killing innovation outside of (and inside) Silicon Valley | Michael O. Church

  127. This article is a catalog of the anti-patterns that come with many an enterprise agile adoption, anti patterns that a good coach can work your company through, provided the company is willing to do what it needs to do to get the benefits.

    Look, scrum is best used as an organizational change management diagnostic tool kit (that’s a mouthful)

    Scrum will not make a company go faster, it will shine spotlights on why the company is not already fast.

    I have witnessed *many* situations that are the metaphorical equivalent of the following conversation around a car (automobile)
    (To be clear, the car is a metaphor for the company and it’s culture)

    CLIENT: We’ve been doing scrum for the last 6 months and we’re still not any faster.

    Scrum Person (trainer, coach, scrum master): We’ve been able to determine that
    the gas tank is full of banana’s,
    one tire is flat,
    3 wheels are on rims,
    and there is no steering wheel,

    CLIENT: Right, we know that.

    Scrum Person: In order to faster, you need to fix these things.

    CLIENT: Look, that’s the way we’ve always done things here, now how is scrum going to make us go faster without changing the way we do things?

    Scrum Person: It’s not, you need to get the gas tank replaced and filled with fuel, you need 3 new tires, and you need to put in an engine.

    CLIENT: I told you, that’s not going to happen. You Scrum people are all the same. You make promises, but when it get’s down to it, you don’t actually do anything. This has been a waste of money. I’m going to go write an article about why scrum doesn’t work.

    I wish I were joking.

    Get a coach, insure that you have close executive sponsorship, and for the love of all you hold holy, start small and experiment.

    Good luck.

    • First of all that was not the claim. The claim was not that they did not get faster was that the products become brittle and had low quality which is one of the reasons I am against Scrum in particular and Agile in general. Agile and Scrum encourage doing features and delaying bug fixing because the payoff as story points for features is much greater than for bugs. It can take a week to proper solve a bug but under Agile Scrum it only count as if you worked one day on it. And even if you have to fix a bug since you are pressured to solve it fast you will most likely do a dirty fix and move on. But delaying fixing bugs or doing a quick and dirty fix means that at some later time you will have to fix the bug properly. Only then it will be dozens of line of code dependent on it and most likely you will need to rewrite a big chunk of the code. Basically Scrum and Agile encourage the quick and dirty approach on coding. Your example is from a manager talking with a client. usually neither of those have any clue on what coding means and how is done. Also what your response is basically this:
      1. man goes to a doctor; doctor prescribes medicine
      2. medicine fails for the man and for more than 70 % of those using it
      3. doctor blames the pacient

      • Lets start with the end.
        1) Man goes to the doctor; doctor tells man to start eating healthy and lose weight
        2) Man stops eating all food because he doesn’t like “healthy” food
        3) Man blames doctor

        Agile (and scrum) specifically talk about a definition of done, one of which *should* be, “doesn’t introduce new bugs, or break old functionality”

        You are correct, *most* companies that implement scrum are focused on “increasing velocity” and drive deep levels of technical debt into their code.

        Every agile trainer that I have met and talked with recommends that the teams implement XP practices into their process, because the intent is high quality code.

        Also, there is an expectation that the team will be producing and demonstrating production quality code every sprint. This is difficult and takes time to get to the point where a team can do this (and in the process start learning the secret of having the testing done before development starts). Most companies do not fully integrate their new code every sprint. They manage their project, not their product.

        As to “velocity” I can’t begin to tell you how many times I’ve seen people manage by velocity, no matter how many times you tell them that by doing so, they are destroying most of the value that can be derived from measuring velocity.

        The intent is to raise the visibility on how much time it *actually* takes to build an “entire” new slice of functionality, not increase the speed of delivery by rushing a piece here or there.

        Going back to your analogy, if the man takes his medicine, and it doesn’t work, you’re right, that’s on the doctor.

        However if the man is told to take 1 pill every 8 hours for 2 weeks, and instead, takes 9 pills every three days, because “it’s the same thing” then it’s not on the doctor, it *is* the patients problem.

        • Ok, maybe you have a point, but managers always use velocity as a way to manage. But Scrum assumes that every task can be atomized without causing problems to the coherence of the software which is false. Also it does not allocate time for testing and bug fixing. It may surprise you but testing and bug fixing should be allocated a big deal of time because no one can predict every corner case scenario and because sometimes two pieces of code can work well on their own but when interacting they can cause various problems. So basically after every sprint there should be a period to re-test the whole product. But if we have that then we get to standard iterative methodologies from before Agile which worked much better.

          • Hi cpy, 2 things

            1) using velocity to manage

            Managers using velocity to manage their teams is like expecting your speedometer to ALWAYS read “60 miles per hour” and going crazy when it drops to zero when you’re gassing up your car.
            It’s pretty easy to just superglue the velocity to 60, but most people outside the fortune 1000 would then say that the tool is broken.

            Manage the team by production ready code, not the velocity.
            In fact, don’t manage the team at all, lead them.

            There’s a wiki article on “Theory X and Theory Y” that does a good job of explaining why scrum is usually misapplied. Companies assume that their people are lazy and don’t want to be at work. Sometimes they’re right. Those people need to be managed. And they shouldn’t be on a scrum team.

            2) Scrum assumes that every task can be atomized.

            Scrum doesn’t assume anything. The way it tends to get implemented assumes that every task can be atomized without causing problems, and of course you’re right, that doesn’t work.

            As for testing, I agree with you, there are some crazy things that can show up in corner cases. That being said, many companies insist on having a separate testing phase while not encouraging their developers to learning *any* testing skills.

            Senior developers have learned some testing skills out of self-defense, but junior developer tend to think that testing is beneath them. You have to look for it, but there is a caste system in companies, and testers are at the bottom.

            Scrum doesn’t say anything about how to write your code. Scrum trainers and coaches recommend the teams start using XP practices. In XP, you start flipping things around by getting your tests written first. (Not all of them, Test-First-Development does not and never has meant “write ALL of your tests before writing code – but that’s a different conversation).

            If a team is doing scrum, I’m going to expect – at the very least – some kind of Continuous Integration / Continuous Delivery system into which automated tests keep getting added.

            I also expect those automated tests to be treated like production code.

            What I usually find is an expectation that “someone else” creates and maintaining the continuous delivery system, and that “someone else” writes the automated tests.

            Those two tasks [ 1) Creating and maintaining the CD system, and 2) the writing of automated tests ] are developer jobs in XP. It can’t be farmed out.

            At least it can’t be farmed out if the company want to get the benefits.

            Scrum is painfully easy to get wrong.

            “Scrum can’t possibly mean that the customers actually talk with the developers”
            “Scrum can’t possibly mean that the product IS the status report”
            “Scrum can’t possibly mean that developers work with testers until the testers say it done”
            “Scrum can’t possibly mean that put all outside meetings with the team in the sprint review”

            • > Senior developers have learned some testing skills out of self-defense, but junior developer tend to think that testing is beneath them.

              That is so not true. Both senior and junior developers (not the useless ones, obviously) know that testing is an integral part of their job. What they don’t know usually is how to stand up and say no to “no time for proper testing” non-sense; to the lack of definition of done, acceptance criteria, proper guidelines and infrastructure; and to irrealistic deadlines (even in Scrum) pushed by management (and often POs and SMs themselves).

              > What I usually find is an expectation that “someone else” creates and maintaining the continuous delivery system, and that “someone else” writes the automated tests.

              What I usually find is an expectation that developers can execute these activities without any time allocated for them. (Yes, they are developer tasks.)

              • Patrick, the whole “developers either look at testing as something that needs to be done” or “developers look down on testers in subtle barely perceptible ways” would probably require a full blown research study.

                What I can say is that I have run into *many* more developers who not only *can’t* test, they also are happy that they’re not testers, than I have run into developers who can do a great job of doing their own testing.

                At the end of the day I’m going to agree with you, scrum can’t fix unrealistic deadlines.

                It doesn’t help that I’m running into more and more scrum masters who are 20 year project managers who have erroneously learned that “scrum master is the agile word for project manager” and so they got their CSM and are now happily doing project management using a scrum vocabulary.

                • I guess we agree on all sides then, we are obviously talking based on experience. I would be happy to see such studies really, anyone knows any? (I personally sometimes suck at googling.)
                  I was also lucky to work with many great developers (smart, clean code, happy to test, etc.), but sadly I had no good experience so far with PMs/POs/SMs (who at least would try help the team with stakeholder expectation management).

                  So what you describe in your last paragraph is also painfully true and common.

                  • Patrik – that would be a cool study and it would be trick to do.

                    (If you haven’t read “how to lie with statistics” it’s a surprisingly fun read for such a dry subject ($2.82 + shipping for a used copy on amazon, 65 years old, 124 pages with LOTs of pictures – still used by colleges in post introductory studies of statistics – lastly, it will make you laugh – more than a few times.)

                    Anyway, one of the biggest problems with scrum, is that it is what I call “an organizational change management diagnostic tool kit”

                    It won’t fix a companies organizational dysfunctions, it will merely shine a very bright spotlight on them.

                    The problem is that scrum is thought of as a software development *thing*, and not an *end to end product development thing* and so scrum is brought in by people who do not have the power to change dysfunction at the VP level (let alone at the CEO level) and are left with wondering why this silver bullet didn’t fix their problem.

                    It’s a variation on my favorite programming taglines

                    Software development is a simple matter of figuring out which wrench to use in order to pound in a screw.

            • and here is another problem. The idea that automated tests can replace human testing. It cannot. Your automated tests usually equals 0 in testing. About programmers and testers. As a programmer you have to always test your code before committing. But that does not mean you do the actual testing. The testing team tests the software piece in every concievable way. Agile assumes you have time to do a thorough testing. This is the job of the testing team not the programmer’s and automated tests usually cannot really test the product.

              • cyp, we agree, automated tests don’t replace human testing.

                My expectation is that if a bug is found (and I’ll discuss what “bug” means later), then a developer will write an automated test that exposes that bug and adds that test to the CI/CD system. This way that bug cannot creep back into the system.

                My expectation is that a full regression test is run before the code is checked into the system.
                This is tricky because regression tests tend to be manual processes that take forever (often on the order of weeks) and if someone even mentions adding some form of automation to the mix, it gets shouted down as impractical.

                Where we disagree is in the expectation that developers test their own products. I expect developers and testers to work together and completed both of their jobs at the same time

                [That time is when the both developer and tester say, “it’s good and working as expected, and we have performed the following tests, there may still be bugs, but we haven’t seen them yet, product owner, can you inspect and either accept or reject this?”]

                Most fortune 1000 companies reject this kind of collaboration before they ever try it. Just like the guy who insists on taking 9 pills every 3 days rather than 1 pill every 8 hours.

                Note: Bugs.
                This is not from Scrum, this is from me (and a few other like minded people in the agile space).

                I don’t recognize the concepts of “bugs” as anything but an anti-pattern (and yes, I can already hear the pitchforks being totted and the torches being lighted.)

                I view what we currently call bugs as examples of 3 different things.

                1) Incomplete work, the code broke something on the regression test. This is not a bug, this an incomplete story. The expectation is that a full regression will be passed before code is checked in, or the story accepted. That being said, it can take years to move to that kind of professionalism.

                2) Tester Driven Development – this is where a tester looks at the product and says, “this does not fit my expectation of how the code shall work, I will write up this enhancement as a bug and put it in as a high priority.” This is not a bug, this is a feature request. As such, it needs to go to the product owner to put on the backlog and then decide where in the backlog it should be placed. It is not a bug.

                3) Some weird complex undesirable behavior gets by the product owner, and the regression team, and then gets out into the wild. This is the only thing that I might call a bug. I still expect an automated test to be written to expose the bug, but on some really tricky ones’s this is just plain hard.

                To be honest, when I see well written code, with well written, well maintained tests, I don’t see that many complex bugs. Most complex bugs that I have seen happen deep in nearly abandoned sections of the code base that most employees believe have been obsoleted and taken out of service.

                I’m sure we both agree that quality is difficult.

                A digression.

                The pattern that I’ve seen is that when a company starts up, they are scrambling to make their code work for their first 1000 customers. They don’t have time to handle corner cases, they just have to make it work.

                As they grow, they add people, and if they have funding, they add *a lot* of people, and these people are expected to get a laundry list of features working. There’s no time to get it right, it’s sink or swim.

                Some time in the 7th year of the company they start feeling the pain of their past survival based activities. It wasn’t their fault, they survived where 90% of the companies that started with them failed.

                Some time in about the 9th year of the company, the pain has gotten to the point where they are willing to start hiring someone expensive, someone like me to come in and try to fix their problems. This starts a multi-year process of attempting to shift the culture of the company away from their cowboy roots and move towards the balancing act that is sustainable high quality development

                • “My expectation is that if a bug is found (and I’ll discuss what “bug” means later), then a developer will write an automated test that exposes that bug and adds that test to the CI/CD system. This way that bug cannot creep back into the system.” wrong. Usually bugs are not simply tested with automated tests. What you say only works in theory. In practice to write an automated test for every bug is an extraordinary amount of work and is easier to manually test it.
                  Developers test their commits but you cannot expect them to also do the job of a tester. Because the programmer is not a tester! A tester must bounce the code against any number of situations and see what falls out.
                  About bugs I disagree with you. the most hard to fix bugs are usually caused by the smallest thing. You are very optimistic about writing perfect code. The reality is no one is able to do this because we are limited human beings. Proof is all the fix packs almost every software out there has from windows to whatever. You are talking from the perspective of an manager with pink glasses always on. Also no one is omniscient as you are asking for. There is a big difference between theory and what managers believe and practice and was is seen at ground level.

                  • cyp – we disagree about coders and testers.

                    First, I run into the phrase, “Because a programmer is not a tester!” more than I’d like to. There are unspoken assumptions built into the phrase. The biggest is that there is no overlap in the skill sets.

                    Second, we’re not talking about writing perfect code. I’ve had people get offended by the notion of bug free software. It’s almost like a “get out jail free” card that translates to, “code has bugs, developers can’t be expected to find them, hire more testers.

                    TDD won’t kill all defects, but kills a lot, and it makes trickier bugs more difficult to get into the system. Once in production, TDD provides a framework that makes it much easier to find the bugs.

                    I should probably add that I’ve been a coder for more years than I’ve been anything resembling a manager. For me, TDD made coding fun again. I’m not wearing rose colored glasses, I seen it work, and I’m been involved in making work.

                    • I know is more that you’d like to but I repeat it because you seem to miss the point. To test a product you must run dozens of slightly different scenarios. This takes a lot of time. The programmer cannot be expected to run more than a few most relevant scenarios from that dozen and the tester will run the test. Again the reason is it takes lots of time.

                      A wise man once said : “there are millions of ways to break something but just a few to make it work”. The fact that there is no complex code bug free is not supposed to be a “get out of jail free card”. But the point that you need to hire most testers is true as I see a lot of companies trying to automate everything and remove human testing and as a result they get bugs from clients. And then the programmer is blamed because he did not run 1000 tests in his free time because god forbid will they allocate enough time for testing. Managers must understand that a 3d of all development time is bug testing and they must allocate human time for this. There are bugs and there are bugs. As I said the programmer must run a few representative tests for his code to make sure things work and it does not break the whole thing. Everything more than that should done by testers.

                      I agree that TDD kills a lot of bugs but I disagree it provides a framework to find bugs easier. What does that even mean? That is politician language or lawyer language, not sure what the correct expression is for fancy words that say nothing.

                      For me TDD makes coding a drag because you are treated like a perpetual junior. You are not trusted with anything complex and basically it destroys any sense of inventivity you may want to display. It makes you a little robot. Cam asa ceva: https://www.facebook.com/CrescoGroup/videos/1646918462246977/?fref=nf

  128. You know the feeling when your read an opinion piece criticizing Evolution by someone who is flabbergasted by the whole theory of Evolution and has no idea what it actually is?

    Yeah, I get that same exact feeling reading this.

    • Reza, in your post, substitute “Evolution” with a (real or imaginary) sect that, even though its alleged best intentions, is actually doing harm to people and their work; and substitute the person who has no idea with someone who has spent years in it (forced or voluntarily).

      That’s the feeling many people get when reading this.

      • Patrik – that’s a good analogy.

        My wife’s uncle worked at a large utility, and I heard that they were using scrum and so I asked him about it. I was surprised when he started describing the horrific cargo cult adoption of agile.

        Scrum when badly applied is an amazingly effective micromanagement tool (for the record, micromanagement is a bad thing, that kills the souls of your employees)

        I have worked in companies where scrum was badly applied (a living nightmare) and I have worked in companies where it was well applied (surrounded by unicorns and rainbows).

        The thing that gets me is that in realms where it’s been badly applied, I can’t find anyone who has read the agile manifest, the principles behind the manifesto, or the scrum guide. They didn’t even go to a training, their manager’s manager went to the training.

        These same people who have never read up on the subject (except articles like this one that are more on par with Hieronymus Bosch painting, which reinforce their opinion)

        To be fair, these people are not intentionally victims, they have been put in to what is effectively a forced work camp, where all the fun has been sucked out of their day and repeatedly told “agile says this” and “agile says that.”

        I would be angry too.

  129. Pingback: Agile scrum? |

  130. [Continued from an earlier thread]
    cyp –

    1) When I said “provides a framework to find bugs easier”, I meant just that. TDD (when done right) facilitates refactoring and encourages good object oriented code. This allows the complexity of the code to be reduced over time, making it harder for bugs to hide.

    The video was *wonderful*,

    I would happily use this video before trying to introduce TDD to a group. It’s a great example of what happens when something new is introduced before people are able to accept it. “Oh you brought me something, let me strip off the bits I don’t understand and use the obvious stick to make things go faster. This is also what happens when scrum is used as a micromanagement framework (and leads to people hating it and causing posts like this one we are replying to).

    If doing TDD in your company causes developers to be “treated like a perpetual junior”, causes a lack of trust of a developer’s skills and leaves those developers feeling like “a little robot” then I wouldn’t want to do TDD at your company either.

    Don’t take my word for this, find some other people who have been getting value out of TDD and look up TDD anti-patterns, to paraphrase an old wise man, “there’s a million way to do it wrong, and only a few to do it right.”

    • @Malcom: You’re absolutely right! TDD is extremely helpful to reduce code complexity and to make refactorings much safer: A developer having changed code, immediately sees what he broke, when he either runs the tests himself or when the next CI build (triggered by his check-in) tells him which tests failed.

      @cyp: If TDD makes developers to be “treated like a perpetual junior”, why do you think that we – extremely experienced seniors – use it in our hobby projects?!

      Example? Take a look at: http://datanucleus.org

      I picked this one, because it’s not mine (though I contribute a little) to avoid self-adulation. Additionally, it’s used by Google (in the App Engine) – who care about quality more than most other companies in the software business.

      This project has one of the cleanest code bases I know and it is developed by a very small group of people with Andy being the single main developer doing roughly 95% of the work, currently.

      The same applies to numerous other high quality Free Software projects. Do you think, we – the developers of Free Software – use TDD to make ourselves feel miserable?! No! We use TDD, because it significantly reduces the efforts needed to guarantee high quality in the long run!

      I totally agree that you should *additionally* have human testers. But before you give your application to them, it should have been tested thoroughly by automated tests. And whenever they or the actual users report a bug, the first thing is to add a new automated test for this bug – so it can’t re-occur later on, again.

      • +1 for all possible automated tests plus additional human testing.

        But most of the time I refuse to call common sense and obvious engineering practices TDD or (capital) Agile, because these terms are too often used by groups of people who are everything but agile and don’t have the slightest idea what they actually/practically mean.

      • “If TDD makes developers to be “treated like a perpetual junior”, why do you think that we – extremely experienced seniors – use it in our hobby projects?” – No idea! About Google their code has gone from bad to worse since hummingbird. So not such a good example. About guruanteing high quality this is definetly not true. Look at any piece of software today from an user perspective and you will see it is more buggy consumes more resurces and so on than ever before. And yes the databases are cleaner because once a bug ages enough it is magically deleted. Also a lot of real bugs presented by users are marked as working as designed and closed. I have seen this behavior from Google,FB and so on just to name a few. Also automated tests will never be able to do almost squash in showing bugs. I have had bugs that were not reproducible except on on machine on one os under certain very weird conditions. Can a automated test even deal with half of the scenarios my tester colleagues thought of back then? I think not.

        • cyp – just to make it clear, I don’t believe that TDD removes the need for testers. I wrote an article a few years ago about how the role of testers changes in an agile shop http://bit.ly/6Heart3

          When I mentioned googling “TDD Anti-Patterns” I wasn’t referencing googles code (but google’s CI/CD system is amazing what ever you think of their products). If you were to google TDD Anti-Patters, you would find some things that regularly show up when a shop is adopting TDD. Most of the entries have the same list, and I like James Carr’s because it’s format is pretty easy to read.
          http://blog.james-carr.org/2006/11/03/tdd-anti-patterns/

          Here are 3 of my favorite TDD anti-patterns

          Excessive Setup
          A test that requires a lot of work setting up in order to even begin testing. Sometimes several hundred lines of code is used to setup the environment for one test, with several objects involved, which can make it difficult to really ascertain what is tested due to the “noise” of all of the setup going on.

          [Malcolm’s Comments – it’s usually the case that the code is not decoupled and that the key word “new” is used outside of factories. – Excessive Setup usually indicates a code base that needs refactoring work just to get to something that resembles “testable” – and I wouldn’t be surprised to find a few 1000 line methods in there too.]

          Hidden Dependency
          A close cousin of The Local Hero, a unit test that requires some existing data to have been populated somewhere before the test runs. If that data wasn’t populated, the test will fail and leave little indication to the developer what it wanted, or why… forcing them to dig through acres of code to find out where the data it was using was supposed to come from.

          [Malcolm’s Comments – this is one of many patterns that can leave a team with fragile tests. Fragile tests will break just because someone changed code in another part of the system, but not actually breaking the system, it’s just breaking the tests. Fragile tests are a common reason for teams to abandon TDD and declare it be a waste of time. Learning TDD is like learning a new development language, it takes 3 months to get to a level of “incompetent” and another 6 to get to something resembling “competent”]

          The Slow Poke
          A unit test that runs incredibly slow. When developers kick it off, they have time to go to the bathroom, grab a smoke, or worse, kick the test off before they go home at the end of the day.

          [Malcolm’s Comments – Unit tests need to be able to run in under a minute, preferably under 30 seconds. At one test ever 0.01 seconds that should allow for 6000 tests to be run. I personally will label any test that runs over 0.1 seconds “an integration test” and put it on the build machine rather than on the developer machine. Integration tests are useful and needed, but many teams have build a huge suite of “integration tests” and have very few “unit tests” this again leads to teams abandoning TDD as “too expensive and provides no value.”]

  131. Pingback: Architecture and Agile: a Plan | Dev Recipes

  132. Thanks for your opinion, I can see many people agree with it. I dare to say that for me that’s the proof that agile systems/apps/etc. may be sometimes regarded as ‘magical things that will work without our efforts’. They will not. Sometimes it’s useful to look at some – short and simple but not obvious – instructions how to use this system efficiently. Personally, I like http://kanbantool.com/kanban-library/introduction that is quite short and clear. Of course,many consulting companies tend to offer introducing Agile in a perfect way and they don’t meet our expectations but it doesn’t mean Agile isn’t useful at all. Let’s don’t throw the baby out with the bathwater 😉

  133. Finally someone put it all into words and explained thoroughly all the confusion and frustration a lot of people feel about Agile! Excellent article!

  134. Pingback: Five Blogs – 7 December 2015 | 5blogs

  135. Great post! Unfortunately I don’t think this theme will be in a software dev process book any time soon. Would be great if you could introduce it to some authors just in case they add a paragraph on criticisms of agile/scrum.

    • I would love to see a book in the topic that has a grounded, practical, honest point-of-view that is orthogonal to that of all the PMBOK/PMP/PRINCE2/Agile/Scrum (marketing) materials missing out on big chunks of both engineering and ethical reality.

  136. Seems like you have made the common novice error of confusing what scrum is and what agile is.

    Agile represents a workplace culture.
    Scrum represents a development methodology.

    And the confusion over scientific method and agile? If anything, agiles achilles heel is similar to the downsides of transformational leadership.

    As soon as I get around to doing a blog, I’ll write a counter.

    • It has happened to me on other blogs, but I love the way that Scrum enthusiasts label as ‘novice ‘ or similar, anyone who describes issues with Scrum. The last thing i sense about Michael is that he is a novice in anyway. A reasoned rebuff is fine, we all have different opinions, a derogatory stance is not.

      • Stephen, +1.

        It’s actually so tiring to read/hear the same arguments *every* *single* time, instead of real reasoning:
        1. Agile is a mindset (Straw man argument 1) (who said it’s not?)
        2. Something bad about waterfall (Straw man argument 2.) (who was talking about waterfall anyway?)
        3. You are a novice and you don’t know what you are talking about (Personal attack)
        4. You/tour team are not mature enough for agile/scrum and/or didn’t do them right (No true Scotsman + personal attack)
        5. You are confusing agile with scrum (see above, even thought it’s mostly Scrum enthusiasts who state that Scrum “is agile”)
        6. It works, you were just in an unlucky place (yes, we all know how failures are sold as success in corporate environments)
        7. Scrum is “easy to understand” but “difficult to master” (the ultimate built-in excuse in the Scrum Guide)
        8. GOTO 1

        On the other hand, I can’t get my head around how most people think Scrum is agile. I personally think it’s the least agile thing out there, it’s so strict and rigid like few things before. It’s *all* about the process. (I’m talking about purist Ken Schwaber Scrum, not all sorts of SrumButs out there.)

        That said, I also welcome a reasoned rebuff, it’s always useful to see other (cultured) opinions.

        • Hi Patrick

          I’ll try to take it point by point.

          1) I run into people at every engagement who think that agile and scrum are the same thing, and that it all process heavy. Once we get through that point, trying to explain that the mindset is different, and important is often like trying to explain red to a blind person.

          2) Waterfall is alive and well in the fortune 1000. The iterations are in the bug process. Just because “waterfall obviously doesn’t work” it’s still being referred to as “the traditional software development process”

          3) It’s not about being a novice, it’s about people who don’t know what they’re talking about. Sadly, I’ve met scrum trainers and coaches (non-certified) who approach and train scrum as a project management practice. These are the people who were project managers, and then got a CSM because it’s been pretty much required for the last 3 or 4 years for any and all software project managers (check linked in for project manager positions)

          4) Scrum and agile take years to install into a new organization, often because it’s incompatible with the organizational culture. Agile is about organizational culture change, not process. Agile is about transparency. Many company cultures encourage a lack of transparency, “don’t give me excuses, get it done on time in budget” which translates to (don’t tell me bad news).

          5) Good point. Agile is not scrum, just like mammals are not cats. Cats are one flavor of mammals, and scrum is one flavor of agile. Agile is a mindset, Scrum is an implementation of that mindset. (I will use them interchangeably, which adds to the confusion, mostly because most scrum implementations are focused on *project* management rather than *product* management, but that’s a different conversation)

          6) Luck has nothing to do with agile working or not. Agile (and scrum) do not (initially) make a company faster to market, its more like a spotlight that highlights why you’re not fast.
          The conversation often looks like this
          “One of your tires is flat and your car has no engine”
          “Scrum will fix it right?”
          “No, scrum is highlighting the fact that you have no engine and one of your tires is flat”
          “But our CEO demands that the engine be out so that when we push the car, it’s lighter”
          “Scrums not going to fix this”
          “I knew Scrum was a sham!”

          7) Not sure how this in an excuse.

          8) (not numbered) “Scrum is strict and all about the process” – No, many implementations are strict and all about the process, but that’s not agile. Scrum, when badly implemented is an amazing micro-management framework. Micro-managers love badly implemented scrum because it gives them a level of transparency that they’ve never had before, but everyone else involved suffers, because micro-management and high productivity do not go hand in hand.

          • Malcolm, I think we basically agree in most points, with the following notes:

            2) “Waterfall is alive and well” – yes it is alive, but well, I’m not so sure. In a lot of places it is suffering from the *exact same* issues as agile/Scrum/etc.: namely, incompetent people, useless titles, no ethics. However, the symptoms and their timing might be slightly different. (In many misinterpreted “agile” organizations, the symptoms don’t even surface earlier than in other organizations.)

            Side note: I think ethics is extremely important and sadly almost never mentioned in any software engineering context. I think the whole industry would do better if everyone tried to focus more energies on something like http://www.acm.org/about/se-code instead of (or at least, in addition to) other manifestos or guides.

            Also, by straw man argument, I meant that when someone is criticizing agile or Scrum, the reply is often something about waterfall, as if the world could be divided into agile and waterfall, and as if everyone criticizing agile would be doing waterfall.

            3) Exactly.

            4) True. And because of people in #3, this transparency often goes the wrong way, just like the article says.

            5) Good analogy. However, what I meant was more like the other way, i.e. Scrum is not agile. And I mean the original guide too, not just the everyday misinterpretations and failed implementations of it.

            6) I was referring to a developer’s point of view. In my experience, 2 out of 10 developers are happy(ish) with their “agile/Scrum” environment, 2 don’t give a damn, and 5 find it extremely disappointing and frustrating (yes, estimates). And then those 2 tell those 5 that “agile/Scrum” works, just not for them. There must be something wrong along the line.

            7) As an excuse: it didn’t work because you have not mastered it. But it seems that most organizations simply can not master it.

            8) In the Scrum Guide sense, it seems that there is only one single implementation of Scrum. It does sound pretty strict about everything, and even more so if you follow some comments of aforementioned author.

            • Hi Patrik – I agree, it looks like we are mostly in agreement, it’s only in minor areas where we have minor differences of opinion.

              I love the ethics angle. My personal opinion is that software developers have a LONG way to go before they will ever be considered “engineers”. (Sure, developers build stuff, but they don’t know what it will take to break it – a friend pointed out that in “real” engineering, you have to know what kind of load your *thing* can take before breaking. In other words, testing to failure is part of the job description. – This is another whole tangent, and a long way to get to saying, “I agree, some kind of ethics and consequences for breaking those ethics would be a great thing to see in the field” (And don’t even get me started on my current favorite topic, “universities currently program software developers with a waterfall mentality)

              “Waterfall “probably is a straw man argument, for me “Waterfall” covers any thinking that says, “the requirements we have captured will not change – ever” and the consequences that go with that superstition.

              6) Developers are obligated to get a better job at a better shop if they can. Its not luck to find a good shop with good practices, it’s about keeping your eyes open and making sure that the company you are about to work for is developing software in a way that that developer wants to be involved in. Honestly, I think I’d rather work in the worst stereotypical waterfall shop than in some “agile” shops I’ve been exposed to. Sure, you have a death march ever 8 – 14 months that lasts for 2 – 3 months, but …
              That’s a long way to go to say, “It’s not about luck”
              (There’s another whole conversation about what obligation does a developer have to not be a victim of their companies development practices … that conversation would need much much beer and specific nightmarish examples)

              7) It’s not an excuse. High school sports players *can not* compete with their professional counterparts. There’s a lot of discipline and practice that goes into playing at a professional level. Also, scrum plays at the organizational level, highlighting “impediments” (code for “anything that prevents a company from already-being-done”). Most of the companies that I have seen trying to implement scrum have to take 4 or 5 runs at it before they start to get any of the benefits from it. It’s not easy, and it takes a while to master it.
              If a company isn’t willing to do the work on their culture (from the CEO down) then they are only going to have pain with agile.
              Agile-ist – “Hey, your VP compensation package is a fixed sum, and so your VPs are sabotaging each other to maximize their bonus’s.”
              Some-Type-Of-Hiring-Manager – “That’s not your problem, go back to developing software, and make sure that scrum thing makes us faster”

              8) This is a trick one. we would need to sit down, start drawing picture, and then discussing our own examples before we could find common understanding. I think scrum is rigid like a dance floor, providing space art to happen. I don’t see it as rigid, I see it as providing freedom.

              (That last one needs beer, in fact most of this needs beer)

              • Good points.

                Regarding #6:
                I totally agree, such ****hole of companies should be simply abandoned by *every single employee*, but sadly, there are a lot of compromises to be made.
                Also I find that, in reality, it’s *extremely* difficult to find companies that work the way (talented/experienced/common sense) developers want to be involved in, simply because they are so rare.

                I guess we’ll have to leave it at this, it’s indeed a much beer topic. 😀

  137. Pingback: IntelliTect | » Scrum – from a QA Perspective – Part 2

  138. Pingback: On Product Development, Culture, Teams & Organizations

  139. Wow, what a negative article. What you are missing about Agile and Scrum is the quick response to bad practices through short sprints. I joined a company after they had gone through 16 sprints, both short and long, with poor results. The biggest problem was the process was not fully embraced and adhered to, which caused most of the problems and scrum was the strawman. After insisting on doing PBI refinement to narrow the focus, we exposed the common issue of vague scope. After appointing a dedicated scrum master and forced the product owner to better define what he wanted, we were much more successful in meeting our commitment. Management said they wanted to use scrum, but they did not like that it required well defined PBI’s. The bottom line is you must know what the acceptance criteria is before you can develop it. The sooner you start coding, the longer it will take, meaning if I don’t know what is the end result, I can’t easily develop it. If you think about it, coding IS the easy part…IF you know what the end result is.

    Also, if I have a requirement that takes me 2 days, my estimate will probably be off by hours. If I have a requirement that takes 2 weeks, my estimate will probably be off by days. Simply stated, we need small, well defined requirements, with understandable acceptance criteria, resulting in a deliverable program after each sprint.

  140. Pingback: The C Word | Michael O. Church

  141. In the spirit of micro-management, I will point out that “Whisky Googles” should be “Whiskey Goggles”. How many story points can I claim?

    (In seriousness, very interesting article Michael)

  142. Looks like you’ve worked at some seriously messed up Agile / Scrum implementations. For me that’s the issue. I don’t see IT as a pawn for the business but as a partner to help the business gain best outcomes. That means we need the leadership to stand side by side with the business and to drive best business outcomes as well as stable, performant and robust solutions that are “fit for purpose”, not a lesson in academic art.

    This post seems to have mixed up Agile, Scrum and some very dangerous management principals, along with weak leadership. Agile is a set of guideline and principles, not a religion to be followed by route. Equally IMHO, Scrum does not provide the complete answer, and often is not the answer at all for many, it can provide part however, but often needs XP and the Agile Manifesto’s support to build the correct culture as well as extensions to allow it to scale to multi-team / multi-site. Equally, leaders emerge from the self forming nature of the team, and these are not always the most experienced.

    Any framework followed by route is often a recipe for disaster as it will rarely answer all your issues or apply to your organisations nuances, and without wider cultural change, leadership, empowering teams to challenge priorities and ensure tech-debt is under control and minimised, will cause more harm than good. One size does not fit all.

    Equally, Scrum is not always the answer to allow teams to be Agile and innovate… but in many organisations it can help, if adopted correctly. Many mature Agile teams will eventually drop Scrum in favour of Kanban.

    Equally, if the work required is well understood, low-risk and low-complexity, a waterfall-like / sequential process may be best. Though I prefer a high release / review cadence to gather feedback from “real” customers before committing too far to a path that we think is great but our customers will not.

    Agile and Scrum are not a religion and their manifestos and guides are not bibles. Please apply common sense and leadership to be successful.

    What I do agree with is that teams should be empowered and “trusted” to do the right thing. The right culture is way more important than the right process, but isn’t that what the Agile Manifesto states anyway.

    One last point. I really support Engineer Driven companies, these can lead to a lot of innovation (look at Apple and Google), but need to be grounded with a close relationship with customers, markets and business leadership. Otherwise there is a danger of engineering vanity projects as well as over engineering. We’re in this together and the best orgs I’ve seen work in partnership and challenge and support each other to deliver the best possible products and solutions to our customers and organisations.

    • Gary +1

      There is a growing trend for companies to slap agile terms on top of standard cult-of-planning project management practices and then blaming agile for the failure of the old practices.

      The sad thing is, that I’m seeing more and more indication that with few exceptions, “scrum master” is being treated as “the agile word for Project Manager, you know, the person who drives the team, and reports status up the chain of command”

      It’s no wonder people working in those environments think that scrum and agile is a micro-managers dream justification for death march after death march, because that’s what they’ve experience.

    • Bullshit!! Everytime the agile followers are given pertinent examples on why Agile is a failure one of the cult’s mantra is said. One of the favorite standard answers is “they are not doing it right” or “this is not Agile”. The thing is when everyone that claims they are following Agile is “doing it wrong” maybe the method is at fault not the executant. If a medicine is not working for any of the people using it do you blame the pacient or the doctor? I blame the doctor. IT has always been a pawn to the bussines because this is the relation between employer and employee. But now the programmer is forced to give tons of reports instead of doing his job (soon we will have to write a jira for bathroom breaks also) and to do his job in the wrong way. Agile was invented by people that have no real understanding on how programming works or how building/creating everything works. Is a misguided way o fix something that worked very good with something that just fails.

      • cyp

        Just because Bob calls a chicken a horse, and all the people Bob know’s refer to the same things (chickens) as “horses”, doesn’t make a chicken into a horse.

        Now take this ridiculous analogy out to the point where Bob, and all of the people Bob knows, have never seen a real horse, and you can count on 2 things.

        1) Those things that Bob and company are calling horses, will never win in a race against a real horse.

        2) Trying to have a conversation about what a horse is and isn’t combined with what it can and can’t do is going to end up with a crazy conversation that makes no sense to people who have seen real horses.

        Am I saying that most so-called agile shops are full of chickens being called horses?
        Yes I am.

        Does that mean that real horses don’t exist?
        No it doesn’t

        • Malcolm, this is a great analogy! It’s similar to the well-known Allegory Of The Cave from the Greek philosopher Plato, btw..

          And I certainly agree that this is the problem with people like Michael and cyp – they simply never saw a real “horse”. I don’t know for sure where all these people are located, but it seems to me that this is primarily a problem in the US. In Germany and Austria, I’ve been working with many companies using scrum – and it was always a pleasure!

          • First of all it has nothing to do with the cave myth you clearly do not understand. Second about never seeing a real horse next you going to tell me that BigFoot is real. Iif you are not willing to give an exact and rigorous description of what Agile is ( and no the Manifesto does not provide that) then I am saying there is no such thing. Because without an accurate description you cannot validate or invalidate anything. Also it is not in US. I am not from US. It is everywhere including Germany, Canada, UK and others. You just do not want to see it.

            • cyp,
              [Begin Note]
              If you are interested in finding agile companies to work for, please continue reading, if you are only interesting in proving that agile is a scam, then don’t bother.

              This conversation as a heuristic for being able to determine if a company is on the right path or the wrong path, is worth my time.
              This conversation as an opportunity to “prove” that agile can work, is not worth my time.

              I’m going to continue on the assumption that you are interested in being able to find companies that are getting value from agile – with an underlying assumption that companies that are getting value from agile are fun to work at.
              [End Note]

              Bigfoot is the root of the problem in this conversation. Just because you have never seen bigfoot, that is *not* proof that bigfood does *not* exist.

              As for an exact and rigorous description of what agile is … I believe that anyone who tries to sell you “an exact and rigorous description of agile” probably is selling snake oil.

              Agile is not a cure-all, its more like a diagnostic kit for highlighting company dysfunction.

              “Agile won’t make you faster, it will only highlight the reasons you are not already fast”

              Most of the nightmare stories I hear are coming from companies that try to implement agile as a process that will fix their problems, not as a tool to figure out what the problems actually are.

              I don’t need proof that agile works. I’ve lived it.
              I also don’t need proof that bad-agile doesn’t work, I’ve lived that too.

              Things you can use to spot bad-agile, and yes, they are from the manifesto.

              “Working software is the primary measure of progress.”
              People can’t understand that this really means what it says.
              When someone wants to know the status of the project, point them at the software.
              If the software is not growing in capability, then the project is stalled. Pretty simple.

              “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
              If the customer is not getting early and continuous delivery of new features, features that are solving their problems, then it’s not agile.

              “Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”
              Death marches are a sign that the company is not agile. Agile is not heroic, it’s sustainable.

              Rare companies are demonstrating these 3 principles, but there are a few companies that are headed in the right direction. In your next interview you can get a sense of how agile they might be by asking about the above 3.

              1) Asking about a company’s CI / CD system will tell you a lot about their agile maturity, and their commitment to the agile journey.

              2) Asking how a company checks their status of their projects will tell you where they are headed. (Jira, Version One and Rally are the wrong answers – working software and happy customers are the right answers)

              3) Asking about the frequency of death marches will tell you a lot about the level of heroics expected in the culture

        • Ok then what is Agile? Because everyone uses the line “this is not Agile” when things do not work. I want a complete concrete definition. Please do not rely to the Manifesto. I proved the Manifesto is at best extremely vague and at worst extremely wrong. One of the best tactics of scam artists is to define something extremely vague and then if it works is because of their product if it doesn’t you are not doing it right.

  143. Pingback: SCRUM Open Assessments – KIZU 514

  144. Scrum is just means to give “people who have absolutely no clue on technology” control over engineers and architects who do understand technology

    Product owners and scrum masters do nothing more then take over leadership from architects and leads

    • bingo! we have a winner. Exactly. And is right in their silly manifesto. “Customer collaboration over contract negotiation”. Because the customer knows the difference between a change that can be done in 5 minutes and one that requires 2 months. I have yet to see one that does. And they always end up asking why the difference in time.

    • In practice this is only true if you do scrum incorrectly. And due to human nature I think it is difficult to do scrum correctly… But assuming that is not the situation, I don’t understand how what you are saying can be true.

      The team decides how to implement a feature, and at what quality level. Not the product owner, and certainly not the scrum master. How do they then take leadership away from an architect? If an architect is on a team, they can say feature A will take 100 hours/points to complete. If the architect is good that estimate would take into account design, refactoring related modules, automated tests, etc, whatever it takes to produce feature A at the team’s definition of quality. No one is allowed to pressure the team to reduce the estimate, compromise the quality, or tell them how to implement. All the product owner can do is re-prioritize the backlog, or change the feature requirements.

      And the scrum master? Their only real job is facilitating meetings and identifying impediments. The scrum master can’t force anyone on the team to do anything. If they are, then they are not doing scrum.

      Scrum brings control to the developers, not away from them.

  145. Recently I saw a post about a role , for PM , indicating job duties include estimating how many scrum iterations will be needed. I thought scrum was about giving flexibility to developers and freedom from timelines , develop what a meaningful number of tasks without out side interference. lol A true scam created to outsource jobs overseas

    If a highschool diploma holder can become product owner or scrum master and 😛 your Project is doomed nice way to destroy Architects / and Leads

  146. Shiraz – The HR world has taken “agile” and “scrum” and mapped as much as they could on to traditional cult-of-planning project management.

    A person has to be able to read between the lines. Just like in real estate ad where “cozy” = “small” and “fixer-uper” = “needs rebuild from ground up” there are lines to watch out for in “scrum master” roles.

    Here are some descriptions from a single linkedin Scrum Master positions

    “Scrum Master for 2-3 Agile Teams” = “looking for project manager”

    “Organize and drive Scrum Ceremonies” = “looking for project manager”

    “Communicate project status at all management levels.” = “we don’t produce working software at the end of each sprint, so we need a project manager to provide an artificial feel-good substitute for working software”

    “Act as a central point of contact for all communications relating to the project(s).” = “We need you to do the Product Owner role for these 2 or 3 teams you’re doing project management for … I mean leading”

    “Maintain relevant metrics that help the team see how they are doing” = “Again, we don’t use working software as the measure of progress because we’re not actually an agile shop”

    “Maintain a close working relationship with the Program Manager and Product Owner” = “We call this out, because the person with the Product Owner role isn’t going to do anything you would expect a product owner to do, good luck”

    There is not enough lipstick for this pig. It’s going to be a project management role, with an expectation of micromanagement by the “scrum master.”

    Whoever this end client is, I’m willing to bet that they will agree that “scrum an agile” suck, because what they’re going to be getting won’t be Agile, or Scrum.

    Remember, just because “everyone” is doing something a particular way, doesn’t mean that they are doing it in a way that will yield desirable results.

    If the medication says,
    “take 1 pill every 8 hours for nine days”
    and if 90% of people taking that medication interprets that to mean
    “take 9 pills every 3 days for seven days”

    then you should not judge the medication by the results received from the 90% who couldn’t be bothered to implement the recommended practices.

    • so when the medicine is not working, although the poor sick person follows the doctor’s instructions the doctor claims that is not his fault and that the directions where not followed. Agile has failed. You keep saying that is just not implemented correctly, but everyone and yes I mean everyone implements it “wrong” according to you. Something sounds fishy don’t you think?

      • What I described is *not* the people following the doctor’s instructions.

        once every 8 hours for 9 days
        *** is very different than ***
        9 pills at one time every 3 days for 7 days

        It’s the same amount of medicine, but the dosage and frequency are vastly different and no one would be surprised to find out that either the medicine taken this way either did no good, or it killed the patient.

        once every 8 hours != 9 pills every 3 days.

        • I know what you described but is simply not true. Saying that if Agile fails is the team’s fault is a snake oils talk. And this is all that Agilist do: if a project works well with Agile then is proof of the value of Agile, if it fails then it is the teams fault. That is a scam and very dishonest.

          • This conversation is the embodiment of how agile gets implemented nightmarishly.

            I went out of my way to explain that the two different medication examples were different and you came back with saying that they were the same.

            People literally die because they do not take their medications as described. (If you grind certain time release medications it will *kill* the patient.)

      • Not everyone! I’ve been in *many* scrum teams and it always worked really well. Of course, sometimes there were some problems, but we solved them over time (the very point of scrum: identify the problems – and fix them).

        I can*not* confirm any of these horrific experiences that some people (including Michael) reported here!

        Just because many companies are too poisoned and introducing scrum does not help (or is even counterproductive), that still does not render scrum a bad tool! It’s like an obese person running a marathon: Because of his bad shape, this likely causes his knees to take serious harm and maybe he’ll even die because of a heart attack. Does this does prove jogging / marathon running to be harmful? No, the problem is solely his bad shape! He should introduce sports carefully and under good guidance!

        • according to whom? because every manager in the project I saw swear that things work well. And that is because programmers learned to work around the problems generated by the Agile/Scrum methodology. I sincerely doubt it when you say you have seen many scrum teams that worked really well. The problem is that everyone refrains telling the truth that the methodology does not work because they are afraid for their jobs. Is like Anderson’s story with the Emperor’s clothes: everybody knows he is naked but everyone is afraid to say anything. Similar with Agile: everyone knows it is a bad methodology but they afraid to speak up.

          • @cyp: According to me! I’m *not* a manager, but a senior software developer + architect (21 years of experience).

            Therefore, I did not need to rely on others telling me whether scrum worked or not – it is all my own personal experience. And believe me, I am certainly not afraid of loosing my job (and never was). I’m an external, highly paid freelancer – not an employee. But despite of not being a regular employee, I was (and am) still a normal scrum team member – seeing how the others feel and work.

            In all projects, the only people complaining heavily about scrum were the weak developers (who IMHO should better have chosen another profession), because scrum made their weaknesses very evident. This is the strength of *real* scrum: making problems visible.

            And no, I did not feel micro-managed. After all, it’s still my own decision how I approach problems and solve them. The contrary is the case: In scrum, the entire team is far more involved in everything – including planning and architectural decisions. So it is – in fact – far less micromanagement than I’ve seen in other processes.

            • a little bit insulting calling everyone that does not like agile weak.and a bit presumptious of you don’t you think? Basically you are saying anyone that does not agree with you is not a good programmer and should not work in this domain. What criteria do you use to call them weak? So problem is with the programmers… always with the programmers. Maybe you are not a manager but you have their flawed thinking aproppiated to a dime. If they are weak hire people that are not. Problem is most will not agree to work under those conditions. I disagree completely with all you just said. Also if wasting a hour each day (just because the scrum is only 15 min it does not mean it is all the time that was wasted because of that) each day to give a report everyone that is interested in it should already know is not micro managing I do not know what is. I do not wait a whole day to address a problem in a scrum meeting. I prefer addressing it when it arrives.

              • cyp, it seems talking to you makes not much sense, because you seem to be unable or unwilling to understand what I wrote. Instead, you are trying hard to interprete your opinions into my writing. My time is to precious to waste it this way. Hence, this is the last reply you’ll get unless the communication gets more constructive.

                No, I certainly did not “have their flawed thinking appropriated to a dime”. I like to be productive and scrum is helping to keep the overhead low and the productivity high – not only mine, but the entire team’s. And it does so without pressure. After all, my co-workers and I have plenty of time to drink coffee together, discuss problems and develop good solutions together.

                If you don’t like productivity in a creative atmosphere, then maybe this is your problem. Otherwise, scrum contributes to this. Of course, if the company is fucked up and such a creative atmosphere does not exist at all, then scrum (alone) cannot fix it.

                All the devs exchanging a short status report with each other every day has nothing to do with micromanagement. It really seems you have no idea what micromanagement means.

                Let me quote from a dictionary: “manage[ment] or control with excessive attention to minor details”

                Do your fellow devs manage or control you? I think not! How the daily communication with your fellow team members and without (!) any manager present can qualify as micromanagement in your opinion makes no sense to me.

                Maybe I should emphasize, that neither the product owner nor any other of your superiors necessarily takes part in the daily scrum! If the product owner wants to join and the team agrees, then he may be there, but if you feel bad about his presence, then simply don’t allow anyone but the devs (and other productive team members like artists (e.g. when working on a game)) in the daily scrum!

                And maybe I should stress, too, that the scrum master is *not* your boss (at least this is the case in *real* scrum) and therefore his presence in the daily scrum meeting only serves for organizational reasons – e.g. to make sure the meeting really stays short.

                Besides organizing, the scrum master has the job to remove obstacles. Hence, the daily meeting is an opportunity when every dev can tell the scrum master which obstacles he needs to clear. So the scrum master definitely serves the team – not the other way around.

                And I should note, maybe, that I have been working in quite a few scrum teams, who did not have any scrum master at all. If all (or at least most) of the team members and the product owner have enough scrum experience, you don’t need a scrum master. Of course, then the team needs to remove its obstacles itself.

                And as I already stated before, the daily scrum meeting is not the only meeting. It is a starting point. And both, originating from the daily scrum as well as completely independent from it, other meetings or pair-programming sessions are happening. The daily scrum gives every team member a rough idea of the big picture – very superficial. The in-depth talks go on in smaller groups, afterwards or – as said – completely independently. If you encounter a problem, nobody forces you to wait for the next daily scrum!

                This meeting also aims at uncovering problems that nobody is aware of or finding solutions quicker, because some other team member might pro-actively tell you that he already developed a solution for the problem you’re currently dealing with (without you knowing). Of course, this may happen, accidentally, in other situations, too, e.g. when drinking a coffee with a co-worker. But not everyone drinks (enough) coffee – so the daily scrum is a helpful institution 😉

                You talk like the managers/scrum masters/customers/product owners were your enemies.

                I indeed have a different perspective: I founded a software company over 20 years ago and ran it together with excellent developers (both partners and employees) for about 15 years. But that’s quite a few years in the past. Now, I’m working as a freelancer.

                Still, for me it is clear that our customers/product owners are the ones paying us and therefore help us to exist – definitely not our enemies!

                Of course, in large companies, the upper management often are a bunch of idiots having no idea about what’s going on. But especially then – if done properly – scrum helps: These managers get sth. (usable software) and have the right to give new input (user stories) between sprints. But the sprints are protected – during this time, upper management must stay outside. Rather the opposite of micromanagement – at least to me.

                And yes, I can judge very well how good or bad a fellow developer is. Indeed, this is very simple, because I know what my colleagues are working on, I read their code and I can judge the code quality very well. Why? Because I have done many mistakes myself and I have learnt from them. Additionally, I see how long they need to implement sth.. If they need a week or more for a solution that is worse than the one I’m writing in a day, I do not hesitate do judge them as “weak”!

                Btw., if you cannot accept my experience and instead think that I adopted some flawed thinking, then this is your problem – but it doesn’t change anything. What I wrote is neither an insult nor do I take over some “flawed” ideas from someone else. All I wrote originates from my own (large) experience and own thoughts about it.

                And yes, I’m sure the problems Michael and you described, certainly do exist. But these problems are not primarily scrum or agile problems (that’s like saying the drilling machine is damaged when you fail to provide electricity) and fortunately (!!!) I never encountered them.

                • Michael

                  I agree with many of your points. The alternative being what?

                  Also you have an issue with Waterfall. The alternative being what?

                  Plus you don’t mention any best practices for dev or PM. Curious – what is your background? (Did not see it on LinkedIn). All commercial IT? Anny DoD? Anywhere that has CMMi L5? I ask because you seem to think the methodology is the root cause as opposed to poor or no best practice use?

                  My preference is DSDM with actual best practice use. DSDM uses the best of Waterfall and agile to mitigate the issues with the other.

        • I love your sports analogy. I can obviously envision scrum-done-badly becoming a nightmare. However, ours was a success story.

          Prior to scrum our releases were monolithic and fraught with requirements spirals. The last release under “waterfall-ish” took 1 1/2 years, was riddled with bugs, and absolutely destroyed stakeholders trust in the software team. I think this was the straw that broke the camels back, and forced management to look seriously at something like scrum. The old process also left a large backlog of unaddressed features that were critical to the direction the business wanted to go.

          After we implemented scrum (which did not happen smoothly, but happened), it took all of two years to completely reverse stakeholders expectations, and clear the backlog of important features. Now they are struggling to come up with new useful projects (a different problem).

          All in all maybe 3/4 of the software group are working happier. The rest grumble, but found ways to cope. More of them convert to the happy side each year as they gain confidence in the system. More importantly, all of our many stakeholders are much happier with this system. We now release more often, four times a year, and with much fewer bugs.

          Things are far from perfect, but no one in our group is foolish enough to think that things were better before we adopted scrum.

  147. It is extremely difficult to tell Agile isn’t “working” in commercial IT when those involved have no experience outside of commercial IT. That is because commercial IT uses very few best dev or PM practices. That includes the big boys – Google, Apple etc. You create things because you throw money, time and engineers at it. And you rarely build anything very difficult to make OR that requires any real exception handling. The missing practices involve objective performance measures. Pile all of this together and you folks have no choice but to think you are doing well. It is very hard to be experienced or knowledgeable in something you have not been exposed to. The missing practices include EVM, defect density, rework and requirements volatility metrics. And you have no real PMO so your functional manager rule the roost. PMs work for you so they are not going to hold you accountable. Neither is QA (who is really QC) who also works for you and should not. What you wind up with is a perfect storm where the functional managers are Gods who have very little objective accountability. The Business side let’s you get away with it because they have less of a clue and no more courage to hold anyone accountable than you. This results in everyone doing something, however poor or inefficient, then when the time and $ run out, which Agile assures never happens, you puny requirements or backlog, declare success and the loop repeats. One of the key reasons you folks blamed Waterfall and created Agile (which again I am not totally against) was to remove any project level cost, schedule or scope accountability. As long as you look like you work and something OK comes out you all puff your massively inefficient and borderline unethical selves up, rinse and repeat.

  148. Pingback: Three Failings of Scrum and the Old School Solution | Laurence Gellert's Blog

  149. Pingback: Fiction and Nonfiction | Hack the Process

  150. Good view point. I wonder how Michael thinks about Kanban.

    Kanban is regarded to be a very similar framework with Scrum, and many people thinks them almost identical. I think there’s some fundamental difference between them. Many of the arguments in this article do not apply to Kanban, to my understanding.

    I’m neither pro nor con to Kanban or Scrum. I’m just a seeker for the higher wisdom.

  151. Agile during the development phase is fine when the task is a number of small updates and improvements but it cannot be used on a large system. The 4 week cycle is a dogma and it doesn’t suite ERP systems which use old technology with no automated testing. It can be a total disaster especially when being used to remove the entire test phase as “testing” has been done in development.

  152. The issues identified in the main article detail the very same problems I have encountered in most every Agile/Scrum implementation I have experienced to date.
    I do understand what the Agile Manifesto states of what Agile is or ought to be. However, there is no denying that its application is typically in the form of a methodology.

  153. This article describes very real problems in very real companies.

    It’s also an example of the “Faulty Causality” or “Post Hoc” fallacy, which basically comes down to confusing correlation for causation.

    Bad stuff happens at this company.
    This company uses scrum
    The bad stuff is caused by scrum.
    Scrum is bad.

  154. Pingback: Big picture first | Michael O. Church

  155. Hi,

    Effectivement ce que vous avez écrit dans votre article est plus en lien avec la culture de l’entreprise, avec qui vous avez, peut être, travaillec, car Agile ou scrum favorise les personne experts ce que vous nommez ”personne âgée de 30 ans”
    Il est vrai que waterfall n’est pas recommandée pour certains projets que d’autres, il existe d’autres méthodes plus souples comme XP, pour quoi ne pas l’adopter, si ce qu’on fait n’est qu’un slogant de l’agilité….

    Votre sujet de discussion est très important.

    • here is one thing. Timeboxing. Not everything can fit the length of a sprint or be divided to fit without breaking functionality. Also when calculating the sprint testing and bug fixing are usually not delimitated separately. There are forms of iterative development where each iteration is follows the steps in a waterfall project. This works far better than scrum. Also collaboration is all good and dandy but when meetings and talk take a major procentage of the time compared to actual implementation (and this happens in scrum) then we have a problem.

  156. The best way:

    in my office, develop what the customer needs, deploy, the customer request for changes, more development, deploy again, get my pay check and full of win….

    where is the chaos?

    • Mattheus
      That is an overly simplistic answer and demonstrates the problem commercial IT has. You did not mention cost or schedule performance. Most customers in commercial IT overly trust their IT counter parts to actually be their best. So they don’t ask for proof. Usually this is a huge mistake.Would you objectively be able to prove what level of cost, schedule and scope quality you are providing? You can do like most and assume you actually use best practice and provide world class service, which few do, or you could objectively figure out if you do. To do that you need productivity data and EVM. Productivity to include full lifecycle output. That includes design, code, test and defect and rework metrics.Then benchmark that to others.The data is out there. And even if you skipped that part I guaranty you that with the actual and proper use of best practices you will become 30% more efficient. And be able to prove it not just assume or guess.

      See this excellent presentation. One caveat. Capers does not level the playing field regarding complexity. Most DoD programs are far more complex than commercial programs. Given this the productivity should not be expected to be the same.

      Click to access Jones-Sep-2012.pdf

        • Mattheus – I GUARANTY you have no exposure and hence no experience in the best practices. I have never talked to anyone who did who didn’t agree with my points. Try to put the go to the side and not get defensive. I have worked on the DoD CMMI Level 5 side and in several commercial IT industries. The differences in practice use and actual performance are stark. Commercial IT is woefully inefficient. Only they don’t know that because they have no exposure/experience to the actual best practices. Your defect density and rework % are what? If you do not know the answer then you are not qualified to state those practices do not add value.

          • you are so superb that it is better we close here. perhaps that’s anyone never disagree with your points, probably because they just want to be done with it , just like me.

            • Mattheus – I take the direct approach because 99% of the time folks react the way you do. Instead of being open minded, curious, professional and proactive the defense mechanism kicks in. Completely counter productive. I assure you that had I not had the opportunity to see that other side I would think the same as you. The difference is if someone tried to tell me what I am trying to tell you I would respond by trying to figure out if there is value added. I would do so with cautious skepticism but I would be open minded and curious nonetheless.

                • I have no doubt you and your company are successful. Just like Apple, Google and Yahoo(?). What you are all doing is the right level of work to warrant the level of success you have. The point is not that you are not doing OK, well or even good. it is that you are probably not doing nearly as well as you could or should. And this is not your fault. It is the fault f an entire industry who dumbed down best practice for so long everyone thinks the new and much lower bar is at a world class level. I guaranty you can be far more effective. And I know that because so few of these practices are used and used well that there is no risk in making such claims. (Not counting personal experience at doing so and testimony from others and studies like that from Capers). Lastly this is not a sales pitch. I have been afforded the opportunity to see that side and simply want to help others. While a bit off putting I have found the direct approach – even intervention – has the best shot as success.

                    • Why is mentioning Apple etc = to being a troll? Of course they are doing stellar. But so was Blackberry and Yahoo is a mess. These companies are massively inefficient. They spend way too much and throw $ and people at things. When the glow wears off and they become less of a novelty what is the first thing they do? They have massive sell offs and sell buildings. As for me my profile is on LinkedIn. At the height of it I ran all of software engineering at NORAD and took them to a certified CMMI L4 and practicing 5 (needed another year of data to go for the certified 5). Having said that don’t focus on me. Read the Capers paper. Push back on me to detail the what, how and why. Then let your experience and commonsense slip in. Focus on the things that van help you.

                    • Please do not be defensive. I get how what I am saying sounds. It sounds crazy, arrogant etc. But I assure you that once you drop your guard and ego and actually look it is very obvious. Please just read that slide set from Capers. True world class performance is about how much of the best practices you use and how well they are used. If good enough is good enough for you then keep going the way you are. Let me give you two examples. Text based scope like Stories and Use Cases and writing tests first. If you augment those text based stories with Activity or Use Case Diagrams (UML) and pay attention to exception handling your defects will drop. Why? Text based scope is not visual. You cannot “see” the threads.Too many opportunities for assumptions holes and miscommunication. If you do those diagrams right the test cases will fall out. Review those for completeness and accuracy then code to those. BEFORE this though stay the way you are but measure defect density and rework for one release. Density being how many defects per something. Hours, modules, Stories etc. rework being how many things that used to work were broken. (You should be able to go back a year or so and compute this data to make the sample even better). Now try the things I suggest. Defect density and rework will drop way off. I promise.

  157. Pingback: Mood disorders, cheating at Monopoly, a fundamental truth, and more on Agile Scrum |

  158. Pingback: Is it OK to enjoy the deaths of “unicorns”? |

  159. Thank you for this post, but it is not true agile and scrum are not terrible. I would like to add another perspective as detailed in http://www.scrumstudy.com

    “Agile is a group of iterative and incremental software development methods. It encourages flexibility and speed in responding to change. It requires collaboration between self-organized, cross-functional teams to generate requirements and solutions. – See more at: http://www.scrumstudy.com/blog/scrum-and-agile-a-brief-look/

  160. As for Agile vs Scrum, Agile as it was first conceived is neither a methodology or a process. It’s a philosophy. Which is appropriate for any endeavor that has a significant amount of art involved. Scrum pre-dates Agile so I’m not sure if saying something like “Scrum is Agile” is a correct thing to say, maybe “Agile is Scrum” might be more appropriate if it wasn’t for the fact that Scrum is not a philosophy.

    I’ve been a spectator of methodology since the mid-70’s and nothing much seems to change. Fact is, people don’t usually want to pay you to write the same software with the same development platform in the same way all over again. So applying the methods used to manage repetitive processes is always going to be of limited utility. As long as there is significant art involved those methodologies that ignore the artist will fail. That is all there is to it really. It only takes a great artist to make one recording in order sell a million copies. A not so good artist arrives at the studio and in a few hours is done. Frank Sanatra used to phone his recordings in. Lesser artists struggle forever to produce junk.

    What is driving the push to methodology is that the people who pay for software development would like there to be some predictability to the whole thing. These are not the kind of people who like to be told at the beginning of a project that it will take six months and it ends up taking six years. After experiencing this enough times, they come to hate software projects, and who could blame them. If these people had their way all that was involved with creating new software was telling a machine what you wanted and out popped the software. I don’t think they would care if it cost the price of a house, it would be predictable, something they could reliable plan and budget for. That would make executives sooooo happy.

    Another thing that seems to be driving the push to methodology is the continued rapid growth of the software development industry. Which has in turn created a workforce with a large number of workers with limited experience and ability. In the factory setting, process and methodology are the cure for this situation if outright automation is not possible. This approach works great in a factory because I guarantee, given a half decent process and methodology, after your 1,000th unit, you will get pretty good at it. But in software we do not get to do that. Many are lucky if they get to do a basic CRUD project with the same level framework two times in a row.

    In an industry like IT the things that have promoted knowledge transfer and identified talented developers, as well as weeding out the not so good developers, have worked the best. Any methodology for software development that does not emphasize this, given the teams I’ve seen lately with huge variations of experience and talent, with not do so well. So the ideas of pair programming, dropping the bottom performers, breaking up work into functional chunks, RAD frameworks and open source tools make the huge difference. Sizing work with a deck of cards… not so much.

    • Wow. Respect for this comment. Very well said.

      Except this one:
      “Lesser artists struggle forever to produce junk.”
      I don’t agree. Lesser artists produce junk every single day very quickly and this junk is all over us, and makes real quality products very hard to find. Just turn on the radio or TV. Same with software development: junk software coming from “lesser artists” is all over. And the lesser artists are not necessarily to blame (mainly).

      The reason?

      I think it’s exactly what Michael is trying to say in his articles. Just like how artists are not in control in art industries, software engineers are not in control in the software industry. Very sad but true.

  161. Pingback: Über falsch verstandene “Agile” Methodik | ggreiter

  162. THIS is how EVERY programmer should react to being brought onto a scrum job that has 16GB of source code:

    Dear [name redacted],

    Please accept this letter as official notice of my resignation from my position as senior software web developer. My last date of employment was 12:15pm on Jan 26, 2016. I worked a total of 12 hours and devoted 100% of my energy to understanding the company, team members, psychological background and code base. As a seasoned professional, it took only that amount of time to know beyond any doubts that this was an unpleasant and detrimental career move.

    After careful consideration, I learned that I am unable to perform in this position, and I realize that this opportunity is not the proper one for me. It has not been a pleasant experience really and I’d rather not be involved in any way. I’ve been around long enough to pick up on most of the psychological workings of companies and you mentioned red flags in our interview, I now understand why. It feels like an atmosphere of fear and intimidation. One of the highlights of my career was reaching a point where I am in great demand and do not have to subject myself to unpleasant working conditions. I would recommend this article if you’d like to gain a better understanding of my sentiments on the methodology of choice at your company. Although I didn’t write this, I share the author’s sentiments wholeheartedly.

    Why “Agile” and especially Scrum are terrible

    I understand your need for it, it’s just not in line with my views, and as a programmer opposed to such conditions, I cannot knowingly assist in propagating or working in such an environment. I wish you and your staff all the best and I look forward to receiving payment for the 12 hours of work performed. Please take this as a very inexpensive business decision that saved your company several of months of money that can be used on someone else. This was impossible to work out as we have opposing viewpoints on the most critical of things. You can email me anytime at Ben@PhillyTechSolutions.com.

    Sincerely,

    Ben Philips

  163. Pingback: Understanding elemental talent. Or: why Paul Graham hates me. – Michael O. Church

  164. I always thought it was closer to Stalinism than anything else. You have a 5 year plan vs a 2 week sprint and neither produce anything of value despite what the leadership says. You wanted a washing machine? No problem, Here is a tractor that doesn’t work very well. Just like in a totalitarian Stalinist state, you don’t question orthodoxy. Water fall is not the answer, but holy crap if Agile is then I dare not venture what the question was without getting into HP Lovecraft territory.

    • This is an interesting observation. A big part of what drove the Soviet Union apart was that it was a blame state. When these unrealistic quotas were missed, there was a lot of finger-pointing. On the large scale, it happened between Soviet states, too: Russia would blame Georgia and Georgia would blame Armenia and so on. Agile Scrum teams are the same way. The whole thing about Scrum spotting “impediments” is code for “allocating blame”.

  165. I liked and miss a line from an earlier version: “This shit is toxic and it needs to die yesterday”, and I still find it in a google search. What happened to it?

  166. This is an excellent rehash of the previous version. It could become almost perfect if two typos were fixed.

    “they’re more likely to jerked” -> “they’re more likely to be jerked”
    “what is else” -> “what else”

  167. After casually reading this post and several of the comments, I must say this is quite a fascinating case study of scrum misconceptions. Unless the argument is that scrum is not possible to implement correctly, because of bad managers, I don’t really see what major points you have against scrum itself. (Not that I’m saying there are no good arguments against scrum, I just am not seeing them here per-se).

    Some examples in here describing horrific interpretations of scrum (this is mostly from comments):
    1) Massive dev teams (a good number is 5, but I’ve heard up to 9 is ok)
    2) Developers being assigned tasks
    3) Working to exhaustion in an iteration (the team decides the pace, and it should be sustainable)
    4) Adding work or changing requirements during an iteration

    There are other subtle ones, but I don’t need to mention them. If you are doing any of the above 4 I doubt you could succeed even slightly.

    Here’s another big misconception IMHO, that scrum alone will produce code faster or better. I don’t really think this is strictly true. A process alone will not cure any organization’s disfunction. It is however designed to make that disfunction very transparent. If you do that, and no one is willing or able to address that disfunction, then it very likely will appear that working under scrum is way worse, because it forces all the badness to bubble up. This is great for anyone who wants to do the inspect and adapt part of agile, but terrible for anyone who does not, or who cannot.

    So if the process itself doesn’t produce better or faster code, then what good is it? Personally, I see scrum more as a tool to help identify and fix organizational issues. I think that is why some groups begin paring it down over time, removing things like estimation and velocity, as they evolve the organization to a better place.

    Most often when I hear/see people complain about scrum, it always seems to be that they are doing some part of the process wrong. To me I think this could be a valid complaint. Even though it is flexible, scrum is often difficult to do correctly.

    Lastly, scrum is not for every organization. Anyone who thinks it’s a silver bullet is a moron.

    • Kevin, you’ve hit the nail on the head. This article is an amazing case study for doing scrum wrong.

      At the same time, I’m starting to see and hear manager’s advocating the use of scrum for *exactly* the nightmare reason we see here, enforced overtime, remove the “waste” of paying down technical debt, and the wonders of a daily status meeting.

      There is some analogy here that needs work, something about brutes only being able to see tools as weapons (screw drivers as stabbing tools and torque wrenches as clubs)

      Either way, I’m starting to think that the usefulness of scrum is approaching zero as it becomes less a philosophy & an approach, and becomes just “a cool new term for project management”

      Articles like this one make a case that there is more evil than good is being brought to the world under the scrum banner.

      • There is a difference between knowing all the rules, yet those rules being difficult to follow, and trying to play a game without bothering to learn all the rules.

        What you and others are describing sounds to me like people wanting to do scrum, but not bothering to have everyone learn the rules. I can’t think of any games or sports that are fun when not everyone playing has learned the rules.

        So what are you really criticizing? Is it the word “scrum”, or the fad of scrum, or bad managers? None of those have anything to do with actual scrum. I’m hearing a lot of “fake-scrum” and “fake-agile” is terrible. So what? Don’t do “fake-scrum” and “fake-agile”.

    • @John
      Your post reflects the thinking that is causing this kind of post to exist in the first place.

      “Individuals and interactions over processes and tools”

      Tools are important, but as long as teams are working at unsustainable paces, and are not self organizing, or worse, being told how the can or can not make software (as stated by mayn non-programming executives, “paired programming will not happen under my watch” ) there is no way that tools are going to do anything but add to the noise.

  168. Processes and methodologies are intended to make certain work easier, more valuable, more manageable, etc. They are tools, and in the hands of competent people, they will achieve some or all the desired benefits.

    Having a lot of experience with Agile methods, variations, and teams, I’ve seen most of the things the author claims are wrong about agile/Scrum occur. However, I have also seen those things not be a problem, and I’ve seen great value in Agile and Scrum.

    So if they can be both effective and ineffective, what’s different. I’m a big fan of Alistair Cockburn when it comes to successful software development. He contends (and I agree) that you can succeed or fail using any methodology; or none at all. What matters are the people and how they communicate.

    I’d add that Agile teams (any teams) don’t operate in a vacuum. The organization has to be on-board, and able to interact with, whatever approach teams use. The organization has to hire and retain the right people. The business and the teams understand that discussion and agreement, not dictation, is what drives the work that is performed. The organization must have vested functions outside of the Agile teams that are counterbalancing the intentional short-term focus of Agile development.

    Can Agile/Scrum go dramatically awry? Hell yes. Can Waterfall? Oh yeah. So can anything else you might try. They’re tools. You can use them to your advantage, or not.

  169. Pingback: Der tägliche Terror der agilen Meetings - JAXenter

  170. Even reading the agile manifesto, one realizes that SCRUM is all about marketing, with little relevance, or even sanity in not only a engineering but business sense. Who changes the product at any given point for the client? Do you move the basement while halfway building a house? The best indicator of progress is what is visible to the client? Who cares if you are hitting a flat line in productivity from code rot, or just hit a brick wall from poor technical planning. SCRUM is nothing more then a bullet point on a resume, sold to inexperienced software managers so they can land a job with little relevant experience. It solves nothing, gives companies a false sense of security, and in over 20 years of software development and having shipped many .. many .. products, I have yet to see any benefit to it, while seeing plenty of harm. But.. for every company that does produce quality software, there is the next job, where delusions of quality and schedules run wild. In their minds, SCRUM is working.

    • “Even reading the agile manifesto, one realizes that SCRUM is all about marketing, with little relevance, or even sanity in not only a engineering but business sense.”

      Yeah, the signatories were pretty naive and inexperienced developers. /facepalm

      I read the rest of your rant, but I don’t think I really need to say more.

  171. I shan’t add any more to the comments except this: Thank you, Mr. Church, for writing this article. It’s very well done. I’ve already shared it on LinkedIn, and I’m certain I’ll be passing it around to colleagues for quite some time.

  172. Pingback: Why Choose Scrum for Web and Mobile Development

  173. Pingback: Why “Agile” and especially Scrum ar...

  174. This is the kind of article that will not convince anyone of anything they were not already convinced of. Damned near everything in it, and many of the comments that follow, is completely contrary to my understanding of the philosophies and recommended practices of Scrum and Agile. Disclosure: I recently became a CSM. At the requisite course, the *very first thing* that the instructor did was tell the class that if their teams were delivering valuable software sustainably, then we should keep doing whatever we’re doing and regard Scrum simply as a topic of interest, and a potential source of further ideas.

  175. I stopped reading when I realised that this blog was written by someone who has only been exposed to bad agile (scrum in this case).

    A few salient points to mention.

    1. Iteration length is not fixed at two weeks, it varies from a week to three months for very large projects. The length of the sprint should be decided by the work and not the work defined by the sprint length. It should be fixed and agreed at the start of the project.

    2. Stories (the what) should be decided by the product owner, who knows what is needed to satisfy a customer. Tasks (the how) should be decided by the team, who know the best way to achieve the requirements. There should be plenty of discussion between everyone though. Sometimes the engineers will steer the PO down a better route and vice Versa.

    3. The agile manifesto, scrum, lean etc are guidelines. The whole point is to find the way that works for the organisation you are in and not to rigidly follow what works for another.

    There are dozens of other counter arguments I could make to this piece, but now is not the time.

    Key takeaway – experiencing bad agile implementation should not be confused with agile being bad.

    • You are saying how things should be, the author says how things are.
      1. how many do iterations longer than 1 month? Because with 3 months iterations for complex projects I would be happy. Everyone seems to go by 2-4 weeks standard.
      2. well it should but usually they are not decided at the beginning at the sprint but whenever the product owner feels like it. And starting to work at a big story in the middle of the sprint causes big problems with the points system.
      3. First of all many are bad guidelines. Second whenever someone attacks how Agile Scrum is implemented everyone starts reciting them as a mantra. If they are just guidelines stop using them as excuse for everything bad with Agile. Third they are so frickin vague they can mean almost anything so anyone can use them to justify just about everything saying the magic phrase “this is not Agile” whenever it is proven Agile sucks.

      When almost all experiences from regular programmers with Agile are bad then the bad experiences do make agile bad.

      • There is a lot of badly done agile around. It became a buzzword that people picked up on without understanding why they were using it and now we are where we are.

        • Problem is that badly done agile accounts for over 90% of the cases. So I say there is something wrong with it. The fact that with a small exceptions (that I doubt it truly exist but I grant you the benefit of the doubt) the methodology fails means it is something wrong with it.

          • I’ve 21 years of experience as a software architect and developer. During the last decade, I’ve done many projects with Scrum. Never did I encounter the problems described in this article and the comments. I definitely cannot support your estimation of “badly done agile accounts for over 90% of the cases”.

            Of course, there were problems in every project, but most of them – especially the serious ones – were not Scrum-related and problems happened no matter what process the project used. Maybe that’s because, already 2500 years ago, a wise man called Buddha said that this very fact – encountering problems again and again – actually characterizes life itself (and called this dukkha).

            Btw. in my experience, teams using Scrum tended to solve their problems (much) faster than teams following other processes.

            • Then you’re lucky my friend.

              I’ve worked for the same company for some years now and seen how good and how bad scrum\agile can be. Over the years we’ve had two versions of scrum thrown over our team by two different upper-level management teams. The first manager knew about development and implemented a very successful scrum strategy (my experience during this time was much like yours). The second manager (current) knows nothing about development, comes from a business background and has forced a version of scrum which reflects many of the detracting comments.

              So for me, scrum *can* work very well if its implemented correctly but there are many, many bad managers out there…

              Incidentally, we lost no developers during the first stint. The second is 3 and counting…

              • Over the years we’ve had two versions of scrum thrown over our team by two different upper-level management teams. The first manager knew about development and implemented a very successful scrum strategy (my experience during this time was much like yours). The second manager (current) knows nothing about development, comes from a business background and has forced a version of scrum which reflects many of the detracting comments.

                I’ve asked what characterizes agile that works vs agile that does not, and gotten no useful responses, beyond “If it doesn’t work, you’re not doing agile!”

                What are the core things I must have, encourage, create, do, what ever the right word is, to implement a successful agile process?

                • > “What are the core things … to implement a successful agile process?”

                  IMHO, this could be said in just one word: Respect

                  It seems to me this is exactly what’s missing when for example a product owner looks down on the team. Btw., no matter what process or organisational form you’re using: Mutual respect combined with benevolence and competence are definitely helpful to success.

                  So, in addition to respect, you need benevolence (which is IMHO closely related to true respect, not just facade) and you definitely need competence – both in your team and as product owner.

                  Btw., a lack of respect certainly poisons *every* human interaction – not only in the work place.

                  • Interesting. I have followed this article from the beginning and have noticed something interesting. Most of the qualities said to be necessary for agile/scrum are things like ‘respect’, ‘benevolence’, ‘commitment’, etc. Very few words like ‘competent’, ‘skilled’, ‘expert’ are used. This explains and describes what I encountered in my past (and last of all) workplaces. No real respect was given to programming experience or any sort of special knowledge (like a SQL or COM internals). As a matter of fact, this was seen as ‘bad’ because managers and tech writers just couldn’t seem to grasp these things. The programming knowledge and skill, however, has always been an absolutely necessary part of any decent sized mission critical software component. Have you noticed that the demos given during agile presentations given to companies always present simple, clear cut applications (no real world value). Suddenly tech writers and testers opinions on software architecture had equal weight with experienced developers. Wow! They know as much about software development as I know about tech writing and testing. Instantly you have a team of ‘experts’. Except that it doesn’t work. Many times I was the one that was tasked with making these ‘expert’ solutions actually work. And many times the solution was so badly architected and written that it just wasn’t possible without a complete rewrite. But then, just couldn’t do that because the people who proposed and created the disastrous solution were the ones who sat in judgement of me in the code review. Agile/scrum is more suited to web development and areas where simple (and I stress simple) solutions based in HTML and scripting languages are used. But not to mission critical applications. What then would I use? A form of iterative waterfall where you start with a functioning architecture. For example if you have something you need to run from a client to a server, you would actually write the framework. And by framework I mean a simple client interface that actually sends a request to the server and a server piece that receives the request and then sends a canned result back to the client. There you initial revision of the client piece, the communications software and a server piece that responds. Then you start adding functionality as needed to complete the project. This even provides for showing demos of functionality to management and clients on a regular basis to show progress and obtain feedback. I did this in 1999 and the software is still in use and has an extremely low incidence of problems. That’s because, first, I had the ‘special’ knowledge to build the system and, second, because the process starts the testing during the earliest phases of the project. Eventually, a team of 6 was involved in the development. By starting with a functioning architecture, just perform testing continually as you develop the remaining product functionality. Incidentally, the project met all goals of functionality and deadline with a minimum of ‘crunch times’.

                • @paulhanchett — If you treat the Agile Manifesto and Scrum Guide as a proposal and set of requirements, then it will all come together. People run into problems when the Product Owner, Scrummaster, or Developers disregard the Guide. Scrum is a framework, which means its OK to add new elements, but you cannot remove elements without side effects. Most of all, you have to take responsibility for your own life. If the company says you’re doing Scrum, and your group isn’t following the guide, then call people to task. And if you don’t have the courage to stand up for yourself, then there’s always hired.com.

                  • what kind of answer is this supposed to be? So your answer is : “look at our Book and it should be clear. If it isn’t you are too dumb. And regardless if you do not like it you should just find another job. ” Are you able to see how your answer is similar to cult following? And anyway it does not answer the question in any way.

    • Ralph, if I may suggest, maybe you should actually keep reading similar articles (instead of stopping reading) so that you can see the number of people who have “only been exposed to bad agile”.

      And about your salient points:

      > “Iteration length is not fixed at two weeks, it varies from a week to three months for very large projects.”
      Scrum Guide: “The heart of Scrum is a Sprint, a time-box of one month or less”

      > “Stories (the what) should be decided by the product owner”
      The Scrum Guide does not say anything about stories, it is not using the term “story” or “user story” at all. It is talking about Product Backlog items. So “story” is not defined in Scrum. On the other hand, Product Owner is only well-defined in Scrum, but not in a broader agile context.
      So if you consider the article’s argument weak, then the same goes for this.

      > “Tasks (the how) should be decided by the team”
      Scrum Guide does not use the term “task”, not even once. So, again, “task” is not defined in Scrum.
      What it does say though is: “No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality”
      This means that the team can decide whether to have so-called tasks or not, so having tasks is just your assumption, the argument is weak again.

      > “The agile manifesto, scrum, lean etc are guidelines.”
      Not true.

      The “Manifesto for Agile Software Development” is a set of values and principles. It’s not a set of guidelines. It does not tell you *how* to achieve consistency with those values and principles, at all. Guidelines, on the other hand, do help you with the “how”.

      Scrum Guide: Scrum is “A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value […] Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage. […] The rules of Scrum bind together the events, roles, and artifacts, governing the relationships and interaction between them.”
      It is a *strict* framework with *strict* rules. That’s probably more than guidelines.

      > “The whole point is to find the way that works for the organisation you are in and not to rigidly follow what works for another.”
      I totally agree in general, but it does not apply to the Manifesto and Scrum which you were referring to here. And that’s because they are not guidelines. In the Manifesto there is not much that anyone can actually follow, and in Scrum, things are too rigid not to be rigidly followed. Or it’s not Scrum.
      Scrum Guide: “Scrum’s roles, artifacts, events, and rules are immutable and although implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety and functions well as a container for other techniques, methodologies, and practices.”

      Key takeaway, take two – experiencing good agile implementation should not be confused with agile being good.

        • Any person experienced with Agile will tell you that everything is a guideline. In this “lipstick on a pig” world we work in everyone has their own interpretation that works for them.

          What works for Toyota won’t work for you and what works for you won’t work for the next guy.

          As soon as you start trying to force someone else’s idea of what is right to be your idea of what is right you run into all of the issues the author has mentioned.

          • “What works for Toyota won’t work for you and what works for you won’t work for the next guy.

            As soon as you start trying to force someone else’s idea of what is right to be your idea of what is right you run into all of the issues the author has mentioned.”

            In the world of Science, this generally means you don’t understand what you are doing… 😦

      • By the way – arguing over terminology just exposes your lack of experience with agile.

        As long as the team agrees on standard terminology and maintains the use of it you can call a task a banana if you want. Just because the agile manifesto writers gave it one name doesn’t mean that is what it needs to be.

        • Now if you read my response again, you can see that it was nothing personal.
          On the other hand, you chose to get personal and make a quick judgment, so I fail to see your reply as anything else but the typical defensive Scrum fanboy reaction.

          And funnily, I almost agree with the second part, except that you are trying to prove a point which I didn’t even argue: “Just because the agile manifesto writers gave it one name doesn’t mean that is what it needs to be.”

          • You’re right, I was a bit of a smart arse.

            I also agree with you that there are loads of problems with Agile. The article is entitled “Why scrum and agile are terrible” and my intention was purely to point out that it wasn’t that clear cut.

            • I appreciate your answer and agree in general. However, I totally support the article as I think similar voices and opinions should be heard and spread, at least to balance out all the snake-oil-selling, lying, cheating, humiliating, certification-based, lack-of-common-sense, anti-engineering agile industry, as it is today. (And yes, that has nothing to do with the Manifesto itself.)

    • I have been a hardware and then a software engineer for 40 years. I think you should listen to yourself– Sounds to me like you’ve only ever been exposed to “Bad Waterfall”, possibly in the straw man form always used in Agile presentations. You need to know that, when you have some idea of what is required to solve the problem, Waterfall is not universally bad. Just as Agile has its own strengths, so does Waterfall. (Personally I prefer the hybrid of the two known as “Iterative”…)

      There are things Agile gets right–Make the customer choose what’s important, unit tests, avoiding unnecessary coupling in the implementation. There are things (IMAO) it gets very wrong–YAGNI becomes an excuse for not looking ahead, “You can’t know what you’re going to build” becomes an excuse for not refining skills to anticipate the customer’s needs and to draw them out into a spec. The greatest defect I find in Agile is that it encourages teams to choose what they won’t do (because it’s too hard or too much work or it will change anyway) without sufficient accountability for the impact on end quality and the lifetime effort on the product.

      Other SDLC methods also have (different) strengths and weaknesses and are often the better choice–especially if research is required to even know how to accomplish the task.

      • Not sure I can see in the thread who you were replying to, but agreed.

        Except:
        “There are things Agile gets right […] unit tests, avoiding unnecessary coupling in the implementation”
        These things has absolutely nothing to do with “Agile”. Unit testing and loose coupling are proven engineering practices. Taking credit and disguising and selling them later under an umbrella term is misleading and unfair.

        • Agreed, Unit Tests and limiting coupling are not unique to Agile.

          But when Agile was introduced, the /emphasis/ _was_ new– In fact in his book on XP, Cunningham introduced unit tests as a necessary (REQUIRED) enabling technology so that one could change (refactor) code “fearlessly”. IMAO, if you take unit tests away from any “Agile” process (no matter the reason) you no longer have Agile. What you’ve got is Bad Programming Practice (at least, once it’s combined with the other stuff that generally goes along with Agile.)

          In fairness I don’t think Agile tries to take credit for unit tests and limiting coupling. But the emphasis is much louder than you generally hear on these points with other SDLC practices (which really didn’t talk nearly so much about how you should actually write code…)

  176. Reblogged this on Data Science in Java and commented:
    To this, I would add two points/comments: The first is that Agile PM has turned software development into the equivalent of piece-work. The last time my tasks were measured in units as small as hours, I was on a literal assembly line. Second: Agile hand-waves away the one thing it’s supposed to be good at (responsiveness to real customer needs), by imagining a person (product owner) who perfectly represents those needs. The actual gathering of product requirements is a process that can be managed, but is rarely managed well in my experience.

  177. Agile/Scrum , is a cheap short cut to allow folks who did not do Software Engineering control over Software Engineers and Architects.

    The Lie is developers adapt this system and you will get ample time many cycles to enjoy coding but in reality it is a SHIT system where 6 month of coding is crammed up in 2 week cycles.

    Furthermore, this system is used by Greedy organizations , who want to hire offshore “Companies” hide behind this model to take away considerable knowledge and tasks in project
    This system takes away control from the Local developers who in traditional model would have developed control and checks on quality standards

    HATE SCRUM AGILE , It is like listening to a drug addict complain about his problem in morning discussions that go for 30-40 minutes

    • My feelings about exactly.

      Agile/Scrum has absolutely no benefits to offer the Software Developer, who went to school and came out excited, looking forward to building his skill levels and someday becoming one of the many known experts out there. Unless you are trying to become a SCRUM Master next Agile/SCRUM has nothing to offer.
      And then there is the blasted SCRUM Checklist

      Do team members seem to like each other, goof off together, and celebrate each other’s success?

      Are there issues/opportunities the team isn’t discussing because they’re too uncomfortable?4

      Is your team in the state of flow?
      • Concentration and focus, a high degree of concentration on a limited field of attention.
      • A loss of the feeling of self-consciousness, the merging of action and awareness.
      • A sense of personal control over the situation or activity.
      • The activity is intrinsically rewarding, so there is an effortlessness of action

      Do team members hold each other accountable to high standards, and challenge each other to grow?

      I cringe every time I get a SCRUM checklist…. the list is more like what ou would be handed in a group session of some sort. I cringe every time the scrum master seeks to remind his team that cross-training is a necessity in a scrum environment. I am a programmer, and I spent years training to become one…. I don’t care to learn BA skills, and not even QA skills… but why am I being forced to learn these skills? What happened to the idea of specialization?

      And I also cringe whenever I am reprimanded for just asking a question or two of, say a friend, in another team, whose skills I trust. I shudder to think “what group came up with these ideas for SCRUM”…… must have been some seriously disturbed individuals if you ask me…

      And what irks me most is the little(or no) attention paid the technical debts piling up with each new line of code(written or cut-&-pasted), introduced into the software every sprint.

      Back in college, my professors did a good job, I think, making it clear that bugs were bad for software and software security. I was taught bugs almost always get high priority status. In fact, in the one class, my professor urged that we stop everything else and focus on fixing bugs, once spotted.
      But, SCRUMs completely upside-down approach to the handling of bugs. Bugs are shelved away in a technical debt database and considered of very low priority to the functioning of the system. In some cases, the code does not even compile, but somehow the same system has already been live for many months, sometimes year. I could never understand the how of it, no matter how much I tried?

      • ” I am a programmer, and I spent years training to become one…. I don’t care to learn BA skills, and not even QA skills… but why am I being forced to learn these skills? What happened to the idea of specialization?”

        It’s quotes like this that makes me crazy. Specialization is for insects and machines.

        A large part of agile is a reaction to the following culture change:

        It used to be that if a bug got out to the world the CEO would loudly ask,
        “How could you developers have missed such an obvious bug?”
        Now, if a bug gets out to the world, the CEO has been trained to loudly ask,
        “How could you testers have missed such an obvious bug?”

        We have the train wreck that is agile (partially) because of:
        developers who don’t care what problems the customer is trying to solve (BA Skills)
        developers who are ok with writing fragile code (QA Skills)
        developers who can’t normalize data (DBA Skills)
        developers who can’t deploy their code. (Configuration Management Skills)

        It used to be (prior to about 1995) that people without the above skills were not considered to be “developers.” It was taken for granted that coding skills are only about 1/7th of what is required for someone to be considered “a developer”

        Agile is a train wreck, but it’s here because of developers who honestly believe that *everything* other than coding is not their problem.

        • Your comment is so full of lies it makes me really really angry.
          First of all specialisation is not for insects. If you get paid to do a job and the boss asks you to go way beyond your duties (as in the case of Agile Scrum) then it is an abuse of power and breakage of contract.

          you claim that before a bug was considered solely the fault of the programmer. That is bs and you know it. I will explain how the process worked before Agile Scrum and how it works in Agile Scrum from the POV of a developer.

          Before Agile we had a strong testing team. You had to test that you feature/bug fix does what is supposed to and that it does not break anything major in an obvious way (it was considered obvious if the reproductibility rate was somewhere above 33% and could be reproduced easy). Anything other than that was the job of the test team.
          Now with Agile Scrum you need to do a lot of the testing team’s job (FV testing) and also have to test other people’s code, because now you apparently are a tester too although you are paid the same.
          Another difference would be that outside of emergency cases or cases where it involved a developer that was fairly new to the project you would NOT TEST OR FIX SOMEBODY ELSE’S BUGS. Everyone was responsible for their own bugs. This meant that if you wrote good code you had some free time that otherwise would be spent fixing bugs. On the other hand in Agile Scrum it does not matter who inserts the bug it can be assigned to anyone because Agile Scrum works under the premise that you are always in an emergency situation.

          QA skills means (in Agile Scrum) basically filling out all the QA forms and basically doing almost all of the testing team job because now there shouldn’t be any bugs at all and so we do not need a strong testing team we can replace them with automated scripts.

          About the BA skills unless you were a freelancer this was the job of the Manager . It was the job of the Manager to translate what the customer wanted into specifications (a thing that does not really exist in Agile Scrum) not the developers. Especially since most customers were and are almost retarded. I asked once a customer for details 3 times . He gave me the same answer that did not answer the question and then complained that the path taken was not what he wanted. Managers are paid a lot because they are supposed to deal with idiots in a diplomatic way and drag the words from their mouths gently. Now this task has been passed to developers although the money still pays the same for both categories even though Managers do not do shit anymore.

          Your definitions of QA skills , BA skills and so on are simply wrong.

          Also beyond this the main problem with Agile Scrum is that you are always in an emergency situation, in a death march. This means you are under constant stress and you will soon burn out.

          Agile Scrum was seen as a silver bullet. It worked with web design projects and projects in which most of the code was interface and a “genius” thought that we should implement it for everything. Now snake oils convince lot of companies to adopt this methodology. I already refused a number of jobs because they implemented Agile Scrum and the number of developers that are doing the same is increasing. So either this cancer known as Scrum will die or it will have only poor prepared developers to use in it.

          • cyp, you continue to assume that your experiences are “the truth” and that other people’s experiences must “be lies” if they contradict your experiences.

            • Hi,
              So your answer to my arguments is that my experience is unimportant. I never said my experience is the only one that matters, you said this about yours by saying that certain things happened in every project and this is why Agile appeared. I gave you counter arguments. Also despite not having an extremely vast experience I have a talent of spotting bs when I see it and that is why I can tell which is the truth. Your comments are inconsistent with each other, you use false analogies (a software project is not a boat cruise is building a house. And you must agree that past certain mile stones making certain changes is extremely costly if not impossible) and a lot of your logical inferences are wrong. Also you have insulted all developpers out there that consider that they are paid to write code not to do testing (and no I do not mean do not test your code. it is one thing testing your code and another testing it for every possible situation or testing someone else’s code) not to do the job of a manager (you manage your task, your time, not the client) , not to do support except when truly necessary (80% of the requests are from people unwilling to read comments, documentation and unwilling to update their version even though they are like a year behind) and so on. Next you are going to tell me that if my boss asks me to maw his lawn I should be ok with that. Is about limits.

              • No, my answer to your comment
                (which stopped reading after “Your comment is so full of lies it makes me really really angry.”)
                is, “stop calling my experience lies, you weren’t there, I was”

              • cyp – you and I are obviously both passionate about this. If you are in the bay area, I would love to get together over beer or coffee and get to know the you behind the text on the screen. malcolm dot b dot anderson at gmail (watch out for the second L in maLcoLm)

                • Unfortunately this will not be possible too soon as I am over the Atlantic in Romania. A skype might be possible but at least march and april I will be busy so maybe in mai…

          • Ok, I’ve read your reply and it comes down to two things.

            1) we disagree on attitudes to customers and 2) we had different experience.

            2) The experiences
            cyp, I don’t know how long you’ve been programming professionally. I’ve been doing it since 1991 and the first time I had a tester on the team it was 1996.
            I have checked with other old programmers (sample of about 20) and with the exception of some very large institutions (banks, and nasa so far) most of them had the same experience, no testers or qa on their software teams until the mid 90’s.

            If you had a different experience, I would love to have it so I can add it to my anecdotal evidence file. I’d be interested in the year you started working in programming and the company.

            This is not a challenge, I’m earnestly interested in your experiences with testers over the years.

            1) The attitudes
            My mindset is, “The customer is paying the bills, and they have problems articulating what they want.”
            Your’s seems to be, “The customer is an idiot”
            Your attitude towards customers is going to yield different results than mine. (Note: I feel your pain, I’ve dealt with some customers who thought “it’s not working right” was a perfectly good bug report)

            ***********************
            At the end of the day, I’m starting to agree with you that Scrum is a bad thing, just for different reasons.

            You seem to be of the belief that it is intrinsically bad (my flawed interpretation of your words)

            I believe that it is like a cirque du soleil performance, not for the faint of hard, intrinsically dangerous, requiring self discipline and professionalism from all involved.

            • So I have been programming since 2008 and I guess the time frame I am referring is post 2001. So you may be right about what existed before the 2000 but Agile become main stream around 2014 (at least in my country) so not sure why bring up a period so far back.
              My main experience was at my first job were I stayed most (5 1/2 years+) and loved most. We had a methodology that although i do not really know how is named I would call it adaptive-Waterfall. What does this mean. Although the mainframe was similar to Waterfall, changes in the specs could be made anytime before the final testing period (before the major release we had a 1-2 months period dedicated just for testing and fixing bugs). The main difference to Agile was that the customer was informed about the additional costs of the change (especially in the time department) and in case of big changes late in development he was asked to chose either to delay the major release for sufficient time to integrate the change or drop it. We did not deliver partial features, only complet ones and each feature/bug fix was tested immediately after the commit. Also another big difference from Agile was that we considered fixing major bugs more important that committing a new feature. Bugs that influenced functionality in any noticeable way always took priority before new features. this way the piling up of features on top of bugs which often happens in Scrum development did not happen except extremely rare cases and involving some extremely strange and hard to reproduce corner cases. Usually there would be once every 3-4 months 1 minor unofficial release (just for demo purposes) and 1 major release each year. We had around 12 developers 12 testers “on site” and the firm had a number of testers in France that i think they some extra testing after we delivered a minor release. The firm’s name is Guillemot if you want to check it out and things worked pretty good until marketing decided to drop the projects that were bringing constant profit (although not very high) and jump in the smartphone/tablet apps wagon which proved disastrous.
              About customers I do not use the term idiot with ease. When you ask someone a multiple choice question and they answer “yes”, or when you ask details on a spec with a multiple choice options question 3 times and each time they reply with the sentence you asked details on or when you ask a question and you are given a half a page answer that in no way answers the simple question you asked or when you are asked to drop better functionality for worse one (we had functionality for all compression formats at the time except wmv which was dropped in favor of wmv because they saw this at another company) how can you call that customer?
              If i ask you “It is raining outside or is it sunny?” would “yes” “It’s five o’clock!” or “the metaphisics of weather…. ” be considered appropiate answers?
              And to relate also to some web design side projects I did in some cases it is not that client has problem articulating what he wants, he does know what he wants and he waits for you to write 10 different versions of the software and then for him to choose what he likes best. But things do not work like this because is not ok that i do 10 times the work for the same pay because the customer is undecided.

              • Your claims are – again – so wrong, I don’t even know where to start. And I don’t have time to answer all of them. Just a few ones that are really too painful to leave them uncommented:

                > “The main difference to Agile was that the customer was informed about the additional costs of the change”

                Please show me a document which states that Agile prevents you from telling the customer how expensive his changes are? The opposite is the case: The customer can see exactly, which user story had cost how much time (and thus money).

                And if you’re talking about saying things in *advance*: If we – the team – discuss a new story with the customer (the product owner always is an employee of the customer-company, and these story-discussions thus happen anyway to clarify questions), it’s totally normal to emphasize that it’s too expensive and not worth it, if this is our opinion. This is considered good consulting.

                Just because agile says you shouldn’t usually estimate costs in advance doesn’t mean that changes do not cause additional expenses. The good thing about agile is, that this is self-understood! The customer doesn’t need to get a cost estimation for every single thing. He’s paying by the hour, hence it’s his problem, if he burns heaps of time (and thus his own money) for nonsense. And I’m happy to deliver whatever nonsense he orders 😉

                As already stated, because of the *transparency* that agile is offering – and that you criticized, btw. – the customer receives enough information about how much his change has cost – when it’s done.

                And if the customer asks you to estimate in advance, because you told him, it’s not worth it in your opinion, then you have the new story “Estimate X” in your backlog. So where’s your problem?! Then the customer btw. sees too, how much effort this estimation was (that he paid, too, of course).

                Especially in the beginning of a project, our backlog is usually full of so-called spikes to evaluate technologies and possible approaches. A cost estimation desired by the customer is no different. The story’s result is then no productive code, but a kind of report (with test/evaluation code maybe required to get to the conclusions of the report, but this code definitely isn’t productively used).

                > “Also another big difference from Agile was that we considered fixing major bugs more important that committing a new feature.”

                Please show me a document stating that Agile asks you to keep bugs and instead focus on new features!

                Can’t show me one? Well, that’s because you’re talking nonsense – again. Btw. the biggest nonsense about Scrum/Agile/agile I’ve ever read, because agile puts heavy emphasis on the importance of tests, bugfixes and code quality.

                In *NO* Scrum project I ever took part, did we tolerate bugs! The opposite was the case: All agile projects I attended (most of them using Scrum) were heavily tested – and this mostly with automated tests being run after *every* check-in. Please note, that there were *additional* manual tests by QA. But the good automatic test coverage was the more important thing, because we could *safely* refactor and thus even remove big, fundamental bugs without the fear of breaking things. Manual testing (alone) just isn’t fast enough for such risky huge refactorings.

                Want to know whether your refactoring was OK? Simply run the most relevant tests locally, before check-in. The full-blown test-suite (taking usually a few hours given the huge sizes of all these projects I’m talking about) is run after check-in on the build server. Btw. asynchronously in a separate Hudson/Jenkins job, so that the build could already be used by others (modular approach – not everyone had all projects checked out – there’s no need, if you don’t intend major refactorings).

                Btw. the only thing I agree on is that customers often really don’t know how to articulate things. But still, they’re my customers paying my bills. So it is my duty to serve them well and after all, they’re paying the time it takes to explain them the simplest things for the 10th time and ask them the most simple questions for the 20st time. So what’s the problem? Work time being paid… Of course, I prefer to code rather than discuss nonsense with a customer, but honestly, as long as I get paid, I don’t see a reason to complain.

                I started professional software development in 1996. The first agile project was a Scrum project I did in 2007. And afterwards, the Scrum projects got – fortunately – more and more common.

                • First of all we are already talking about a story versus the whole product. Also there are few managers that will say that something is too cost consuming. Most will try to force it on the devs. Also the main Scrum practice if something takes too much time just split it into pieces because that does not affect coherence at all (sarcasm here!).
                  Yeah he pays by the hour, but while it may be good for the company is not good neither for the developers of the customer.
                  There is no documentation that says features are more important but here is the catch. If you fix a bug it is considered you worked for a day even if it took you 2 weeks to fix, but if you write a feature is considered you worked as long as you say you worked. Also I have seen any Agile system preventing the submitting of new features on top of bugs.
                  Automatic testing has no value as testing to me. If your projects can be tested successfully by automated testing alone then is extremely simplistic or interface orientated. I have yet to see a complex piece of software usable by humans that can be fully tested by automated scripts. that is why bugs pile up because some people believe stuff can be tested completely by automated tests which is wrong.
                  Customers do not really pay my bills they pay the company bills one of which being me. I do not get paid more to teach the customer to express himself at a level higher than preschool . The company gets paid for that. That is the problem.
                  So to conclude Agile does not put accent on tests because it believes automated testing is sufficient , It does not provide sprints just for bug fixing, and as sure do not motivate devs for fixing bugs. You see bug fixing is the hardest thing to do as a programmer especially if they are introduced by someone else.
                  You are a very aggressive defender of this methodology even though your arguments can be resumed to “It isn’t written anywhere in the metodology what you said” ignoring that things do have consequences and there is a difference between theory and practice. I would interested to know what kind of projects you worked on that worked so well thanks to Agile and without human testing.

                  • Wow, discussing with you really seems to be pointless. Still I continue for the sake of others who might read this.

                    I stated *very* *clearly* that we had and have human testing (QA *people*) with *all* projects *IN ADDITION* to the automated testing. Yet, you write:

                    > “projects you worked on that worked so well thanks to Agile and without human testing”

                    and

                    > “can be tested completely by automated tests”

                    Given your response, I have to assume that you simply do not *want* to listen and understand. Instead you try *very* *hard* to read what you believe in – even though I definitely did *not* say this!

                    Furthermore you write:

                    > “Automatic testing has no value as testing to me.”

                    Sorry, but such a statement disqualifies you in many ways. I would definitely never hire you in any of my teams.

                    Automatic testing is a very essential part to guarantee high quality. COMBINED with human testing. But as said: Human testing is slow and expensive. FIRST, the software must be thoroughly tested with automated tests (unit and integration tests) and THEN the manual QA should give it a try.

                    > “I would interested to know what kind of projects you worked on”

                    Well, I’m certainly not giving you a full list of my projects of the last 20+ years (half of which were done agile), because it’s far too much and pointless. Here’s a very short anonymized excerpt of projects in which we used Scrum:

                    1) Program developed in-house and used by a huge energy provider company. This software is based on OSGi both in client (Eclipse-RCP-based) and server (pure Equinox with OSGi-based Tomcat). The communication is REST-based. The software is very modular, composed of more than 500 individual projects (compiled into OSGi-bundles). In my opinion, this is a pretty large project and impossible to refactor without a good automated test coverage.

                    2) Accounting software developed for and used by one of the major players in this market. This software was pretty small (in my overall experience) with only roughly 50 modules (JEE EAR running in Glassfish, unfortunately not OSGi, but still modular with a very clean architecture). The client was written by a different company – hence I cannot say anything about it. We provided the server part with REST interfaces and had more than 80% automated test coverage over all lines of code and 100 % test coverage over public methods (the last time I saw a report, before I left this project).

                    3) After-sales CRM for a market-leading company in heavy-machine-building. Backend is JEE, front-end is Eclipse-RCP-based. Modular architecture. Size about 200 modules.

                    In all three projects (and many more) we were successful in writing high-quality code and maintaining the quality over a long period of time. Some of the projects I worked on had a many-year-old (sometimes > 10 years) code-base that had seen uncountable major refactorings and all of them improved the code quality significantly (I took part in some of these refactorings).

                    In all sprints, there was always time allocated – as needed – for bug fixing. Big-time bug fixing (i.e. major refactorings) where pushed into the back-log as so-called technical story (because it was not written by the user, but by the team, for technical reasons). In many projects, we had a certain %age of time allocated for such technical stories. In some projects, we had to convince the product owner of each such story – still we got them in.

                    Again, I’d like to emphasize the testing: In all projects we always aim for 100% AUTOMATED test-coverage IN ADDITION to manual testing. If you have a clean and good architecture, you can test far more than 1/2, depending on the technologies and approaches you use, even more than 3/4 of your code (all logic, i.e. non-UI-code).

                    It is even possible to automate UI-testing, however I usually do not recommend it, because it’s a lot of work and IMHO not necessary, if you test (nearly) all underlying logic and have manual QA by people for the little bit of UI stuff that’s left.

                    Note, though, that the tricky parts which must not break when doing large refactorings are in the underlying logic. You don’t want things to be miscalculated (in accounting for example) and you do not want to loose data (which is managed by the persistence layer inside the server). All of these critical parts can and should be tested automatically.

                    • well, since you butted in in someone else’s discussion I do not see why you would be so offended . I agree; it does seem pointless to talk to you as you seem to be a preacher for this methodology that ignores what is being said or twists them to make their case more appealing. You said that big bugs are put in the pile for later (exactly what I said) but you still claim there is allocated enough time for bug fixing. You contradict yourself in just one comment. If a bug is major delaying it means you have code written on top of it that might make solving it later one a Sisifian work. Anyway I will stop arguing with you as it will probably lead nowhere.

              • Hey cyp – thanks for the reply, the history is important because nothing happens in a vacuum.

                For example World War II is generally considered to be a direct result of World War I. The history of software development is less than 100 years old (unless you count Babbage in 1822 or Jacquard Loom operators in 1801).

                Royce’s waterfall paper was (I believe) the start of business people thinking that they could do a better job of telling programmers how to do their job that the programmers could. Royce actually was using “the waterfall method” as a straw-man-obvious-train-wreck to be used as a comparison to the methodology that he was intending to promote in his paper.

                Part of this issue was that developers (as a class) did not (and still do not) have an interest in the mechanics of the flow of money from a customers, customer, through their company before it ends up in their pockets.

                Add in the conflict between 1) Theory X and Theory Y management with 2) the conflict between Specialists and Generalists, and (I’m starting to believe) 3) the conflict between … and I don’t know how to phrase this without irritating both sides, people who care about the cash flow, and people who don’t want to be bothered by where their paycheck comes from, you have the ingredients for a perfect storm.

                Other possible ingredients are:
                the history historic forces behind the dev/ops movement
                the lean startup movement
                Steve Dennings focus on the evil of “share holder profits” over customer satisfaction

                and it just gets more complicated.

        • Malcolm, I understand your sentiment here:
          > “I don’t care to learn BA skills, and not even QA skills… but why am I being forced to learn these skills?”
          > It’s quotes like this that makes me crazy.

          However, I think you went way too far here:
          > Specialization is for insects and machines.
          Without all the T-shaped bullshit, we simply need to find healthy balance between specialization and generalization. And that’s how in healthy places it always was. It’s nothing new.

          > We have the train wreck that is agile (partially) because of:
          > developers who don’t care what problems the customer is trying to solve (BA Skills)
          > developers who are ok with writing fragile code (QA Skills)
          > developers who can’t normalize data (DBA Skills)
          > developers who can’t deploy their code. (Configuration Management Skills)
          > Agile is a train wreck, but it’s here because of developers who honestly believe that *everything* other than coding is not their problem.

          And all this is taken out of context, and just a plain insult towards *all* developers, including good ones (which set is obviously disjunct to the above sets), because of putting all the blame on a subset of developers, while the way, way, way bigger problems usually lie somewhere else. It’s called management.

          (I’m not saying that developers are not responsible: they *are*, big time, for not standing up against these forces.)

          • Patrik – There was nothing here implying that *all* developers felt the way I’m describing, just that “enough” developers felt that way.

            This whole conversation is incredibly complex because it deals with changes of culture over a 20 – 40 year period.

            I started out as the entire tech team for a startup making B2C software. I had to learn *all* of the jobs.

            Then I got out into “the real world” and met a developer who literally felt like the testers were picking on him when they brought him a bug.

            I met developers who did not care who the software was being built for.

            I met developers who’s attempts at data normalizations were nightmarish and put us back a month or 3.

            I met developers who never automated their code to be self aware of what environment it was in, causing configuration nightmares for the operations teams.

            For me, “normal” is developers who care about all of these things.

            Then – orthogonal to all this (as you point out) is management.

            I have an entire rant about “snakes”, those ever present people who lurk in the shadows, and if a project fails, somehow are on the side lines pointing out how they “had predicted this project was going to be a failure”, but if the project succeeds, somehow are able to swoop in and take credit for the entire project “as a champion”

            Add in another unspoken rant against “the cult of planning” that group of people who seem to honest believe that they should be able to set the tiller and their sails on a sailboat off the coast of California, and then go below deck for 6 weeks, until they come up, just as their ship sails into the Tokyo harbor. These same people, when their plan fails, blame the failure on “a lack of *enough* planning” and a commitment to do more and better next time.

            I have yet to see a single fortune 1000 implementation of Scrum where “Working software is the primary measure of progress.” I have heard of fortune 1000’s than have created processes that “promote sustainable development” and “sponsors, developers and users” are
            “able to maintain a constant pace indefinitely” (that’s the opposite of a death march for those readers who are *not* Patrik). Nor have I *ever* found a company where “business people and developers … work together daily throughout the project”

            Can agile be done outside of a small shop with less 40 developers? I don’t know. The people I see claiming that agile is successful in the fortune 1000 look to me like old-school project managers who are selling agile to big business *because* “agile is such an effective micromanagement framework” (no agile coach that I know of has ever uttered those words, but I’ve met more than a few self proclaimed “scrum masters” with 10+ years of experience who have said things close to that).

            I should take the time to edit this, but scrag it, rants *should* be barely coherent.

            • There are situations and situations. I had testers bring bugs formulate like: “to me it seems text x should be 2 pixels to the left” or raise a bug which was not a bug but a proposal for an improvement on the feature. It was a good proposal but saying that it is a bug it annoying.

              “I met developers who did not care who the software was being built for.”

              why should a developper care for whom the software is build for? It does not help him with anything to do his job caring and it does not prevent him to do his job good by not caring. If you are a shop that sells something does it matter who buys 100 pieces of product from you? As long it is not something like weapons or similar you do not care. Does the client get what he asks for? You get paid? It is enough.

              About data normalisations. Is doing that part of the developpers attributes? If so it means he is not good of his job. If not maybe you should stop being stingy and hire someone to do this instead of him. I did stuff like this and I know how to do it, but if it is someone else’s job and you ask me to do it you better pay me extra or I will not be putting much effort into it.Because at the end of the day is the pay that makes you go to work every day. Some say is liking your job, but there are days when you may feel not up to it and you would just stay at home and do nothing. If it were not for the pay you would do just that and take a break regardless of how much you like what you are doing.

              Also as I already said your analogy is wrong. No one says you can plan for everything. Shit happens and sometimes you must change requirements in the middle of development. That does not mean you do not have a coherent plan on what you are going to do, it does not mean you do not calculate risks and so on from the start and it sure does not mean you can change your mind on what you want every couple of frickin’ days. Also you do realize that you can technically leave a plain on auto-pilot for the whole duration of the journey right? I mentioned the plain just to show why your analogy does not work.

              “for those readers who are *not* Patrik”- I am not Patrick and I agree with him and there many others like me.

              • Hi cyp – Yes TDD (tester driven development) is a horrible horrible thing.

                A developer should care for whom they’re building software for because of the old saying that, “A customer never knows what they really want, until you show them what they asked for.”
                Also, by knowing why their customer is asking for a particular thing, a developer team has an opportunity to do more than just build the current solution, they can build more and better value into the product.

                The “for those that aren’t Patrik” comment was a way to specifically call out that death marches are a symptom of “not-agile.”
                Just because I’ve met managers who have said, “I like to have sprints end on a Monday, we get much better weekend engagement that way” doesn’t make what they’re doing “agile”.

                As for the boat analogy there *are* people believe you can plan for everything. I’ve worked with and for them.

                • i never heard of that expression but I suppose it come from marketing department were bad ideas come to life.Unless you are in a position to convince the customer to chose something different than he first decided (which does not happen even in Agile) I am not sure how this could possibly work.
                  “Also, by knowing why their customer is asking for a particular thing, a developer team has an opportunity to do more than just build the current solution, they can build more and better value into the product.”
                  If the original specs as at least mediocrely written you usually get this from the specs. They usually mention stuff like that.
                  The definition of sprint as stated in the scrum manual defines it as a death march. Here is the definition of the word sprint as it is used in general: https://en.wikipedia.org/wiki/Sprint_(running) Problem with them being that they cannot be mantained for a long period and also you cannot have one after another.
                  “As for the boat analogy there *are* people believe you can plan for everything. I’ve worked with and for them.”
                  Yes they are but most are not that rigid. I consider that at least 70% of the specs in the final product should exist up front. In Scrum just “0-20%” of the specs are decided up front and the rest decided as it goes. Needles to say this usually makes for a fragile software product.

                  • 3 things, sprints, customers, the cult of planning

                    1) Sprints
                    Yes, the choice of the word sprint is problematic because sprints are exhausting, heroic and non-sustainable, all things that directly opposes the principles behind the manifest.

                    The intent was that during a sprint the developers are allowed to focus. They don’t go to ANY meetings that they don’t setup for themselves. (Yeah, try that in the fortune 1000.)

                    2) Customers
                    The expression “The customer never knows what they want until you show them what they asked for” comes from developers working with customers. My personal belief is that it is an important concept for developers to understand.
                    The reason that it’s important is that the money for a developer’s paycheck comes from customers. If a company gets a reputation for not fulfilling the needs of the customer, then other customers will stop buying the company’s services, and then the developers will need to look for work again. Helping the customer figure out what they need (vs what they want), and then delivering that,*is* important. Company’s don’t print money, they get it from customers. (I’ve been downsized at least three times because the company I was working for was building a product that the customer stopped paying for, I’m now VERY interested in knowing how the product I’m building is bringing money into the company.)

                    3) The cult of planning.
                    We would need to dig deeper into this one because I think we are in agreement in spirit, if not words. The worst examples of people (that I have met) would never be happy with only having 70% of the spec done correctly up front, they would take 85% percent, but if you pushed them, they would tell you that *they* believe that the specs *should and could* be 98% correct up front, “If only we did enough planning.” Again, my experiences are going to be different than other people’s.

                    • 1. sprints are limited to 1-4 weeks so although I agree the name sprint was unwillingly chosen it is a good name for what it is. and yes this is written in the scrum manual. If it were variable like in iterative programming where they can reach up to 3 months I would not call them death marches but they are. Also note the use of term velocity. If you are running a marathon (what development should be) you do not care about maximum speed so you do not care about velocity. In a sprint (death march) you care about velocity because you run at top speed.

                      2. I agree, but this is the job of managers. That is why they get paid at least 5 times more money than programmers (you know people that actually do the work). Agile Scrum tries to pass this to the programmer while keeping the same salaries and the same leverage. A manager can still fire you if you do not do what he/she tells you to no matter how stupid. So a manager gets paid for doing almost nothing while the programmer now does also his job. So my motto is “you want me to do work well beyond my attributes show me the money!”.
                      Note: about downsizing I cannot speak as I do not have experience. But I try to see it as an opportunity for something new and better.

                      3. the more ahead planning the better because it makes the job easier for us the programmers. Thing is I understand that in complex software you cannot plan everything up front. But is one thing planing the framework of the work ahead (as I said 70%) and then tinkering certain stuff as you go on. For instance the translations usually get defined well into the development of the software. You cannot ask them to be though in advance. So 100% can never be truly achieved. and is another thing planing 20% or less in advance (as I have seen often in Scrum) and then tinker things as development goes on.

        • >>It’s quotes like this that makes me crazy. Specialization is for insects and machines.

          >>A large part of agile is a reaction to the following culture change:

          Specialization is for insects?

          You are telling me that the practice of a hiring a worker to focus on an area of expertise, generating expert-level output, as a result, is no longer of benefit to businesses? Rather, you expect me to believe that spreading workers thin, a practice which especially in the case of Agile Scrum, results in the generation of outputs with questionable quality, is what now works best for businesses?

          >>
          We have the train wreck that is agile (partially) because of:
          developers who don’t care what problems the customer is trying to solve (BA Skills)
          developers who are ok with writing fragile code (QA Skills)
          developers who can’t normalize data (DBA Skills)
          developers who can’t deploy their code. (Configuration Management Skills)
          <<

          I hate that I have to say this, but none of what you have above makes sense of any kind.

          Why didn't you add that since Businesses hire administrative staff, these businesses could do away with developers all together?
          And instead, have their administrative workers handle all the development, DBA, BA and so on work… After all, admins are trained to work on computers these days, and they can as well learn to program and DBA skills as well for the business

          Every single day, specialized tools are continually being developed for businesses in need of specialized help. And so it happens that training is necessary to use these specialized tools correctly to the advantage of the firm. Training is, of course, necessary, and rather than pulling the developers off the floor, and sending them away for 18 months to acquire DBA-related skills, training, businesses opt instead to hire DBAs and have them focus on DBA-related tasks, many of which are time-consuming.
          A wise business owner knows that having a developer divide his/her attention between producing needed software and maintaining the health of the Database is not to the firm's advantage.

          • @tokorie – my apology, you said exactly the right thing to trigger 30 years of frustration. There is a time for some level of specialization, but I come from a culture (small entrepreneurial shops) where “specialists” were considered a luxury.

            There are 2 phrases that start out, “Jack of all trades …”
            one ends in “master of none”
            and the other ends in “master of some”

            In the entrepreneurial mindset (because “entrepreneurial” sounds better than “understaffed”) there is a focus on learning the 20% of a specialty that covers 80% the activities of any given specialty.

            I don’t need to send someone away for 18 months to acquire DBA related skills, I can have that person work with the DBA for 3 weeks and have that person come back measurably more useful. They can’t replace that DBA, but they can widen the bottle neck.

            I can send someone to the devops team and have them handle machine issues for 3 week and have that person come back and be an effective *local* devops rep. They can’t replace that specialist, but they can widen the bottle neck.

            In both cases we’ll still need a DBA and a lead guy in DevOps.

            (And we’ll totally ignore the cases of specialists who refuse to train other people because
            1 – “It’s not my job” [lazy] or
            2 – “If I train others, the company will fire me, so I’m not teaching anyone anything” [fearful]
            )

            There are examples of excesses in all things.
            Lets look at testers.

            I have met some very good testers.

            I have also met some passive aggressive testers who engaged in what I call “tester driven development” where they would submit a brand new requirement labeled as a bug.

            I have met testers who held up the release of a product by a week for a typo.
            Once you fix this typo, we will need to have a week to do regression testing in case fixing this typo broke something else.” (I *wish* I was exaggerating)

            These two types of behavior are *not* typical in the majority of the testers that I have met personally, but I *have* met multiple people exhibiting these behaviors.

            So, to bring it full circle,
            I love having a specialist available, but I also expect my other team members to learn as much from that specialist as possible so when that specialist is out sick, or takes a new job, or wins the lottery (taking a 6 month sail around the world) that my team and company are not completely screwed without them.

            At the same time, I am not alone in being suspicious of “experts” and more suspicious of anyone who utters any phrase that could be interpreted as “that thing over there is not my job.”

            One of the challenges in a conversation like this is that we don’t have specific instances to say, “look, see that behavior, that’s what i’m taking about”
            “look, see this situation, this is what happens when you hire generalists over specialists”
            “look, see this situation, this is what happens when you hire specialists over generalists”
            “look, see this situation, this is what happens when you hire NO specialists”
            “look, see this situation, this is what happens when you hire NO generalists”

            Another challenge of a conversation like this is that each person holds different assumptions.
            I know a former captain in the navy (one step down from an admiral) who could not believe that any company could ever be run by waterfall, “because it was obviously so stupid, it could never work.”

            This is what frustrates me with agile. It’s a great and wonderful set of philosophies and practices that works amazing – where it works.
            Except when its implemented as a micro management torture framework, then it’s a train-wreck.

            • When I posted of having no desire to learn to do the job of a BA, and QA, I meant it. And there is absolutely nothing wrong with “Cutting one’s Skillsets-Coat according to one’s size.”. Taking on more than one can chew is the very reason the “Jack-of-all-trades” is also known as the “master-of-none.” I have at no time ever aspired towards becoming a jack-of-all-trade, and I refuse to give into trying to Agile/Scrum mania trying to make me one of those. lol

              At no point in my career have I ever relied on “freebies” from “experts” to get me anywhere I really needed to be. I went to school…. put in thousands of hours of reading and researching time into my career – this in addition to the time spent working as a programmer, and it all paid off well, fortunately.
              So, I have no oughts against those “experts” – I don’t know what reasons they may have for not wanting to “share.” and I don’t care to know.

              When hired as a Programmer; I’d like my responsibilities to remain that of a programmer. Should I decide a change in career was in my best interest down the line- I want to make that decision myself. I don’t want a scrum-Lord or manager mandating I wear hats I did not sign up for.

              I have come to realize that this Agile/Scrum nonsense does not approve in some way of my goals. Rather, it pokes fun at our intelligence by convincing a couple of clowns right before each “grooming” party, that asking a few questions here and there over a period of a couple of hours earns them a “Subject matter experts” badge and would look great on their resume.

              Anyone ever notice many of the “learn {this/that} IT Skill in 12{or so} days” classes that keep popping up here and there over the internet? Yes, those are possibly the same SME’s helping spread their honors all out there.

              • @tokorie – Thanks, you’ve expanded my understanding of this contentious subject. I had not had the Specialist vs Generalist dichotomy as part of this saga. As with all things, balance is needed, you can’t have all specialists, and you can’t have all generalists.

                I do reject the notion that a generalist is a “master of none.”

                Here’s Ferriss’s take on generalists, I don’t expect you to agree with it, I submit it because I believe it draws out a conflict that is invisible to most, and that by making it visible agreement can be reached.
                http://fourhourworkweek.com/2007/09/14/the-top-5-reasons-to-be-a-jack-of-all-trades/

                • I don’t know what planet you live on but it is possible and a good idea to have a group of ALL Specialists, especially on critical assignments. I don’t think you would be too pleased with the president if tomorrow morning he steps up to the podium that he has that he has convened a special group, to tackle Security in the country finally. Only to follow that up with something like “the group consists of experts in the area of concern, and the other half are jack-of-all-trades.”

                  I don’t know about you, but I would believe it to be a 2016 April-fool joke of some kind.
                  Let’s let the experts live as they choose. Agile/Scrum does not care much for them; it is too busy working to fit everyone into the same old.

                  • Tokorie, thanks for the insult about my intelligence, I’m going to assume that you are just frustrated because I don’t see things the way you do.

                    I suspect that part of the issue is that we are using the same words to describe different things.

                    To use your words, try this on.

                    I don’t think you would be too pleased with the president if tomorrow morning he steps up to the podium that he has that he has convened a special group, to tackle Security in the country finally. Only to follow that up with something like “the group consists of people experienced in all aspects of security, able to bring synergies between separate disciplines, and the other half are one-trick-ponies.”

                    It sounds to me that when you hear “generalist” you hear “useless person”

                    For me, the term specialist is wrapped up in Nicholas Butler’s definition of an expert, “An expert is one who knows more and more about less and less until he knows absolutely everything about nothing.” Tim Ferriss as the best description I have found of what a generalist is http://fourhourworkweek.com/2007/09/14/the-top-5-reasons-to-be-a-jack-of-all-trades/

                    This exchange highlight part of the problem with this whole conversation. It’s not about Scrum, or Agile, all (a large percentage?) of the problems being laid at the doorsteps of agile and scrum are exactly the issues that agile and scrum were intended to fix.

                    Once we can get past, “I’m right, and your wrong” we can begin to look beyond the easy symptoms and get to the root issues that are causing those symptoms.

        • Specialization is crucial. Agile is a failure because it creates workplaces where everyone is a jack of all trades, master of none.

          This is precisely why every company I’ve seen use scrum is trash. They get nothing done, every task is delayed. The overkill meetings are the main reason for this, imo, but there’s another big elephant in the room: Agile means that everyone is trying to do everything at once and no one is truly focused. People are chopping and changing across all areas of the system, doing whatever microtasks the BAs and middle managers tell them, instead of investing in longer-term benefit tasks such as refactoring, polishing up middleware, preparing the code for a major new feature, etc. This non-specialized micro-task workflow of Agile is terrible for an engineer’s professional development, and in turn terrible for the company: under Agile, engineers never do the specialized, consistent and focused work that would make them exponentially faster in the long-term.

          Scrum’s insistence on “T-Shaped Developers” makes everyone so unfocused, you eventually end up with teams of 6 marginally-competents trying to “cooperate” on tasks that are meant to be done by 1 competent, system-invested senior dev.

          Don’t take my word for it, but I’ve found that too many employees is actually worse in software development than too few. Too many devs working on one codebase because we lack specialists doesn’t make the code better, it just makes the code awkwardly rigid and slow to develop. Too many people working on one codebase leads to obsessively nitpicking every line in code review to maintain standards, and being afraid to take on bigger tasks in case they break the agreed-upon code convention — literally, 3 minute padding changes have taken me 40 minutes in Agile because the code reviewers wanted me to add a blank line before they approved it, and then with each new blank line I added, the 20-minute tests needed to be rebooted and restarted. This sort of slowness is the direct result of too many people being expected to work coherently on a small product. More people = more bureaucracy, and less getting anything done. Code review, code convention and code quality is important, as is teamwork (especially in middleware), but if you want changes to be made fast, your best bet is to give good engineers almost full control and ownership over large systems, and then watch them become gods. When you have 2 trusted senior engineers working on a mini-app instead of 10 worker bees, you may have to pay them more, but 1 minute tasks take 1 minute instead of 1 day. That’s what specialist means.

          What these scrum-pushing execs don’t understand is that if they hired specialists, and then let them be specialists, instead of insisting that everyone be Agile to their clueless whims… they could more than halve the number of employees in their IT department, reduce status update meeting time by 80+%, and double or even triple productivity.

          There are millions of software developers with BA skills, and most BAs don’t even have BA skills. They literally just sit in meetings and kiss ass, recording “user stories” mindlessly and calling it a day, instead of actually negotiating for the good of the product. The only reason this terrible system exists is because the usual suspect business shills wanted a piece of the dotcom pie, without putting in any of the work, and now they’re threatening to destroy the whole industry.

      • “And then there is the blasted SCRUM Checklist”

        There is no such checklist in scrum. The checklist you provide is very much against the principles of Scrum. This sounds like something unique to your company. You can’t blame the methodology when someone uses something else but calls it “Scrum”.

        “And I also cringe whenever I am reprimanded for just asking a question or two of, say a friend, in another team, whose skills I trust.”

        Again, that’s not part of Scrum. It sounds like you simply had a very dysfunctional team with a bad manager. None of that is part of Scrum. If anything, Scrum encourages asking questions. In scrum, a team is empowered to do everything they need to do in order to get the product built properly.

        “SCRUMs completely upside-down approach to the handling of bugs. Bugs are shelved away in a technical debt database”

        Once again, Scrum says nothing about that. And again, this seems to be a local practice and doesn’t represent Scrum. Scrum doesn’t explicitly mention bug-free software, but everything about scrum is set up to help you produce just that. You shouldn’t be calling any line of code done until it has been properly tested. If your organization is doing otherwise, that’s a function of your organization and not a reflection of Scrum.

    • …said old bitter programmer who is scared of being open about development. He wants to get a huge project description and then being left alone for 2 years of coding. Am i wrong? 🙂

  178. PS: The Lie this model provides to the Organizations is some how if you adapt this system your development time will reduce from years to 3 month hahahahahahahahahaha

    Offshore idiots , develop what every crap imaginable and then move their little sticky up to complete , because there is no QA on that nor documentation provided

    I saw an organization blow up $$$ like nothing by adapting this useless system

    And the Business lady , had no clue what she was going after (Product Owner) , there is a reason why folks go get a Software Engineering degree

    Product owner can be some Genius who took a degree in arts

    Scientist went to Moon and Mars not due to folks with Degrees in Arts being PRODUCT owners or what is that title , Scrum master

  179. I would really like to see that , a Problem happens on NASA space mission and then they go to the product lady , hey Product Owner or Scrum Master can you , like figure out why the computers are displaying a finger sign

    In the end the Software Engineers will be one saving the day

    Unknowable Product Owners and Scrum Master are my ENEMIES

  180. One point I think you’ve not given enough emphasis to is the utter lack of coherent career paths for most participants in Agile/Scrum. In traditional patterns there was a gradation from less technical to more technical and then towards business oriented concerns (QA -> Technician -> Junior Engineer -> Engineer -> Lead or Specialist/Architect -> Dev. Manager -> Middle Management -> Executives). As a person matured in their current position they naturally became engaged in higher activities and could migrate towards them (if they wished and had the requisite ability.)

    In modern SDLC methods the barriers between functions seem much higher and a few traditional positions are deprecated.

    The various gradations of engineer disappear because everyone is supposed to be omni-competent. Having Specialists on the team is un-good, because implementing a story is not supposed to require special knowledge or experience. So being a specialist, or writing code that requires one, is ultimately a Bad Thing.

    Architecture is a forward looking activity and has become subject to unthinking YAGNI. In the old system the marketing manager would have represented the interests of customers and the architect would have implemented it into the product. In the new, the Product Owner (maybe the former marketing manager) writes user stories and makes directional decisions that would have previously been made with the counsel and assent of the (now deprecated) Architect.

    Team Lead disappears because there’s no recognition of the need for the human elements of what the lead does–watching how the team is performing, anticipating roadblocks, working with management to keep the team working without unnecessary frustration. Inspiring and coaching the team as needed. All gone.

    And what’s left for the Dev Manager to do? The group is supposed to self manage via the scrum master (who has neither a managers authority nor generally an engineer’s experience or training.) The dev manager doesn’t assign work or plan schedules or choose directions. What can he honestly influence so he can be held accountable for it?

    Someone may respond “Well you’ve only experienced Bad Agile.” That may be, but these things were never issues in the previous 30 years of my career. In the past 10 it’s a problem at every employer.

    • Nailed it man! Everyone I am interviewing with these days is doing SCRUM. I want to codify the work as lead dev and architect I have been doing over many years, but its very hard under this uber agile/scrum environment. There is not much need for a senior dev in this environment. A lot of us senior people, including myself, are looking at other career alternatives.

  181. Few words about agile principles …

    I’m working in SW industry for some 20 years. Worked as developer, tester, project manager, … I did not recognize that we worked for other reason than to satisfy customer? Before agile came in, sometime we used using pure waterfall process, sometimes using iterative process (and we still do use waterfall/iterative methodology), depending of the customer needs and wishes, but mail goal always was to satisfy the customer.

    Change requests also existing for a long time, and it is always better to incorporate changes sooner than later.

    Deliver working software often, I agree completely. Quite often I worked with a customers that wanted one release so they can make acceptance and run the implemented software – telecom companies, for example. You cannot implement some RFC partially. Well, you can, but no value for the company to deploy such software. Of course you can demonstrate that you implemented some part, if customer wants it.

    Build projects around motivated individuals. I though this is preferred way, not for every methodology, but for every business?

    Face to face conversation is nice and encouraged in every project. Usually project manager, or someone other business responsible, want to have those decision in written format, because people tends to forget or “forget” …

    And regarding simplicity and about to keeping things short and simple – I would say it is general, regardless the methodology used. Would say the similar about other stuff – micromanaging, attention to technical excellence …

    Don’t get me wrong. I love agile, I love prioritized backlog, I love product owner which is involved in the process from the begging, I love retrospectives (by the way we had project experience workshops also long time ago) … just have impression that agile is preached as a silver bullet which, only by using it, solve all the issues we had/have …

    • the difference with Agile is that in Agile the cost of change request (time,money) and especially late change requests (refactoring) is never acknowledge. It is always assumed it can be done fast, efficiently and with zero risks. Also I like you mentioned you cannot implement some RFC partially because this is what Scrum implies that there must be a way.

      • cyp – I have seen managers who believed that agile magically made changes for free.
        I’m sorry that you have had to work with them.

  182. Well this was a completely non-forward-thinking, although brutally honest and accurate, piece.

    Scrum (and Agile to some extent) is in fact a harsh mistress (especially to programmers) but when used as a set of strategies, where individual pieces of the strategy are implemented only AS NEEDED, well then those pieces usually have (though not always) tremendous value.

    Those who hate it the most are programmers because it can be so harsh to quality of life due largely to scrum masters (and more accurately shareholders) can be so unbending regarding Scrum or even agile principles. However you won’t find many managers who feel so negatively about it as programmers, simply because it *does* get results … at the expense of quality of life for the coders. And that’s why it’s popular.

    Despite all it’s flaws that’s why Agile and Scrum is so egregiously popular: customers get new features every 2 weeks, and that directly translates to more customers. So, all the claims that it kills companies is based on the exceptions more than the rules. No doubt that it creates spaghetti code. No doubt it is a bad fit for many situations. No doubt that programmer turnover is high. No doubt that it doesn’t necessarily result in quality code, nor does appropriate testing always get done when testing becomes routine as the method mandates, and so it’s the wrong method for coding mission critical stuff or the space shuttle, security protocols, or a defibrillator.

    But there is a reason it is popular, and as one who has seen firsthand the worst of waterfall vs the worst of agile, I too run with the pack.

    The problem with scrum is compounded when scrum masters think their job is more important than the work that is being done, in the which case scrum gets in the way of programmers doing what they do best, and working at a pace where they don’t want to slit their wrists. Flexibility is the key. Not everyone should have to go to every standup every time. Not every sprint needs to be 2 weeks (or some predetermined golden time period). Neither should scrum be an excuse to not do communication as needed when needed. Neither should the release schedule continue when a refactoring is in dire need. These however are management calls seldom made, or made intelligently, when scrum is being implemented … so of course it makes the programmer’s life hell.

    Being a programmer is hard. In my opinion it’s the hardest job. Even sales, which pays far more, gets easy after you’re used to it. The programmer’s job never gets easier … and scrum seems to mandate that fact. It is a flattening device where everything is all hands on deck at all times.

    I don’t know the solution, but I think throwing the baby out with the wash is a bit knee-jerky. Personally I think management needs to understand that agile, and scrum especially, is a great way to get rid of their best programmers, and that the only way to keep them around and enjoy their jobs is to be more flexible and provide more reasonable expectations. They need to stop over promising on customer stories and be satisfied with delivering sometimes instead of insisting on over delivering. That’s a hard thing to sell to senior management, but when they see the turnover, and associated costs … well, hopefully they get that, but in truth they want that 2 week release schedule more. As a compromise they’ll often then add additional resources but I find that programmers find that threatening. Programmers like having a big backlog for job security, plus they want a workload and lifestyle more common to a top-down programming methodology.

    But that’s just not going to happen. Seems everyone needs to compromise.

  183. Michael, this is just the best post, which I’ve read in the last couple of years.
    It summaries well my feelings and thoughts. Thanks a lot ! Now, I know that I am not the only one thinking about scrum and agile in the same way.

    The points mentioned in this stackoverflow thread http://programmers.stackexchange.com/questions/101409/does-scrum-turn-active-developers-into-passive-developers is a nice addtion to the discussion.

    Sure, our scrum-loving friends will tell you that not scrum is the evil but that it would not be done right.

    I’ve worked more than a decade in non-scrum mode and >5 years in scrum teams, with different scrum masters, product owners, developers and products to build.

    Not in one scrum project I was feeling really comfortable anymore. Not in one scrum project I was looking forward to climb into the car in the morning and drive to the office.
    Not in one scrum team the output reached the same level as before.

    Not in one scrum project I had the chance to proove my skills. Not only in coding but also acting as a non-official leader, forming a group of yougsters, motivate them, coach them and be proud together with them when we’ve managed to deliver a great product in time.

    But what I have now are endless meetings, dailies, reviews, retrospects but no fun anymore working as a developer.

  184. This ranks among the most boneheaded arguments I’ve ever seen. “the business-driven engineering and status meetings will never go away”. No, that’s because software development is a business driven activity, performed in service of a business, without which there is no job to be performed. Ah, if only we developers had the freedom to merely focus on development with no concern for the business we operate in or its realities. Grow up man.

    • well said. There’s a wild mix of valid criticism of aspects of Agile, and personal prejudices in here. To take an example – I’ve worked in cubes and in open-plan offices. I prefer the casual interaction, and sense of energy you get in an open-plan office, and I dislike sterile cube farms. It has nothing whatsoever to with agile, and far more to do with “culture”. The US invented cubes, they never really caught on in Europe (I’ll avoid digressing into rugged individualism versus collectivism discussions) because we don’t understand why anyone would want to work in a little upholstered box. When I want privacy, I stick on my headphones or find a quiet corner or room.
      you need to distinguish between the practices that Agile imports, and the behaviours which can arise in any goal directed organisation. this rant simply doesn’t.

      • Cubes aren’t really an improvement over open-plan.

        Programmers should be high enough in the status hierarchy that, in established companies, they have their own offices– or, if that’s not a possibility, the right to work from home or break away into side offices. That isn’t mutually exclusive with the existence of open spaces where people who want to collaborate can do so.

        Being available and visible from behind for 8 hours per day is a sign of low status and a major distraction, and that shouldn’t be how the programmer’s job is set up.

        • something between open-space and personal office would work too. As long as in the room/office there are maximum 6 person a compromise can be found. In open-space you need to share office with at least 10 people. one of my main issues is with air conditioning. Personally although I am a bit fat I like heat to the point of 30+ C being optimum as long as the sun does not hit my head directly. This can be problematic when some people turn the air conditioning at 15 C degrees or less. Also an open space can be very distracting unless you sit with your headphones on almost permanently.

  185. 53 year old engineer in the business 30 years. I recently joined an agile team.

    Thank you for saying what I feel! I am a 9 and need to jump ship Now! I have never had any issues with my performance until this awful “Agile” “scrum”.

    The managers don’t like I drove around for an hour and a half until I could get over writers block.

    Scrum is giving me gas.

  186. This is great! Although I think agile/scrum has value in that it can be useful to pre-screen and blacklist any job that has those terms in its description!

  187. If someone is an idiot and becames Agile, will be an Agile-idiot… because they are different parts of the brain.

    Agile and Scrum has its limits and defects.

    And I have also very dissaponting experiences before… and honestly… the guilty was not the method framework or idea.

    Arguments like this for example can explain that Diets don’t works, that they are frustrating… but Diets works for some collection of people… unfortunately not for the most.

    Agile/Scrum is the same.

    A bicycle don’t works, if you don’t move your legs.

    A Diet don’t works if you don’t change your habits and phylosophy.

    And Agile and Scrum don’t works.

    You work.

    And you must change your phylosophy, and your habits.

    One of the most frequent issues I see, is that people forgot from where Agile and specially Scrum comes from: Japanese culture.

    And the Japanese culture has a strong Discipline component.

    But for everyone’s life, choose what you want… if you don’t want to make a Diet, don’t do it… but be coherent and after don’t complains that you are fat.

    Free your mind. Don’t believe everything you think.

    • @Daniel
      Your post is spot on, though I would clarify that your one statement by restating it as “And the japanese culture has a strong SELF-Discipline component.”

      (I was surprised to find people in america who only knew discipline to mean “person with a stick, hitting you when you are wrong, or disobedient” so I don’t say “discipline” without specifying “self-discipline”)

      [Note for the hater’s if you come back on this with, “Are you saying that developers are undisciplined?” I will say, “Yes. On the whole, developers are not self-disciplined in the area of quality, not all of them, but many, many, MANY are.]

      At the same time, the pain that is being expressed in this post and this thread (there are at least 2 or 3 others out there) exist because in 99% of the fortune 1000 agile adoptions (100% in my experience, but I’m leaving room for outliers) it is implement not just wrong, but wrong in the same way.

      Agile is implemented as a micromanagement framework that provides one-way transparency and leaves developers feeling like they are being treated as untrustworthy children.

      I would love to find a fortune 1000 company that doesn’t have any symptoms of PAIN (Practicing Agile In Name-only) but have yet to have heard of *one*.

      Don’t get me wrong, there are pockets in *some* large companies that are doing it, but I suspect that in most cases, we would describe what they are doing as “agile” only because they’re implementing some subset of “best-practices.”

      The question one has to raise, is, if the implementation is so consistently horrible, isn’t it possible that it really is a bad thing.

      It’s too late to say:
      “We’re sorry, agile is for high functioning teams that want to do more faster, and that have the self-discipline to do the things that will allow that increased productivity. The reason we’re sorry, is that you don’t qualify to attempt agile. We recommend you do NOT try to implement it, and we take no responsibility for the suffering your ham-handed attempts to implement agile are about to bring to your developers.”

      • Malcolm, good points again, especially:
        “The question one has to raise, is, if the implementation is so consistently horrible, isn’t it possible that it really is a bad thing.”
        It’s difficult not to come to this conclusion/question over and over again. I guess that’s just basic human learning process.

        On a related note, what I call the “agile paradox” is, that people/teams/companies who *are* “agile”, don’t need any of the industry’s BS (certifications, imitations, top-down agile, agile silos, trying hard to be agile, but maybe not even the terminology etc.), while people/teams/companies who *do* need to improve, always pick “Agile/Scrum” without thinking, and constantly fail at it (admitted failure or white-paper success).

        So, to me, an earlier conclusion is often: “what’s the need?”, “how did we get here?”.

        • I came across a pretty good article recently: https://dzone.com/articles/why-engineers-despise-agile.

          Now the article is not at all anti-agile. However, the author sort of divides the world into two camps: Those who use agile “intelligently” and those who use it mechanically. (The choice of words here is mine, not the author’s!) His point is that the first group seems happy with what they’ve got, where the second is not. What’s the difference?

          Engineers use their understanding of what’s going on to decide what to do next. Their application of rules and principles is interactive, not mechanistic, and they choose an action based on the intended effect. Someone stands outside the machine and watches all the wheels whir and the funny noises it makes as it produces something useful and says wow that’s pretty!

          One of the jobs of management is to take (productive) activities and to turn them into processes where someone just turns the crank and out comes product. So they tend to define processes that turn the wheels and make the noises, but the result is not necessarily useful because the successful practice of agile requires understanding of how what you’re currently doing relates to all the other pieces to deliver value (e.g., doing things for effect not “just because.”)

          As practiced in many shops, agile is defined in terms of process. It’s easy to mistake the motor turning for progress. Engineers using agile as a tool will act for effect understanding that the motor must run at the right time in the right way to achieve the desired effect.

          The Agile Manifesto said “People over process,” but in many places it’s become process driving people I think.

          I don’t know whether I’ve explained what I suspect very well or not. But it does help me to understand how some people could be very happy with agile and others not so much…

          If this were found to be true, it might give a useful starting point for starting to discuss what is lacking in the definition that it is so easy to mistake the actions of agile for the successful practice of agile…

      • Japan also has an extremely high suicide rate attributable almost entirely (70+%) to salarymen killing themselves over the stresses of work. I would have a difficult time calling this high-functioning in any sense.

  188. In big companies, Agile/Scrum is just a management strategy for low-trust engineering. For a cost in developer efficiency (mandatory/non-voluntary meetings & scrums + strict set of reporting guidelines), management’s job of tracking teams, making estimates, and reporting on progress is greatly simplified. Essentially, you trade in bit of long-term product quality for the immense ease of tracking and reporting on team progress at literally any second of the day. Obviously, there’s no need to explain why management loves scrum.

    Now, of course, if you’re in a high-trust engineering position, you’re going to be trusted “implicitly” without the need to constantly report about your progress / where you are at (i.e., you are “above” scrum). But, no offense to common/low-trust developers, you are generally going to need salesmanship/political skill to get there. At the end of the day, programmers are not unicorns nor above the law — whether they have a simple or complex job to do, management (good or crappy) has the final authority.

    If scrum turns us into assembly-line workers, it’s because of our failures in politics and salesmanship to steer course elsewhere.

  189. Very nice read, Michael. It does show you’ve hit some very important points when nearly a year later people still keep running into your post and feel the need to add their own input.

    I myself had the misfortune of getting caught in a transition to this methodology that management insisted upon and it’s been beyond disastrous for years. Your post hit the mark really painfully:
    · complete loss of control over the code and project direction (fucking fantastic idea, putting the upper layers in charge of specifications and giving them the ownership to boot)
    · complete and utter loss of individual worth, no career progress in sight
    · the need to show short term results (read: finish that commitment at any costs) stepping over the construction and maintenance of good products
    · maintenace, bugfixing and everything natural in development cycles being treated as a nuisance that conflicts with the commitment
    · status, estimation and statistical clusterfuck overhead that the upper layers won’t even read
    · ultra-aggressive transparency (never reciprocated in the other direction, of course)
    · meetings upon meetings (rituals) built around executives constantly interrumpting your actual job (programming)
    · development manager being thrown away in favor of what is effectively a show host
    · cliques, politics and endless discussions and fits the entire team gets dragged into

  190. Pingback: Testify - Competence

  191. Pingback: What I Fought For – Michael O. Church

  192. Wow. It looks like I stumbled across the inefficient, perhaps regularly unemployed developer group. Too bad gurus like you guys don’t have the reins of the world. From my experience, there’s nothing smarter than an architect or senior developer/tech lead. You guys are geniuses. Too bad you fail a lot and your team members pay the price for your ‘grand visions’ after you’ve been escorted out of the building and left them to have to answer for your exalted genius. How may developers does it take to screw in a light bulb? n+1, because each of you feel as though you’ve got a lock on the code and the rest of us would be much better if we just stood in the glowing light of your intellect. Agile transformations fail precisely because of developer arrogance. If you guys (and gals) truly knew the best way, the current trend would be to do away with the PMO across the board. But it is precisely because none of you are as smart or clever as you tout in the bowels of this dredge of an article that waterfall and now Agile have flourished. Coders are good at (or could be good at) coding. That’s it. Left exclusively in your hands, the end user is the one that suffers for your over hyped sense of self worth.

  193. Sorry, one last point that this group of ‘minds’ (more like complainers). Agile was developed by developers. And I think those guys/gals are probably a touch more intellectual than the crowd here. Thinking for only self is fine when you’re a kid. But like I told my kids (my real kids not whiny devs like you guys) you gotta group up sometime and realize the world doesn’t revolve around you. My guess from reading many of these comments, and the article in general, is that you guys screw up a lot and are now blaming your shortcomings on a framework.

  194. This sounds like some oldskool developer was not able to work in agile environement. Not every thing you do not understand is stupid Mr. Michaelochurch. Implementing Agile in any company brings its specific problems but the basics if applied with common sense really work well. Treating developers as thinking human beings instead of dumb minions who do exactly what you tell them just pays off. I recommend you to re-evaluate your bitter approach to agile.

    • This sounds like some oldskool developer was not able to work in agile environement. Not every thing you do not understand is stupid Mr. Michaelochurch

      You might have a point, if it were just Michael that feels this way. That you resort to insult instead of dialog for response suggests that perhaps you don’t know why it doesn’t work for everyone…

      And really, that’s the point. Science is about reproducibility. If you can’t reproduce an experiment, either you’ve got the theory wrong or there’s some factor that you don’t know to control for.

      And apparently Agile is sort of like that. Word is it works very well for some people. But it does not work so well for others that appear to be doing the same process. Why does one work and the other not? No one seems to know. Frequently, the answer seems to be that there are unbelievers in our midst and we must eradicate them.

      Does anyone else find that to be an unsatisfying answer?

      Since there are demonstrably times when each kind of SDLC works well and times when each fails, perhaps the actual success factor is not related to any of them?

      If you have to resort to insult to answer an objection, then you don’t have an answer.

      • The appearance of doing agile is different to truly doing agile and both are inferior to truly being agile.

        Agile fails when it is done improperly or applied to the wrong problem.

        Assuming a correct use case, one which benefits from empirical learning through iteration, inspection and adaptation in appropriately sized teams, the number one reason agile fails is a lack of authentic 360 degree adoption of agile values – and disciplined unilateral implementation of agile practices such as transparency, close communication and collaboration.

        Authoritarian or inauthentic regimes are the number one cause of agile suffering. Autonomous, self organizing teams of adequately skilled members outperform browbeaten teams of “rock stars” when properly supported.

        • The appearance of doing agile is different to truly doing agile and both are inferior to truly being agile.

          OK, I’ll bite– What is the difference between appearing agile and truly doing agile? Because that must be the thing everyone above is missing!

          I’m not being flippant here–Management implements processes, in the generally correct belief that processes are what get things done. If what you’re saying is that you have to think correctly for agile to work, then what you’ve describing is no longer an SDLC, it’s a religion.

          • Doing ceremonies is not being agile. Low trust and fearful environments cannot be agile. One way transparency is not agile. Dreaming that an agile framework is actually a process that doesn’t require thoughtful and personalized implementation by each adopter and collaborative consideration by all participants throughout the SDLC is not agile. Command and control is not agile. Looking agile by doing ceremonies is not putting in the teamwork needed to be agile. And you betcha, it requires a mindset, see the Manifesto. That doesn’t make it a religion unless all shared belief/value systems are religions.

            • Doing ceremonies is not being agile. […]

              OK, I get that. Going through the motions is not the thing. I get that. But you’ve only told me what agile is not. Eating a cookie also is not agile. OK. So what is the key thing that takes it from “not agile” to “is agile”? If there’s a list of things, that’s OK too. If we know what’s on the list, then we can do two things: First we can determine if what we have really is agile; then we can show how all these cases that have been discussed above are not really instances of agile…

              Second, we can look at an inadequate process and tell what must be added to “get to agile”. It might not be possible to get there, but at least then we would know.

              • My answer – Agile is an organisational culture, not a methodology or process. As for the definition of organisational culture – google is your friend – there is a lot of material out there.
                You ask for a list – there is a list of things that suggests what the symptoms of a healthy organisational culture with regard to software development – that is the agile manifesto – a prioritised list suggesting such basic things that comprehensive documentation may be important, but should not be considered as important as working software. As for a test – it’s not comprehensive, but as a starter, I’d suggest considering rephrasing the agile manifesto as a series of questions – start each of the four points with “Do we…” – if the answer is no, you may not be agile.

                • And there I go forgetting to add “value” to the question – a term almost as frequent as “over” in the manifesto… Which gives us:

                  Do you value individuals and interactions over processes and tools?
                  Do you value working software over comprehensive documentation?
                  Do you value customer collaboration over contract negotiation?
                  Do you value responding to change over following a plan?

                  • I couldn’t have said this better. CMM can only perfect processes that aren’t creative or innovative. Agile doesn’t let the perfect be the enemy of the good. It also seeks to fail faster and learn faster. Here’s a great test for agility. I also recommend looking at Scrum plus, e.g. plus Lean and plus Kanban. http://agileforall.com/are-you-agile-the-nokia-test/. Agile lacks long term vision, so I also favor User Story Mapping and Extreme Modelling/XP techniques. The single most important thing is genuinely valuing the agile values enough to practice them at all levels.

      • It works if there is an enough will to do it right. It does not work if participants cannot leave behind their ego, they pretend to work agile, but they actually sabotage it. I have seen that several years ago, when team leader (senior developer) was actually fighting against agile because it made his work way more transparent then he was used to before. It was ruining all the effort others put in the project.

        In my conception of agile it is crucial to get involved to product development every team member. Once your teammates actually “live the product” your shot to beat the competitors and to bring a great product skyrockets.

        • > It works if there is an enough will to do it right.
          Exactly. And that’s also exactly why blindly advocating “agile” (or anything else) and disregarding others’ experience or ways of working does not make any sense.
          Moreover, what you are saying can be applied to *any* process/methodology/mindset/toolset/etc., so it’s not really an argument for any side.

          • my english is probably not sufficient to discuss such a complex topic. I do not advocate blindly, i am working in agile team for almost 2 years and i used to work as project manager many years before, so i can compare those two experiences. As a project manager that was mostly a fight between me, stakeholders and development team. I did not manage to persuade team member, that the project is theirs and they should do everything they can to do it in outstanding quality. As a scrum master i also had to solve some problems but my team is really dedicated to the product, because they take it is their product, because they are allowed to collaborate on definition of its features and they feel responsible for its success. I have not seen ever such a engagement in any waterfall projects i was leading.

  195. This article is right on the money. I think that in 10 years everyone will realize that “Scrum” was just a fad and a complete failure. Right now it seems that a few people are still under the Kool-Aid effects.

    • It seems to me that we’re struggling to agree on definitions of terms. Most of the people who like “Agile” or Scrum either (a) mean something entirely different from 90% of the managers who roll this stuff out or (b) are comparing it to something even more dysfunctional (like the favored straw-man, “Waterfall”).

    • I couldn’t agree more with the author as well as with your comment, Ted. However, it’s been way more than 10 years of this mess proliferating already and I’m so sick and tired of it already. I can’t stand trying to Architect solutions in another scrum (scum!) environment!
      So here’s the question (for Michael and all others reading) – How do I find a client who isn’t caught up in this hype, or do I have to leave IT altogether until 10 years in the future or whatever time it takes for this rabid dog to die? Every recruiter that calls and every IT job opening I’ve come across in the past 2 years screams Agile and Scrum. Is there any hope?? Have you seen any signs of the trend reversing?

  196. This article hits the nail on the head. The worst part of the agile process are the schizophrenic group think grooming and planning sessions that last for 6 hour stretches. Everyone speaks over each other and makes assumptions and then certain personalities enjoy yammering on and on. People go off into tangents until everyone who just wanted to know what the hell is expected has day dreamed out the droning demon voices to find themselves on the internet searching for terms like “Agile is a complete disaster”.

    Before agile, I lived through multiple top level manager changes and multiple methodologies of management… Nothing has murdered the spirit of job satisfaction more than agile.

  197. Pingback: Semper Agilis | Can Scrum or Agile Fail?

  198. Pingback: 3. A samurai in a birthday cake. – Scrappy Development

  199. Would a ‘Technical Product Manager’ help? Someone who is not one dimensional, who has functional knowledge and is able to give detailed user stories but who also understands technical challenges. When a developer explains why something would take X+Y hours instead of just X, with valid reasons, the TPM can understand that.

  200. One of the reasons I like DSDM is it places equal weight and authority on the technical side as represented by the Technical Coordinator has equal authority to the Business Visionary (aka Product Owner) and it also has a proper project manager.

  201. Pingback: PM software should include a ROI feature | Corey Cleary

  202. It gets worse when an Agile client decides to layer on extensive admin, at least for the poor sods who have to get sign off for everything and “reach out” to “the business”. Bloody management executives ruin everything!

  203. I’ve only had experience with one workplace doing scrum and during a yearly review I told them it makes me feel less like a craftsman and more like a factory worker that is being watched all the time. The response was that I was viewing scrum incorrectly. Well, whether agile scrum is the greatest thing ever for development or the worst, all I know is that personally I found it life-sucking. It wasn’t long until I found myself hating it and wondering if my career as a developer is over because there is no escaping scrum anymore… every company seems to be using it. And being over 40, thinking about doing something else career-wise is disheartening to say the least.

    • it makes me feel less like a craftsman and more like a factory worker that is being watched all the time. The response was that I was viewing scrum incorrectly.

      I think your experience reflects that of many others here!

      I’ve been thinking about how to deflect the inevitable “How do you feel about Agile?” interview question. So I decided to become a Certified Scrum Master. 🙂 I’m a couple of weeks into my studies with another week or two to go, and I’ve noticed an interesting fact:

      Scrum and Agile are not the same thing. Of course, I knew this but had sort of bought into the “Scrum is a form of Agile” mentality in the places I’ve worked. It’s not a correct view, at least according to scrum.org!

      Scrum was intended to be a framework for managing and organizing projects. It’s not an agile practice, though it’s compatible with them. One of the consequences of adopting scrum like activities (notably, allowing requirements to change and development to proceed before requirements are fully defined) is that projects move from being highly ordered towards a more chaotic state. That’s allowed, even desired BUT scrum imposes mandatory elements to keep the project from slipping into chaos.

      The elements of Scrum are mandatory, not optional in order to provide the checkpoints that guard against chaos.

      This is in contrast with the practices of Agile, which are intended to be selected opportunistically when they provide value to the project. So far as I can tell, there is no required agile practice (though in my experience there are many that, if missing, are good indicators of severe trouble!)

      One of the problems is that Scrum (with it’s required elements) gets conflated with Agile (where everything is optional) and important elements of Scrum get omitted or changed because they are not convenient. Without the scrum elements that induce stability when they are followed, the project tends towards chaos.

      I can really identify with your feeling like a “factory worker” comment. I’m pretty sure that’s a consequence of the extreme time-boxing of poorly defined tasks by the daily scrum and the unspoken “why did that take so long?” Intellectual problems have an interesting characteristic; before they are solved, it’s hard to see how to solve them and many paths may need to be explored. Once they are solved, there’s an obvious solution path and it may be hard for you to remember how difficult it was to find it!

      Having seen the solution (you provided), no one else can fully appreciate the effort it took to find it! So you can be left feeling like you are underperforming.

      If it makes any difference to you, the tech industry is continually searching for the Silver Bullet that will solve all their problems. The current solution gets explored and people start noticing the warts and limitations, until eventually someone else proposes a new solution that solves the current warts but is eventually found to have new ones. It’s a continuous cycle and eventually it repeats.

      Agile is the current Silver Bullet, but it has its warts. There’s something else out there, whether we see it yet or not!

      • @paulhanchett – great review and response. There is a huge gap between the intent of agile and scrum (and I love the distinctions you’ve teased out between the two – highly useful) and the “normal” implementation of agile.

  204. You are my hero. I wish more people would challenge the status quo and speak up.

    The problem, to me, as you’ve described quite well, is that Agile is far too one-sided. “worship business”, seems to be the motto. Just imagine if everyone adopted it, the development side would have no choice but to be complacent while the business side would see unprecedented growth. Every “good” business does this: reduce costs while providing less for more. Disposable software comes to mind, where it’s easier to copy and paste from a template than to address technical debt later. Is Agile just another “con of man”?

    With the conspiracy theory aside, it’s still abundantly clear who most benefits from Agile software development. It doesn’t matter that Agile itself isn’t inherently bad, it’s still being used to justify and promote unhealthy practices. That should be enough to stay away or do the ends really justify the means?

  205. One of the things that causes agile/scrum to be implemented as a micromanagement framework is non-professional developers.

    As a micromanagement framework it does a good job of allowing management “visibility” into what developers are doing.

    It’s ironic that a framework that is intended to create the freedom needed for craftsmen (craftspeople?) the freedom to create high quality, highly maintainable products is used to shackle the workers and create low quality, highly fragile, “it’s exactly what you specified” pieces of junk.

    Part of the problem is that *all* developers think they are in the 70th – 80th percentile in productivity and professionalism (this is not solely the realm of programmers, it’s all humans)
    https://en.wikipedia.org/wiki/Illusory_superiority
    http://blogs.scientificamerican.com/scicurious-brain/the-superiority-illusion-where-everyone-is-above-average/

    Add into this the vast difference between developer skills
    http://www.construx.com/10x_Software_Development/Productivity_Variations_Among_Software_Developers_and_Teams__The_Origin_of_10x/

    And you end up with managers who *in the past* have felt helpless when dealing with horrible programmers who were arrogant about how good they were while delivering little to no value (and in many cases, negative value.)

    These managers take these scars with them into an an organization full of highly competent, professional developers who care about their product meeting the customers needs (over the “requirements”.) The managers bring in scrum because, “(in the past) it really allowed me to bring those developers to heel”

    What I’m saying is that Scrum-as-a-micro-management-framework is a symptom of our existing system where we as developers do not treat ourselves as professionals (like doctors, lawyers and *real* engineers [http://www.sfgate.com/technology/article/Are-software-engineers-real-engineers-6620600.php])

    **** Please note that many of the responses that *this* response will generate are from whiny non-professional developers who pride themselves on taking no responsibility for how well their code actually solves the needs of their customers (the person writing the check that in turn becomes the developers paycheck) [and yes, I recognize the difference between the hands-on-keyboard-customer and the check-writing-customer, but am ignoring this difference for simplicity].
    I preemptively submit these responses as evidence of why certain managers feel the need for Scrum-as-a-micro-management-framework. ****

    • so is the developers fault? do bad developers leave scars to a manager? really? can you explain this? Because a manager has almost absolute power to fire a person if he does not feel they are productive or a team player at any time. About how my code solves the needs of the customer I do not care. I care how it solves his request(s). If makes a dumb request that eventually destroys his business is not my place to interfere because he will not listen. Also saying that anyone that disagrees with you is proof that micro-management is needed is both insulting to everyone and arrogant from your part.

    • So basically anyone who replies is most likely a whiny non-professional developer who doesn’t care about their responsibilities?

      o.O

      Malcolm, you had some really valuable comments above (even this one), but with all due respect, I have to say this latest note of yours comes across as extremely judgemental and arrogant.

      That said, I do agree with many things you wrote, with a bit different focus though.

      “One of the things that causes agile/scrum to be implemented as a micromanagement framework is non-professional developers.”
      Yes, that is indeed one of the *many* things causing the issues. In my experience, many more problems lie in management and flaws of the organization (so both individuals and how an organization works in a capitalist environment). That is probably also due to the fact that people in managerial positions (even in so-called “agile” environments) do have magnitudes more influence of how things go in the organization.
      But yes, the individual level is where many developers are responsible as well, and I’d be more accurate as to say “lacking work ethics” as opposed to plain “non-professional”. Whereas “non-professional” might have many interpretations in my view, by “lacking work ethics” I mostly mean one not considering the real effects of one’s work and the way of work on people, be it end-users, colleagues, or themselves.

      • not sure why this got modded, but I’ll try posting it again
        ……. begin repost
        Hi @Patrik,

        Here is my reply in 5 parts + a conclusion

        1) no, I did not say “anyone who replies” I said “many of the responses”
        (I’ll admit it was a troll, but cyp’s response kind of proved my point
        [even if cyp wasn’t completely wrong])

        2)
        As for “judgmental and arrogant” I sometimes get tired of developers who feel that they are blameless in why scrum-as-a-micromanagement-framework is so enticing to management. Not all of us, but certainly the majority of us (as in the 60th percentile and below.)

        I don’t know a softer way to say, “as a class, we (programmers) brought this on ourselves”

        3)
        But, you are absolutely right, what I am talking about is ***one*** of ***many*** things that cause the symptoms that we see. I think I even said, “one of the things” (yep, just checked, it was my first 4 words).

        The problem of scrum-as-a-micromanagement-framework is a systemic one. There are multiple issues that come together and bring us scrum-as-a-micromanagement-framework.

        At a high level you have programmers, management, government, and customers (I’m sure I’m missing 2 or 3 other contributors like “out-sourcing” and “human nature”)

        Programmers are at cause. (“It’s not my fault they wrote stupid requirements”)

        Management is at cause. (And here I’ll give @cyp credit, because he’s right, I can only tell my boss, so many times, “this is a bad idea, I should not be putting a self-destruct button on this device, and certainly not right next to the fire button”, before I say, “screw it, you want a self destruct button right next to the fire button, I’ll put one there.”

        Government is at cause (Sarbanes Oxley is said to legislate test-last development)
        Government is at cause (firing someone is close to impossible in most states in the US)

        Customers are at cause (“Yes, I asked for a self-destruct button on my -inator, and yes, I specified it to be right next to the fire button … but it’s not my fault because you should have talked me out of it”)

        4)

        As for “non-professional” vs “lack of work ethics” I think we’re saying the same thing.

        I’m sticking with professional vs non-professional because of certain definitions of professional (and a Tom DeMarco story in “Adrenaline Junkies and Template Zombies”)
        I’m meaning “as compared to doctors, lawyers and engineers (the one’s who build bridges, power plants and other things that causes mass death and destruction if it’s done wrong).”

        For the sake of argument I say that “a professional” is someone who’s field requires an oath, a licence, and has an ethics committee.

        [Note : The dictionary definition seems to say, “Professional – One who wears a white collar” so this entire aspect is going to be tricky to discuss]

        5) – Are programmers “engineers” (spoiler: the answer is *no*)

        Below is the original Atlantic article and 2 thoughtful replies that basically say, “the Atlantic is right, *but* it shouldn’t be that way”

        http://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/

        View at Medium.com

        http://www.wired.com/2015/11/programmers-lets-earn-the-right-to-be-called-engineers/

        (Note: These 3 articles alone are fodder for 3 – 12 hours of over-beer conjecture and discussion.)

        6) Conclusion
        Church’s original post is coming up on it’s one year anniversary (6 June 2015)
        A year ago my stance was, “what an idiot, this is not what scrum or agile is”
        Over the year, I’ve tried on, “what if these idiots are not wrong?”
        This morphed to “what if these idiots are right?”

        I quickly saw that if I looked at things a particular way, “these idiots” weren’t idiots, in fact, they were *very right* Scrum is horrible.

        A quick not about me. I’m a military trained technician (if I did things wrong, people died), turned programmer / start-up founder, turned test first agile developer, turned agile coach and trainer.

        It hurts for me to say “In all cases that I have seen in the fortune 1000, Scrum is always implemented as a micro-management framework.”

        Yes, I mean, physically painful.

        It forces me to ask the question, “How did we get here”

        Stupid management is certainly a factor (A reading of the corporate documentary “Dilbert” will confirm this) [It would be more accurate to say that it’s 20 or 30 different factors under one umbrella]

        My post is an incomplete look at some of the programmer led factors (there’s 4 – 15 more) that would cause management to try to “get better control over their programmers.”

        After writing this post (and re-reading my last post at least 4 times), I’m now confused as to what made my last post “arrogant and judgmental.”

        If it is arrogant to have an opinion, and judgmental to express it, then *all* of the replies to Church’s original post have been “arrogant and judgmental”

        And still at the end of the day, this year long conversation is bringing value to the community because we’re talking about fundamentally difficult stuff to talk about.

        • You’ve been approved. You were auto-modded because your post had 3 links in it and that’s taken as a spam signal. It’s one of the things that I don’t like about WordPress.

  206. I am so surprised by this post. I think you had a very bad implementation of Scrum.

    My experience in Agile has been completely different. I have read in the comments that Scrum is very “one-sided”. Well, if it is like that, you are already doing it bad. Scrum is all about negotiation and the development team and the rest of the team has to negotiate what will go into every sprint, including, of course, business oriented goals, but also trading with more tech related issues.

    A “Scrum Master” is not, at all, a team leader. He is just a servant of the team and his work is to help anyone else to perform. If that is not happening, that is not Scrum.

    The “removing impediments” as “spotting slackers” sounds insane to me. “Removing impediments” in my Scrum team means getting better information about tasks, coordinating with other teams… basically, easing the tasks of the developers. If you feel the “daily scrum” is just to spot slackers, I think you are doing something wrong again. In my Scrum team, it was about progress in whatever you were doing, it was about asking for help if someone was stuck, it was about getting all the team aligned in what was going on. It was never a blaming game.

    About the professional development, I don’t see how Scrum makes it better or worse. In my last company, the most seniors developers gained their respect from the team. When negotiations about tasks and stuff were happening, they are listened more carefully. And for the very most seniors, they could even opt to work by themselves, without taking part in Scrum teams.

    About long term vs short term: I don’t see how Scrum is changing that. We had short-term goals and short-term tasks that were oriented towards long-term goals. Basically, think in long-term, act in short-term.

    I am not saying everything in Scrum is good. But at least for us, it worked well and it made the team perform better. Almost everyone felt comfortable working with it.

    • Álvaro, you must have been *extremely* lucky. The comments here that take a negative stance on Scrum are far more realistic in my experience than all the everyday lies of how successful projects using these techniques are, and all the other unavoidable BS going on everywhere that just keeps the certification and consulting business going on and on, based on zero actual evidence or opinions of *working* people. (And no, I don’t consider the success stories of companies that sell “agile” or Scrum as evidence.)
      (Anyone, feel free to educate me with resources proving the opposite.)

      “I think you had a very bad implementation of Scrum.”
      Please, please spare us the no true Scotsman talk. Thanks.

      I’m genuinely happy if what you wrote is really your experience, but I could argue most points you made:
      – About the Scrum Master, you are right, no matter how much a textbook answer that is (“servant leader”). Yet, many do act as a micro-manager.
      – Professional development and roles/responsibilities often *do* go down the drain, and this sadly starts and even stops at the developer level.
      – I’ve seen long term goals completely disappearing in many cases where Scrum was used. And then even short term ones, i.e. “let’s just finish this sprint somehow, whatever it takes”.

      Bad implementation? Maybe. But I have not seen most issues happen as often (or at all) where Scrum was not used. Makes one think.

      • > Álvaro, you must have been *extremely* lucky.

        > “I think you had a very bad implementation of Scrum.”
        > Please, please spare us the no true Scotsman talk. Thanks.

        He’s *not* the only one. I can confirm – and did even already write before – everything he said.

        Obviously, Scrum *is* working in some locations and – even though I never experienced this – it is a catastrophic failure in other locations. So rather than claiming that Scrum per se sucks, it would be far more helpful to try analysing what exactly decides about failure or success.

      • …and forgot to emphasize this: IMHO it is exactly this “no true scotsman”! If – for example – your scrum-implementation makes the scrum master to a kind of boss instead of servant to the team (which I read here quite a few times), then it simply *is* a plainly wrong implementation. So rather than complaining about Scrum being bad and hoping for some magic solution, you should go yourself to the people who are responsible for these mistakes and kick their ass to change whatever they got wrong.

        Whining about problems never solves them. Pushing for real solutions does. And real solutions can only be found by proper analysis – btw. exactly the same as solving bugs in software.

        • > He’s *not* the only one.
          Agreed. I don’t think anyone said he is. Also, good on you being a developer who has seen the benefits of using Scrum instead of suffering from it, or from the organization’s dysfunctions that applied it.

          > So rather than claiming that Scrum per se sucks, it would be far more helpful to try analysing what exactly decides about failure or success.
          > So rather than complaining about Scrum being bad and hoping for some magic solution, […]
          I think sharing and analysing is sort of what we are doing in the comments. (Except when it gets heated.) Also, the post itself is far more than a rant (even before Michael reposted it), so I wouldn’t say it’s plain complaining.

          > you should go yourself to the people who are responsible for these mistakes and kick their ass to change whatever they got wrong
          > Pushing for real solutions does.
          As this was a reply to me, I feel like I have to respond personally. I can assure you I spend way more time doing so than writing these comments or reading posts like this.

      • > Please, please spare us the no true Scotsman talk. Thanks.
        I am sorry, I don’t understand the ‘Scotsman talk’ thing (I am not native English speaker, sorry).

        I don’t sell Scrum. I am a developer, I just worked with it and I liked it. I was the person in charge to define what Scrum would be in my team and I was the Scrum Master until I left the company.

        I am not trying to convince anyone about Scrum being perfect for anything and I do believe it is not for everyone.

        In the other hand, the most of the points in the article complaining about Scrum, well, they are not Scrum.
        * Scrum encourages the Scrum Master to serve the rest.
        * Scrum say nothing about professional development. We adopted Scrum, but we kept doing our weekly learning sessions, workshops and spreading knowledge around the office.
        * We used to have a Roadmap white board, covering 6 sprints (2 weeks sprints) in advance. Containing general goals and some concrete deadlines. That way the PM was able to prioritize the tasks for every sprint (short-term goals) towards the long-term goals.

        Maybe I was very lucky. But that has been my experience.

  207. The problem is, and always has been, the rampant disconnect and lack of empathy between us (the technology engineers) and the user / consumers, especially when those consumers are internal to our organization. Regardless the methodology, or call it a “movement”, you chose to when managing IT projects, if you turn from a customer focus to a “what I know best focus”, people stop respecting your decision making ability. It becomes the selfie-stick of software development…. Everything argued on this post is self-inflicted pain. This pain will stop when we engineers drop our egos and pompous ways. If you are a 10+ year engineer, own it, we made it – yes, I am far beyond that window of ownership! The whining tone of this article is a perfect example of how we got here. Scrum is not perfect, nor is any system of project management; but then again, it is the team that makes the project enjoyable or suck, beautiful or lackluster, and fail or succeed. A couple perpetual gripers and/or naysayers can make a 3-day effort seem like a 5 month project. If we want to get rid of babysitting processes, let’s start with:

    – Start offering solutions based on how we can help something improve
    – Stop talking and focusing about what everyone else is doing or not doing
    – Stop looking at teams as bad things
    – Start looking at looking at the customers issues as important problems demanding attention – even the feature is there, if it is not intuitive enough for them to use it or understand, the features are broken / useless

    We have to stop ranting and get back to the basics of customer focused design. If you don’t like Scrum or Agile, come up with a better customer focused methodology that accomplishes the core goals most of us agree are right with Agile. It is not about our tenure, our titles, our experience; it is about forcing people of different skills and experience levels together to find solutions. It is about group people that are not habitually together. That forces us into the uncomfortable reality of people asking us why we are trying to accomplish things a certain way and hearing and seeing others views on accomplishing task. It forces us to hear other peoples’ pain point in our individual methods. Lastly, sometimes it proves we don’t know everything. Quite often, when we shut up and listen, we learn. That happens because we never become so senior and tenured that we know it all.

    That is the end of my rant about your rant.

    Cheers

    • There is a big problem with your way of thinking: clients normally have no idea how software development works or why tasks #1 takes 1 day and task #2 takes 3 weeks, why one bug is solved in 5 minuted and another in 2 months. That is why often they make unrealistic demands that lead to poor quality software in an attempt by developers to meet deadlines. You say it is at fault the developer’s egos, but I do not agree. Normally at some point the client would be told that what he asks takes more time, but Scrum thinks that dividing the task solves the problem. In reality it makes the solution inconsistent and fragile. It is just as in that joke: A Manager is someone that thinks 9 women can deliver a baby in 1 month.
      Another problem is that the client normally does not understand how the software is supposed to work internally (that is why they hired you) but demands to decide on how it is implemented because he read an article in a business magazine that states that library a is better than b.
      Basically the big problem in Scrum is that the client does not trust you to do your job and because he has no idea on how it should be done keeps coming with awful ideas he demands being implemented. Normally the development would work similar to how anything else is developed from a house to a tv. You make clear demands on what you want and then judge on the results. It does not have to be the whole project, it can be a module, but it has to be something that is large enough to matter for the solution. And if we treat things like that we fall back to an older methodology that works for these kinds of projects called iterative programming. Because that is what Scrum is: iterative programming from which all common sense was removed: the milestones had been minimized to maximum 3-4 weeks, the meetings that were normally 3 per milestone: beginning, somewhere in the middle and the end turned into daily meetings. Just consider this: for a programmer a 10-15 minutes minute meeting means 1-2 hours lost from his day of work. And that is because we are humans not machines. We cannot put a process on hold and then just start were we left off. We must reinitialize everything. Also we cannot stop on a dime for a meeting because that means you will forget what you were working on and that work will be wasted because you need to re-assess everything.
      Scrum turns software development which is a creative work into the kind of work some factory workers had that in most places has been completely automatized: brainless repetitive work.

  208. Agile is a very efficient way of working. It is either people who hold a biased against it OR people who don’t understand it well makes it fail. We had horse / bullock carts in the past as mode of transport which were replaced by cars. There was a huge resistance to this change and I sense the similar perception issue from the article.
    I am only talking for software development projects and I can say it with authority that the organization culture and waterfall mindset, are the biggest threats to agile which otherwise is a very best method if it is used appropriately and in the right project (its not a silver bullet)

      • Look man, I agree with you on Agile, but I’d prefer if you not use the term “H1B job robber”.

        The enemy is employers who abuse the H1-B program. A high-talent immigration system absolutely should exist. The problem is that scumbags over here abuse the H1-B program to depress wages and to bust unions (because someone who can be threatened with deportation will not even think of collective action). It’s technically illegal for them to do this– you’re supposed to hire H1-Bs only when you cannot find the talent domestically at any price– but the laws are almost impossible to enforce.

        H1-B workers are just trying to make better lives for themselves. They’re not doing anything wrong. It’s these evil companies that abuse these programs who deserve the animosity.

        • so by your logic, people who come in to steal stuff from your house because they “need” it, or don’t want to get it for themselves aren’t doing anything wrong ? H1B is a fraud and a scam, and goes perfectly with Agile/Scrum b/s..and if you think it’s all being done above-board, you’re really naïve. Google “H1B Fraud” or “H1B not best or brightest” or anything else H1B related, and see for yourself. Don’t buy into the H1B fraud and don’t propagate the lies

          You’re either for American workers/taxpayers in America – or you’re for H1B Job Robber scabs and against America workers. Pick a side

          • …by the way, companies and the government are also at fault. Replacing American workers in America/not hiring qualified American workers in America, and picking imported scabs instead, is every bit of an offense as Agile/Scrum

  209. I’ve worked at a few companies that employed Agile/Scrum, almost always a failure – and it’s easy to see why..just too many reasons to go into here, but the author lays out most of them in this nicely written article. In short: Agile is completely snake oil bullshit, and Scrum masters are usually failed technical dropouts. Agile is the perfect scam and con: you can never blame Agile if a project fails on account of using it; it must be the fault of the people implementing Agile, never the scrum master though, who always just whips out another “magic rule” when things go into the red. No planning, no transparency, improper assignment of responsibility and accountability, zero strategy, and a bunch of lies. Stay away from Agile/Scrum and the fanatics who praise it.

  210. Pingback: Business-Driven Engineering - Software Dev Group

  211. I can confirm that Agile/Scrum is a failure at my company (very large). Program Management and Product Management is not addressed by Agile and that is why it fails.

  212. I’m a good programmer and am familiar with the area of software to be changed. I know in my head what needs changing after a requirement is provided – don’t require diagrams for most things. I would produce very good solutions under this model – and if was kept happy would continue to do so. However, if you were not a good programmer, no chance, they’d be crapping everywhere. For this to work you need to employ good people and keep them happy. Quick shout out to my fellow programmers, look carefully at the Managers – not very relaxing is it! Only winner is the owner gentleman name of the game! I repeat only winner is the owner.

  213. @begin(rant)

    Agile methodologies (in fact all “methodologies”)

    Too much emphasis on process
    Too much distraction from the technology

    Learning “Agile” is a trivial undertaking for a software engineer. Learning several programming languages, learning one or two operating systems, how to make useful GUIs, how to multi-thread, how to structure data, how to break a complex task down into relatively independent parts, how to query a database effectively, how to use communications protocols, how to create useful logs, how to make all this happen fast, … not to mention understanding the problem domain (automotive engineering, games, climate simulation, logistics, payroll, investment, …

    These are the really difficult things, that take years to master and that make a competent engineer. NOT becoming all religious about some trivial methodology that requires next to no intellect. Methodologies are attractive to bureaucrats who think that a short course leading to accreditation as a “Scrum Master” gives them a better understanding of how good software is created than that of a skilful engineer that has been creating good software for 25+ years.

    A bit of humility and a more skeptical attitude towards these recurring, faddish, “silver bullets” is a mark of a genuine and effective manager or team leader. “One size fits all”? Give us a break. Get back in the real world. Agile is a sensible choice for some projects and possible worse than no method at all for many others.

    There is little doubt that many very good software developers hate Agile, and find that it does nothing but get in the way of doing good work. Agile supporters can argue until they are blue in their faces that when Agile fails it is because it has been done wrong, but if the best developers hate it then Agile is the problem.

    Because you can create great software without using Agile but you cannot create any software at all without the complex technology and smart people that understand it.
    @end(rant)

    • Tom, *very* well said.

      All the blabber about minuscule trivialities highly irrelevant to the real work itself, while posing as something super-important — that is the most annoying thing about “agile in action”.

      • I would second that comment. Tom said it better than my earlier attempt to do so. The emphasis is now on the process instead of the actual result or the skill set required to achieve the result.

  214. Pingback: Why “Agile” and especially Scrum ar...

  215. Thank you for a brilliant analysis of what is wrong with Agile.

    I’ve not had much opinion about the people side of the process until recently, I guess because I was lucky to be in a role for a long time where I could do my job properly without being side-tracked with rituals like sticking post it notes on a wall and pretend that work was being correctly prioritised and managed efficiently and expediently.

    I was hoping that you would write something about Kanban. Personally I have found it preferable to Scrum, but the real revelation to me was reading the original material from the inventor of Kanban, Taichi Ohno.

    I think people who like Kanban as an agile method should read his material and then they should understand that in the evolution of Kanban it came last. Not first. It took in fact 10+ years before Kanban was implemented at Toyota. What came before it was much more interesting. And since they weren’t using Kanban then they were basically doing what you are alluding to in the article, they working to eliminate waste, produce a standard method for doing work and they created a flow. These were prerequisites to Kanban, Taichi calls this as the basic condition for Kanban to work.

    Taichi Ohno:

    “Unless one completely grasps this method of doing work so that things will flow, it is impossible to go right into the kanban system…the production processes must be managed to flow…This is really the basic condition…Introducing the kanban without practising these rules will bring neither the control expected of kanban nor the cost reduction. Thus, a half-hearted introcuction of kanban brings a hundred harms and not a single gain.”

    So the conclusion from this is that Kanban as invented in the auto-mobile industry and adopted across in IT, bear very little resemblance to the original work management methodology and that it’s own inventor never would have dreamed of implementing it first, because it comes last, only when all other things are already in place.

    We can see this destruction in IT and until we understand where we have gone wrong the profession is going to turn away talent and retire talent too quickly.

    • How is that any better than Scrum though? I worked in Kanban (or at least that’s how I was indoctrinated).

      If the company still maintains the 1-sided transparency, the requirement that creative people provide constant justification for what they’re doing, and reduce the value of a human to story points, you’re still going to push away talent.

      The current state of the industry is that “Where do you see yourself in 5 years?” has disappeared from job interviews. Interviewers know the answer is “Not here!”

  216. Scrum doesn’t mandate an Interface Control Document.

    Most of the work (that Scrum never captures) is done in creating (or fixing) and then maintaining the interface.

    Thankfully most programming languages have interface control capability built in.

    But not all of them and maybe the most used (java script).

    But these that interface control never extends to protocols, semantics, human-machine interaction, timing, heterogeneous programming environments. All of which are splendid opportunities for work, because there is so much of it. Scrum does nothing to address this directly.

    And QA people love scrum, because it gives them the work of finding all the bugs that exist between areas of the “System under test” that were coded in different projects, and for which there is no interface control. (Often different languages). Well it’s a love/hate relationship, especially if those disparate projects are not accessible to QA’s inspection, in predictable/useful/easy ways.

    So scrum neglects a lot of design work, you know the details. Scrum is basically a way for ordinary managers to define requirements (think Dilbert’s boss). But since there is no interface control between natural language and programming (let alone Systems Engineering). Numerous bugs (read more high paid work) is introduced into the product.

    And managers who try to get a sense of productivity from Scrum, are ignorant of the actual work. You can’t reduce work that way, it’s sad. And who get’s promoted? Those who can show a difference, right. Where do they show that difference, at meetings by talking (talk is God’s bit-bucket).

    So the people who are working hard either love it and don’t leave it, or just sit and never get promoted, since there work is reduced to a point system.

    • Scrum doesn’t mandate an Interface Control Document.

      …..

      But these that interface control never extends to protocols, semantics, human-machine interaction, timing, heterogeneous programming environments. All of which are splendid opportunities for work, because there is so much of it. Scrum does nothing to address this directly.

      Scrum as practiced is often a franken-thing, an unholy amalgamation of Scrum, Agile, and Waterfall. Scrum as described at scrum.org is only a framework into which you can drop any number of different practices like Agile. Scrum is described as being compatible with Agile, but is not itself a variation of agile (because it says nothing about how the work is done.)

      Scrum (and agile in general) says that this sort of thing works itself out as emergent organization and that we shouldn’t worry over much about getting it right the first (or second!) time. Just keep trying and it will evolve to be correct.

      Of course, if I’m paying for all this I will be concerned with how much it costs to get it right! But in the end Agile is less about getting it right than it is giving the customer what they are willing to pay for!

      • I should also point out that according to Scrum, the Scrum Planning Meeting is the place to address and architectural and design issues from the Scrum Backlog, and that the result should be tasks to implement the item.

        Even though it doesn’t seem to be done that way in practice, a Scrum Backlog Item is not the same as a User Story in agile. This is another place where scrum and agile practices have been inappropriately conflated.

        • According to Agile, we favor people over process. And in Australia, people walk on their heads and hamburgers eat people!

      • “we shouldn’t worry over much about getting it right the first (or second!) time.”
        Cool story bro.

        If you’re a dev and you don’t get something right the 2nd time in Scrum, you’re not going to meet your quota of Story Points. Many start-ups will fire you if this happens 2 or 3 times.

        • You are falsely assuming your got gets properly tested right away. In reality by the time your code is actually tested either lots of other people have poured their code over yours so you can always pass the blame or you already moved on to another company. Is not my style and I tend to my code and often insist on being tested right away but I have seen many high ranked devs (that also have a managerial position) do this often. Also maybe what you said is true in startups but guess what?! Scrum is not usually used in startups, but in big companies with lots of managerial layers.

    • Even if he did, it still doesn’t sound as bad as Scrum because at least there is honesty about the company’s hierarchy. Scrum often accompanies chaotic, distracting open-office plans, and constant Soviet-style lies about being a “flat organization” despite drastic differences in compensation.

  217. I am working with scrum now for 1 year and 3 months. It is not a solution to all problems, but it works for my company. We get more things done. I can claim time to improve the deveopment process, my team has innovation days, where we explicitly assign time for free research and experiments.

    What I read in this blog is NOT scrum. A scrum master is NOT a boss, he is a servant coach, helping the team to improve the way of working.
    The team is autonomous. It’s the team that estimates the size of work and decides if they can do it and how much can be done.
    We do a lot of experiments and fail often. That’s OK. We learn a lot.
    The developers feel they have more influence on the solutions they create. And they understand why the business wants a product, but it is up to the team to decide how to build it.
    Team members are proud to show results to the business stakeholders and to receive their gratitude.
    Scrum teams develop much better communication skills.
    My role is product owner. My major responsibility is to say no to the business and select the most valuable ones from the wish list. The team also is a stakeholder and I stimulate them to develop their work methods. I stimulate the senior developers to help junior developers to become better developers. We all benefit a lot.
    So I am happy, but what is described in this blog is not scrum.

    • “Scrum teams develop much better communication skills.”
      My experience was the opposite. You’re using the “No true Scotsman” fallacy to try and prove your point. You are exactly the problem the article defines: Scrum is dishonesty for sale. I watched it drive away individualistic, creative, and talented devs. I saw it squash great ideas in favor of meeting quotas of “story points.” I got to debug heaps of spaghetti code left behind by people who quit after < 1 year of Scrum's dehumanizing torture.

      Look, we're happy that you're happy, but just what IS a "product owner?"
      Doesn't sound like a person who writes code under the gun like we do. Also I don't think you "own" anything, the company does.

      Agile/Scrum strike again with their self-aggrandizing, responsibility offloading job titles.

      This article specifically explains why Scrum pushes away devs who are talented and creative (you know, the kind you need for R&D?). Thank you for further proving its point by citing a well-known logical fallacy, and admitting that you're another "product owner" who is obviously blind to the dehumanizing and demoralizing effects of Scrum.

      To developers, Scrum is simply a game of "cover your own ass and hide your resentment" because we know it has nothing to do with our true passions: Computer Science and programming.

      We pick the stories guaranteed to rack us up more story points, and leave behind piles of technical debt we won't have to worry about because we're not going to be at the company for more than 3 years.

      Have fun "owning" that.

      • Hi Disgruntled Grunt, as a product owner it is not my role to write code (which I sometimes regret, with my strong background in informatics). Developers do this much better. My work is to protect the development team from the daily madness of the business stakeholders. I take care to listen carefully to both stakeholders and developers and make decisions based upon their opinions and my common sense.
        What do I own? Nothing, The only thing I have is is the exclusive mandate of my company to ask the development team to handle item x as the first one.That’s enough.and challenging.

        I really do not understand you comments about cover your ass… It is not a game. We can create fantastic software for the sole reason a company is willing to pay for that. This gives room for passion, but also imposes a lot of constraints.

        The true value of a good product owner is may to learn developers to find fun and satisfaction in creating good software and sometimes awesome software for real users and to make sure these real users love to use the software and give credits and are willing to pay for it.

        There are many things scrum does not do for you. It will not tell you how to write code and maintain quality. It just encourages to keep things small, it encourages learning and getting feedback. it offers all the fun of doing awesome things together.

        • Rudolf– I think a big problem is that people who haven’t taken the time to understand what scrum actually is, its practices, and why they are essential and can’t be changed without adverse impact, are claiming that they are doing scrum and agile when in fact they are doing neither. (Watch! This claim will draw fire from both the pro-agile and anti-agile camps. :-\ )

          In Scrum there are *exactly* three kinds of member: Product Owner, Scrum Master, and Development Team. No others. No Architect, no Team Lead, no Business Analyst. Only team members get to speak during daily scrums, make estimates. Sprint Backlog items are composed into tasks during the Sprint Planning Meeting (where any necessary architectural issues are supposed to be resolved as well), so the whole team is participating in the design for every backlog item. And so on. See http://www.scrumguides.org/scrum-guide.html.

          What passes for Scrum in many places is as much a caricature of Scrum as is the straw man Waterfall SDLC that is demonized by the agile community. (I have been an engineer for 40 years, and I have never seen Waterfall practiced as fixedly or idiotically as is claimed by agile evangelists… Frankly there are things I like about Agile that I’ve personally done for 25 years or so, and there are things I find reprehensible. Mostly I dislike demonizing someone else just because there ideas are different from yours…)

          Of course, don’t bother trying to tell any of these people that what they are doing is not scrum/agile–They just want to do what they want to do… And of course, it’s you who’s wrong! 😦

  218. In Brazil the situation is even worse,programmers are being treated like cows,no place for criativity.
    Scrum is used only to make people works until midnight in order to achive the scrum date.
    Because You know,here they don´t use the estimate of the guy who is going to do the job,it is “the team” who gives the date,mainly driven by the scrum master.
    So if 5 of the guys will follow the schedulle,the one “that is too slow” will work for two.
    There is even the “GO Horse Manifesto” ,I don´t know if it was created by Brazilians.

    • Very similar to the USA my friend. I haven’t heard of “GO Horse” but I know the feeling of being treated like a cow and working until midnight!

  219. This precisely describes EVERYTHING about my experience as a full-stack developer in Agile/Scrum. I wish I had found this several weeks ago. I would have sent it to my former boss as my 2 weeks notice.

  220. Any planning and delivery methodology can work, given:

    1. Leadership, Stakeholders, and Developers act as peers in an environment of trust.
    2. Expertise of all employees is respected and put to good use.

    The “take the good parts and dump the rest” phenomenon in this article is more of an issue than the endless Bread and Butter War squabbling. Failures of both “Scrumbut” and “Waterspiral” can be linked to lack of a balance of power resulting in people with the wrong skills hanging on to authority while delegating responsibility.

    In the ’90s, when we didn’t have today’s vocabulary, all 6 employees of a small company sit in a planning meeting. The VP of Marketing (Emperor of Product Ownership) lists the 15 unrelated features he wants by the end of the month. The CTO (Zen Master) asks him to prioritize them.

    The Marketing VP crosses his arms and says, “NO! I know it’s a trap! If I do that, you will draw a line somewhere and say you’ll give me only the five most important things.” After much “negotiation,” we commit to five important things. We deliver 7 because we kept 8 things off the table so that context switching didn’t drown us..

    Currently I am in an “enterprise IT” environment with about 8 “projects” being developed in 8 uncoordinated “releases” on one development pipeline by three developers and an outsourcing vendor in a separate silo. Dates are set but scope is never agreed. Priorities shift daily at the “product” level. Tasks are “pushed” to employees regardless of skill sets. When a project inevitably slips, it is taken as an opportunity to reopen scope.

    Today: “Product A is critical priority.” Tomorrow: “Why are you working on Product A when Product B is clearly critical priority? Put it down! And Joe can take over that part of Product A next week while you’re out of town… Hmm, since Product A is going to be late, could you…”

    In this single stream, multi project environment, the Lean/Scrum/Agile framework has appeal because it looks like a lever to counter estimates and schedules and dependencies that were set in a vacuum. The product refinement kanban substitutes for lack of demand management. Global release refinement is a scoping tool that fit’s the organization’s attention span. The sprint shelters developers from daily attempts to influence their priorities (don’t you just LOVE cubicle campers?)

    In an environment where design packages are (in)completed before the delivery team is approached, I believe Scrum has a CHANCE of helping. Why? Even if the dysfunction continues, the raw data collected during refinement and delivery will improve the team’s understanding of their velocity, and might convince leadership that some give and take will result in improved throughput.

    With scrum we have a basis to say, “The most important parts of Project A and B are in place after two months, and we are in a good position to deliver Project C. Sure, we can start on Project D. Can Project A’s and B’s stakeholders use what we have delivered for a while? Can we leave project C alone while we ramp up D?”

    This is more rewarding than having leadership say, “You were supposed to deliver Project A this month, Project B two months ago, project C next month, and Project Z a year ago. How are you going to deliver project D three months from now when you were too lazy to stay on schedule for the other projects? ” And we answer, “Duhhhh, it’s because you have ADD.” Not a career enhancing scenario for anyone involved.

    Suppose we implement scrum in an environment like this and it doesn’t work. Is the methodology bad? I’m not sure. Maybe. If developers are involved from strategy through charter, design, and transition, I think Scrum will work fine. If not, it might engender an environment of mutual trust and respect, and increase skills matching due to the pull model.

    But if we can establish the environment of mutual trust and respect first, waterfall(ish) will work just fine, too…

    • Peter, very well said.

      “Any planning and delivery methodology can work, given [1 and 2]”
      “But if we can establish the environment of mutual trust and respect first, waterfall(ish) will work just fine, too…”
      This is my experience too. And the other way too: if you cannot establish safe/trusting/professional/ethical environment, “Agile” will not help. (It will actually make things worse thanks to the added level chaos.)

      Disclaimer to other readers: I’m tired of the “you are doing it wrong” and “you’ve not seen actual agile culture” comments, so feel free to interpret “Agile” above as “agile as often abused” or “fake agile” or “corporate dysfunction disguised in Agile” or… whatever.

  221. Sounds like you had a very bad experience with Agile. Can I suggest therapy??? I wonder why SalesForce is so successful?

  222. I think the key term here is “Agile as-practiced” (twice). To me it seems you have issues with Scrum (or scrum-called) processes you encountered, not with the concept in itself. Ideally, Scrum is embraced by the team and not forced on it by management, which will fail. This article’s title is a bit lurid and misleading. You have valid concerns with how Scrum is practiced, but do not allow for others to have different experiences.

    “you were assigned ‘user stories'” is an inherently wrong application of Scrum.

    “Its purpose is to identify low performers”/”spotting slackers”: you won’t find this in any Scrum instruction. It does happen and why shouldn’t it? Slacking off hurts the team. But generally it’s the team that will either pull slackers in line and encourage them to give their best or they will leave.

    “justify the work on a day-by-day basis”: from my understanding of Scrum, you justify your work as a team during review, dailies are for the team and for spotting impediments.

    Scrum does not reduce or increase technical debt in itself. It’s how it’s applied that’s decisive.

    Of course there will always be people who try to sell services around a methodology, some want to make money, others are genuine, same as with any car dealer or consultant.

    In my opinion, the war room analogy narrows the scope of application of Scrum too much. You don’t really allow for it to fit some companies and some situations where it may be applicable long-term.

    A Scrum master actually has very limited power regarding the development process.

    Scrum doesn’t have to result in a loss of autonomy. Generally, the team decides how to work, not a Scrum Master nor a Product Owner.

    You sum it up nicely with “every implementation that I’ve seen”. Please don’t claim you have seen it all. I have seen bad examples of Scrum myself, but I have also seen working examples. I suggest to try to convey a little less of an Ive-seen-it-all attitude.

    • “from my understanding of Scrum, you justify your work as a team during review, dailies are for the team and for spotting impediments.” – if a programmer has an impediment he does not wait a day until the next day scrum and if he does not have any he does not like wasting time on stuff that are unrelated to his work and in which he cannot help. it is just a report standup to look productive. Ironically people that are slackers look productive as a result of scrum and the hard workers look like slackers.

      “Scrum does not reduce or increase technical debt in itself. It’s how it’s applied that’s decisive.” It does increase debt. That is because it does not prioritize bug fixing over feature implementing. A bug fix according to Scrum should take maximum a day. While some bugs take a short amount of time many (especially backend) can take from 1 day to 3 weeks. Scrum does not provide any time slot for this work and as a result bugs are delayed until the very end of the project so debt is increased.

      “Scrum doesn’t have to result in a loss of autonomy. Generally, the team decides how to work, not a Scrum Master nor a Product Owner.” Bullshit. The product owner and the manager have the right to veto. No matter how many arguments you bring for one course over the other they will still be deciding because they pay the bills. Problem is that pretending this was a team decision means that team gets to suffer when shit hits the fan because the manager acted against the will of the team.

  223. Wow. Just wow. This article is so full or errors that I don’t even know where to start. Will have to take a day-off to reply to all the misconceptions and fallacies here.

  224. I like articles like these because they get intelligent people talking. However, most of us, you know the Scrum fanatics, have actually adopted so much of XP and it’s part of the Certified Scrum Developer course that the problems you mention, while well intended are (and I know you’ve heard this before), bad Scrum consultants or hearing one part of the “Agile” story.

    In all due respect, it’s your fault for not setting certain standards as part of your definition of done. The fact that you don’t refactor as part of your normal practice and add stories for refactoring is extremely flawed. The fact that you don’t want to communicate sets you up for being “managed” when Scrum prescribes “self-management” and the purists would even say, “self organization.” The team actually decides how to work and helps the product owner (i.e. the business) understand the tradeoffs and why things are important but because you don’t want to communicate then guess what happens in that world, miscommunication arises like any normal human relationship. If two people with different perspectives in any human interaction refuse to communicate about those perspectives, then whomever has the most dominant personality will typically decide how the relationship goes and then the other party wonders why the relationship is one sided. It’s amazing that you would only take a Director or principal role when you don’t understand the necessity to develop a communicative relationship with the business.

    It’s also amazing that the ones promoting Scrum are mostly old guys, i.e. extremely seasoned software craftsmen (and women) who write elegant software but have the perspective to understand the business constraints of the world we live in. It is not for only emergencies but it is for adaptability and the ability to “turn on a dime, for a dime.” Understanding emergent architecture is a skill and the very fact that we’ve adopted engineering and architectural practices that are technically sound (via XP) and iterative in order to satisfy business constraints shows the elegance and comprehensive nature of the framework. In some cases, short cycles don’t work, but you could still extend this to a month long iteration and find it incredibly useful.

    Your problems I have never seen since I have been able to drive the business to not be as you mentioned and I and others who know what they are talking about don’t even use velocity or ridiculous measurement tools that add no value. Only so you can understand a bit more, I’d read the Large Scale Scrum books and especially to get your logic and argumentation sound I’d read and reread the first book, especially the Thinking Tools sections. They would provide a lot more insight into many of the answers you’re probably looking for to understand the theory behind Scrum instead of your assumption that it is an emergency only framework. .

    • “In all due respect, it’s your fault for not setting certain standards as part of your definition of done. The fact that you don’t refactor as part of your normal practice and add stories for refactoring is extremely flawed.”

      Who on earth is “you” in this sentence? Most “agile” or “scrum” implementations don’t actually turn the company hierarchy upside-down to the point where rank-and-file developers have any hope of influencing these standards. Regardless of what management calls their process, and regardless of what the agile manifesto might say, it’s still the management setting the standards, and the workers can take it or leave it. Your comment smells of someone who judges a situation based on what people are saying instead of what people are doing. Very bad idea in a modern business environment where the higher-ups say whatever’s strategic for themselves with little regard for reality.

  225. In 1999, Craig visited a client in Houston to help with an agile adoption. At the beginning of the first-day kickoff, someone said, “We’re trying XP but we hate it!” I asked, “How long are your time-boxed iterations?” “What’s that?” she replied. I queried, “What about your continuous integration practices?” She didn’t know. I asked, “What is your experience with test-driven development and refactoring?” She said, “I don’t think we do that.” “So,” I asked, “what are you doing in XP?” “Well,” she said, “programming without any documentation of course!”

    -First section of False Dichotomies Chapter of Scaling Lean and Agile Development (Craig Larman and Bas Vodde)

    I hope you get the point

    • Ok, so because he did not know all the terms he was not doing XP. First of all Agile is according to many a rehash of the failed XP methodology. Notice the word failed!!! I have worked with this methodology and as long as the time-boxed iterations were not smaller than 2 months (preferably at least 3 months) it could work in some circumstances i.e. if the developer’s assessments on the complexity and time requirements were to be taken into account. Usually the developer would say something like: “in the base case scenario it will be done in 3 weeks” and the manager would say “you have 2” and then force the dev to put unpaid extra hours or be mad if the solution was not ready in two weeks.
      About test-driven development this is a bad idea. So you do not know what the code should do from the start and when the code is submitted you make tests to test if it does what it does. This is redundant and stupid. You should have all the requirements in the story the moment it is written. you want a change? then make a frickin’ new story for the change! About refactoring is one of the worse approaches ever to anything including software. Have you ever heard the saying: “measure twice cut once”? there is a reason that saying exists. refactoring says: cut however you like and then we will tinker and patch to make stuff work. The quality of the product when you rely mostly on tinkering and patching is bad. In my native language there is a word “carpaci” that defines an unskilled craftsman that does low quality work mostly patching things.

      • Cyp,

        I wasn’t going to respond but I saw Ashuk’s response below and decided that I would at least try to address your points but they are so far out of line with inaccurate understanding, I wasn’t sure it was worth it. The example I gave and the point I made about the question about following XP had NOTHING to do with knowledge of terminology. This has everything to do with saying something what one is not doing. I guess that wasn’t clearly articulated.

        When I talk about XP here, I’m talking about engineering practices and well, they haven’t failed. They have increased and continue to do so and improve. If your manager (who isn’t even on a Scrum team) is telling you to do something in 2 weeks that should be done in 3, well, you aren’t practicing Scrum because there are only 3 roles in Scrum, Product Owner, Scrum Master, and the Team. There is no manager role that tells people to shorten their timelines and increase their scope. That’s not and never has been Scrum in any shape form or fashion.

        Your understanding of TDD is so poor I don’t know where to start. What does not knowing what the code should do from the start have anything to do with TDD or refactoring. You are refactoring because you are adding additional requirements based on sound learning from what your users are requesting and what you are understanding based on their requests, behavior, and market conditions. There is no tinkering and patching which is really a ridiculous concept. You are adding and expanding features once again which is quite normal in the real world.

        • So you deny the scrum manual says that a sprint should have 1 to 4 weeks max and that each task should not be longer than a sprint? Also how about the story points count? Because if you have a bigger task you will fall behind with those. ” What does not knowing what the code should do from the start have anything to do with TDD or refactoring” modifying something after depending on what you modify can be a tremendous task and require to re-write everything. Let’s say you want to expand a room but the wall you want to tear down has a sustaining pole for the structure in it. Is this a simple job? No, it is a complex job and a bad idea per total, yet Scrum assumes it can be done in one sprint or that it can be done in phases. Oh and the playing poker is the part of Scrum that does exactly as I said: the Scrum Master or whatever the name it takes dictates how much the task should take regardless of your opinion as programmer. You keep using the “no true scottsman ” argument disregarding that what i said is in the Scrum manual just worded a bit differently.

          • Following your argumentation is either extremely funny or totally frustrating, as you seem to try really hard to misunderstand or to not understand. Additionally, I start to doubt that you’re a software-developer at all. Your comparison of software with a house indicates this strongly. If I need to explain to you why, then you definitely are no software-developer 😉

            The same could be said about your previous statement that implicated everything would be clear and static from the start of the project. Ever heard of changing markets? It does not seem to me that you work on a software that is actually used by someone (i.e. a market).

            In my entire career (I’m developing software professionally for 22 years, now), I have *never* encountered a software that didn’t change over time (if it was actually used). And if you do things right, then you refactor properly whenever it’s needed. You should read the book “Clean Code” from “Robert C. Martin”.

            Then, if you cannot refactor your code in the future to adapt it to changing business needs, then you made many mistakes already long before. For example: too close coupling of components (or even not having components at all). The name for this mess is spaghetti code and no matter what methodology you use to organize your team, you’re going to ultimately fail.

            But honestly, after I read that your “Scrum Master … dictates how much the task should take”, I don’t wonder anymore. The scrum master should understand scrum and help the team to implement it. He has nothing to say at all about technological decisions and schedules!

            It seems to me that he didn’t understand the core idea of planning poker (or whatever estimation strategy you use – there are alternatives). Of course, you can continue to claim that this bullshit your company is doing is Scrum, but it simply isn’t! And if your “Scrum Master” would be what he falsely claims, he would know.

            In all of the many projects I did, the estimation (no matter if you do poker or another estimation strategy) was always done by all DEVELOPERs and NOT the product owner and NEITHER the scrum master. Yes, listen well: The persons you claim to dictate your estimation are all supposed to stay COMPLETELY SILENT when it comes to estimations!!!

            And yes, this is all very well explained in all Scrum guides, I read. Btw. common sense might help to get to this conclusion, too.

            I’m sure, you’re going to claim yet again that my argumentation is a “no true scotsman” or whatever nonsense. But instead, you should better do some serious research on how things *should* be and try to fix your company instead of telling us that Scrum sucks. Because you yourself would be much happier, if what you did was really Scrum. So go ahead and do yourself a favour!

            And even though I would expect this from every software developer as sth. that’s totally self-understood, I feel the need to explicitly point you to it: TRY TO UNDERSTAND what underlying ideas try to achieve what and why. That’s what I meant with common sense. Scrum is not a list of to-dos that are to be followed stupidly/blindly (which your company is obviously doing – and not only blindly but also incorrectly!), but everything in it makes sense. If you think that sth. does not make sense, there are 2 possibilities:

            1) You didn’t understand it (very likely) => do more research.

            2) It simply does not match your project / situation => change/adapt it so that it does make sense in your context! The idea of Scrum and all other agile methodologies is that you (and everyone you work with, including the product owner, btw.) develop yourself and your way of working/cooperating.

            • 1. insulting me does not help your cause. Have you ever heard of an analogy? Just because I have knowledge in other areas except software development does not give you the right to insult me.
              2. I never said everything should be specified from start or changes do not happen. What I said is that changes take time in some cases a lot of time and work. Methodologies before XP and Agile understood this thing and told the client upfront how much more time and money the change will take. Agile Scrum apparently thinks changes are done instantenous.
              3. there is something called optimization. If you make the code extremely flexible you will make it hard to optimize. Talent is managing to balance the two. Just as a blade needs both resilience and flexibility so does the code.
              4. The Scrum Manager actually just relays the estimate that was already decided by upper management and the marketing division. And because they are the ones that pay your paychecks is impossible to contradict them. Maybe in a perfect world things would work as you said but here in the real world things work as I said. What is supposed to be and what is are two different things.
              5.You show no common sense or logic just as a manager. You say you have been a programmer for 20+ years but you seem to has missed the most important thing: programming is not the same as adding labels on tin cans as Scrum apparently believes, it is a work of creation.
              6. Scrum has too many meetings and does not understand that for a programmer an 10-15 minutes meeting means 1 hour lost and that a 30-60 minutes equals a half a day loss.

              • 1. I don’t insult you. You claim to be a software-developer, but your way of arguing contradicts this – at least in my opinion. And if you still don’t understand why your analogy is a very bad one, then I continue to stick to this opinion. Maybe you should try to refactor a compatibility layer into your house between basement and ground floor 😀

                2. Nonsense. Neither agile nor scrum says that everything can be done instantaneously. But they force you to package work into parts that leave a visible progress and that are complete after a well-defined time frame. And that’s actually very good for many reasons. I told you to read and try to understand the underlying ideas. It seems you didn’t do this. Otherwise you’d know what advantages it has to limit a single development package (named “story” in Scrum) to 2 or 4 weeks instead of allowing death marches to happen.

                And again: If you encounter one of these extremely rare situations where this is absolutely impossible for very very very good reasons, nobody stops you from talking to the product owner and agreeing to stretch the development extraordinarily over multiple sprints. Scrum does not promote dogmas but healthy communication between all stakeholders.

                3. I totally agree and never contradicted this.

                4. Well, there is no “Scrum Manager” in Scrum. If you have this role, you likely don’t do Scrum.

                Again: RTFM! Here’s a URL, because you seem unable/unwilling to search for yourself: http://www.scrumguides.org/scrum-guide.html#team

                If you mean “Scrum Master”, then again RTFM. Is there anything written about dictating estimations? No! See? You are not doing Scrum! And if you understood, what “no true scotsman” actually means (please read this up, too!), then you’d know that this does not apply, because the definition of these roles is very clear from the beginning. Nobody changes the definition during the discussion. So don’t start with this “no true scotsman” again as you did so many times before.

                And one more time RTFM: “The Development Team is responsible for all estimates.” Search for this phrase in the Scrum Guide! See this? This is what Scrum clearly states. If your organisation handles this in a different way, then it simply does not do Scrum. Point. There is no way to discuss this away, because this is one of the clear definitions.

                I said that you may change things in order to adapt it to your needs, because Scrum is not dogmatic. This is – of course – only true as long as you don’t break the very core ideas of it. Having someone else than the developers doing the estimations does go against the basic principles. As soon as you do such fundamental bullshit, you simply don’t do Scrum anymore.

                If in your “real world”, Scrum does not exist – which everyone bothering to compare your description with the scrum guide easily sees -, then don’t bash Scrum! In MY REAL WORLD SCRUM DOES EXIST – and is a lot of fun and very productive.

                And again I can only repeat what I said before: Rather than bashing Scrum, you should read what Scrum is supposed to be and then fix your company. You’d be much happier after introducing Scrum to your workplace and replace this bullshit methodology your company is currently doing – which is harming itself, btw., seriously.

                5. I know very well what software development means. Thanks. I totally agree that this is a creative and very time consuming process requiring heaps of talent, which I have and which Scrum fosters.

                6. Nonsense again. If this was true, I could/should never take a 10 minute break, drink coffee with a colleague and return to work.

                I totally agree that being interrupted when you’re in *the* *flow* is a very bad thing!

                But 1st Scrum tries to address this issue by scheduling meetings with the product owner at regular times in advance. This is far better than to be interrupted again and again by him asking for the current state of development – which is his right as he’s paying the bills. And 2nd the meetings inside the team are very beneficial for the team, itself – just like drinking a coffee with a colleague and discussing the current work with him.

                Additionally, one single 15-minute-meeting every day is much better than the non-time-boxed endless meetings I’ve encountered in non-Scrum-companies. Btw. all meetings in Scrum are time-boxed.

                • 1. It is a good analogy because a software has a structure with a base of code a body supported by it and the roof which is the interface. Basically it is layered by complexity. And you did insulting me but saying I am not a true programmer as Ii have a different view than you on this which is based on knowing multiple disciplines
                  2. they are not extremely rare situations. If you want to be coherent and not a mess then you cannot split it into smaller pieces for ever. After a while those pieces are no longer relevant. It is called ireductible complexity.
                  4. No it is not anything there dictating estimations but the Scrum Master is actually a middle manager and he dictates how long it will take. I know it is not Scrum but this happens in reality because they have the upper hand. “Rather than bashing Scrum, you should read what Scrum is supposed to be and then fix your company.” you made me laugh. As a programmer I do not have the power to make that changes. I can only make suggestions that will generally be ignored.
                  5. No, Scrum does not foster creativity. Forcing the work in small timed boxes is not advantageous to creativity. The model where you agreed upon a deadline with your direct superior and then he left you to do your job until then instead of having you fill tons of reports and have tons of meetings is what worked not Scrum. When you divide tasks in pieces so small as Scrum requires you cannot be creative more. Iit is a constant death march and you have no time for creativity.
                  6. a 10 minute break is not the same as a 10 minute meeting. In a 10 minute break I can still have part of my mind concentrate on what needs to be done and not break the flow, but meetings are exhausting even if a 10 min one. ” This is far better than to be interrupted again and again by him asking for the current state of development – which is his right as he’s paying the bills.” no, it is not really his right. This is called being a needy client. Normally you would agree about how much it would take to complete a specific task and until that time ended you should be left to do your work. If during that time you get interrupted more than 2 times is bad and you should find a less difficult client.
                  “just like drinking a coffee with a colleague and discussing the current work with him” what a load of crap! Please stop excusing this humiliating visibility to people without the basic understanding about how programming works! Bureaucracy is not a good thing no matter how much you want to defend Scrum. “Btw. all meetings in Scrum are time-boxed.” so you mean you get logged story points for attending meetings? Because unless you are Scrum master you do not.

                  • 1. The software I’m usually working on is comparable more to a city than a single house, because it is far more complex 😉 Also, a city allows for refactoring in a certain degree, while a house does not. You’d have to tear things down in order to change the basement, for example. This is not the case with software.

                    Additionally, just like city planning is only possible in a very limited way – many things just happen in a city, because various stakeholders have their own personal interests – the same is often the case in large software projects. Again, the analogy with the single house sucks.

                    But the analogy with a city is a bad one, too!

                    Software is sth. that is built totally differently, behaves differently (e.g. it is far less fault tolerant – take a missing street: it causes people to drive on an earth rode; while a missing link in software is a show stopper), can be transformed (=> refactoring) more easily etc. etc. etc.. There are just far more differences than similarities. That’s why both analogies simply suck.

                    2. If you can’t split your large stories into smaller stories which fit into a 4 week time-box, then there’s sth. seriously wrong in your company, your software or you. I never needed more than a few days for every story I encountered so far. And I was usually able to split it further into tasks, with each task being completed in at most 1 day (usually) or 2 days (rare exceptions).

                    If your story is a large refactoring and you can’t split this into multiple stories, maybe your approach is wrong: Why not develop a new replacement for the old module (rather than refactor it) and then slowly move the other modules over? Maybe with a compatibility layer? This may take longer in the end than a single large refactoring, but it has the great advantage of having a functional, usable software nearly all the time – rather than having a huge construction site (often a pure mess) being open for an entire year. Especially with large projects and many devs working on them, such a huge single refactoring becomes very very very hard to manage.

                    I cannot tell you more without concrete knowledge about your software projects and your stories, but I can tell you for sure that it’s not Scrum which is wrong mandating stories to fit into 4 weeks, but sth. in your environment is very wrong, if you don’t manage to do this.

                    4. No the Scrum Master is NOT A MIDDLE MANAGER DICTATING how long it’ll take! I can only repeat: If this is the case in your company, then you just don’t do Scrum. And as I pointed out with the URL to the Scrum guideline, this is clearly specified. If you don’t stick to the specification and you screw up, then it’s you (or in this case: your company) that is to blame AND NOT SCRUM.

                    “As a programmer I do not have the power to make that changes. I can only make suggestions that will generally be ignored.” Then change the company! And tell them why you do!

                    Blaming Scrum for things that your company screws up, even though Scrum clearly tells the opposite, is definitely wrong and neither helps you nor anyone being interested in Scrum (and stumbling over this article while doing research). It doesn’t help your company either. They should know that their bullshit methodology is not Scrum.

                    5. “fill tons of reports” WTF?! Show me the Scrum guidelines that tell you to fill tons of reports! I’ve never done that in any project and again this is sth. that has nothing to do with Scrum.

                    “tons of meetings” What nonsense. Show me in the Scrum Guide which tons of meetings you mean. Scrum specifies a daily 15 minute meeting called “Daily Scrum”, which is for the development team alone. Go ahead and read: “The Scrum Master enforces the rule that only Development Team members participate in the Daily Scrum.”

                    Again: No superiors in your daily meeting! So where’s the unidirectional transparency you hate so much?! Is it your fellow developers you’re afraid of?

                    And again: The Scrum Master IS NOT YOUR SUPERIOR!!! In most projects I encountered, the Scrum Master was someone external who was hired because of his expertise in Scrum. But it may – of course – be an internal employee, but this person has nothing to dictate to you other than that you stick to the Scrum rules (including all changes you [devs + product owner] agree together). The main purpose of the Scrum Master is to clean up impediments that are blocking your work. In my experience, most of the time this means kicking peoples’ arses OUTSIDE our dev team to provide specifications we’re waiting for.

                    Again back to the interruption of the flow: Why don’t you schedule your daily meeting directly before or after lunch break? In this case, you interrupt your work, anyway. Or don’t you do lunch breaks, because they interfere with your creativity? 😛

                    I really don’t want to re-iterate everything that’s well specified in the Scrum Guide, but for completeness sake: Besides the daily scrum, there’s only 3 more meetings happening ONCE PER SPRINT (i.e. once or twice a month, usually):
                    * sprint review
                    * sprint planning
                    * retrospective

                    If you don’t suffer serious communication problems, you cannot call these 3 (or 6) meetings per month “tons of meetings”. And if you have more meetings than this in your company, then again: It’s not Scrum, so don’t blame it!

                    “When you divide tasks in pieces so small as Scrum requires you cannot be creative more.” Nonsense! Scrum mandates that you break down stories so far that they fit into your sprint (usually 2 or 4 weeks in most companies I experienced). IMHO, you can’t become creative at all, if you don’t succeed in becoming creative within a 4 week period! I myself manage to become creative within a few hours, btw. 😉

                    Besides the Scrum Guide’s specification about the sprint-long stories, it is often practice to split down long stories (probably longer than 1 day) into tasks. As said: This is not a Scrum requirement and even though I personally do & recommend it, you might not do it, if you don’t want to.

                    6. As already said: Schedule your daily scrum in a way that makes you happy – e.g. directly in the morning (of course this has the disadvantage that everyone must be there – I personally hate mornings 😉 ) or directly before/after lunch break (I prefer this). Then no work is interrupted.

                    “This is called being a needy client.” … “you should find a less difficult client”
                    Since you have a problem to meet your product owner once in 2 or 4 weeks (how long are your sprints?), I assume that you expect your client to pay for much longer periods without ever talking to you?!

                    Honestly, this is the worst nonsense I’ve ever heard! I myself currently build a house. I go there far more often than once a month and seriously nobody considers me a “needy client” it’s – at least where I live – considered totally normal to take a look at your house project at least once a week.

                    You like the house analogy, so now I’m the one to use it, because in this aspect, I think it fits pretty well: I – the customer – pay heaps of money for my house/software to be built. So I want to regularly see progress and I demand explanations, if I don’t.

                    If I’m the vendor, use scrum and my customer (the product owner) comes to me once a month (or twice, if I use 2 week sprints), I think this is a very fair version of what you yourself describe as “Normally you would agree about how much it would take to complete a specific task and until that time ended you should be left to do your work.”. What you call “task” here is exactly what a “story” is meant to be. And of course, my customer paying my bills wants to see progress.

                    I cannot believe at all that you – in my position building a house – would give the construction company all the money in advance and come back a year later. This is totally ridiculous!!! 😀

                    And btw. I personally find it ridiculous, too, that you call this once-per-month-sprint-review (when you present your work progress to your product owner) “humiliating visibility”. I think you have a totally broken relationship to your customer!

                    And yes, for the development team, the product owner is the customer, even if he is part of the same company (same or different department doesn’t matter either). Hence I use these 2 terms interchangeably.

                    “you get logged story points for attending meetings?” I don’t understand why I should get logged story points for a meeting. And no, a Scrum Master does not get logged story points for attending a meeting, either. You really confuse things!

                    Concerning money: I’m an external expert and I charge a bill for every single hour that I work – no matter what I do in this time, i.e. including all meetings. If you are an internal employee, you get a salary and have a fixed work time, so again, you get paid for every minute, no matter what you do.

                    The story points are totally independent of money in the first place: They primarily serve the customer (and whoever else is interested) in giving a rough estimation as to when which features (described via stories) are going to be shippable. If features seem to come too late (the customer knows his market), he might want to add more developers (if the team size is not at its limit, yet) or he might want to change priorities.

                    Of course, money and shippable/usable software are somehow being related indirectly via story points. But this is sth. very indirect and the team as a whole is responsible for its progress – not single developers.

                    Maybe I have to interpret what you’re saying differently: You are afraid that you’re kicked out, because you’re too unproductive?! Well, in all teams I’ve worked with, we kicked out underperformers. But note: That’s fellow dev team members, not superiors (!), who kick these people out, because we don’t want to work with people who should better do sth. that’s not software development. And the reason is not that these people are slow, but that these people write bad code that I have to clean up, which often is more work than writing it new.

                    Don’t get me wrong: I train people whenever I can (I even teach voluntarily at universities from time to time). Scrum, btw. recommends pair-programming for this purpose, which is really helpful and I do this as often as I can! But if I feel that my coaching efforts are in vain, then I stop burning my time with this person.

                    And if my customers ask me who I like to work with and who I dont – and why -, then of course I answer honestly. I practice open communication with all my customers. I tell them what rulez and what suckz – including my colleagues.

                    • I forgot to ask you what type of software you develop. I am guessing is mostly frontend.
                      1. Ok, if you want to say a city is a city and each building is a module. But you normally do not work at more than one module (building/house) at a time so my analogy still stands. Also this does not change the fact you should be mindful of already present infrastructure. If you build a tunnel under a flat and you are not careful you get a collapse.
                      2. Scrum specifies 1 to 4 weeks and most companies adopt the 1 week interval. Also in some cases no you cannot. If you do backend work especially on the type of software with little to no interface you will see what I mean.
                      4. I partially agree with this but when 90% of companies do the same thing…. guess you can understand where I am going with this.
                      5. this is related to the story system. Everything needs logged even though many times you are just researching ways to fix something.
                      yes a daily 15 minute meeting means 30 meetings a month which is too much. Also they are not just with the team members usually but also with the client. And here is the deal: if I need to discuss something with colleagues i do not need a daily set meeting for this. I can call, mail or message them on the spot and have a discussing as soon as they are available instead of waiting a whole day. i am not a kindergardener

                      “I myself manage to become creative within a few hours, btw” again it seems you did not have to deal with backend complex problems but only frontend.
                      6. the client meetings are daily or weekly in most cases not once every 4 weeks and even though is a bit much. About the way you twist the house analogy you would not pay all the money upfront just an advance and each installment as something is finished and according to your specs. Never heard of anyone to pay for stuff like this upfront.Software itself is paid at completion in normal methodologies not upfront. You do not deliver you do not get paid. Also the story system promotes bad code because it measures how much you work not the end result. So if I deliver buggy code I will get points for the code and extra points for the bugfixes. I do not use that strategy but many do and get tons of points and praises. Also you say you go to the site of the house being build often. Let me ask you: do you interrupt the builders every 5 minutes with comments and questions? Because this is how Scrum is like. To explain why is bad to measure how much someone works but instead measure its results let me ask you this: would you prefer workers that work a lot and hard but the end product is buggy not optimized and low quality (Agile) or do you prefer a “slacker” that at the end delivers you good quality product? the primary measurement should be at quality not at speed or how much work you actually do. I could finish a 4 weeks assignment in 3 and spent the next one doing nothing. Does that make me a slacker?

                    • 1. I work mostly on backends, but I do frontends, too. Honestly, I think this should not be separated, even though it often is. And yes, Scrum is perfectly suited for backends, too. We even had a project a few years ago, where our entire team did only backend-work (we provided REST interfaces) and another company, i.e. another team, developed the front-end.

                      In our reviews, we presented our integration tests which demonstrated how the REST interfaces interacted with the mock-client – communicating via REST and dumping all XML to a console. We presented the tests to the product owner, explained them a bit (why is this testing exactly his story) and showed the XML and other test input/output data.

                      I have done very few projects with sprint lengths of 1 week. Most projects were 2 or 4 weeks. But even then: No problem! I can tell the product owner that story 1234 is not yet done, because we didn’t manage it in one single sprint (I might even tell him before, if the teams estimates indicated this in advance). He’s going to see the work result in the following week then. I really don’t understand why this should be a problem. If the sprints are this short (only 1 week), then it of course happens that stories spread over 2 sprints. But with 2 week sprints I’ve very rarely seen this and with 4 week sprints not a single time.

                      4. If 90% of the people say that the world is flat, they’re still wrong. Scrum specifies pretty clearly what to do. As already said: You can stretch things and still call this Scrum with all reason (e.g. using 6 week sprints wouldn’t disqualify IMHO), but you can’t cross certain borders.

                      Conflicts of interest are such borders. That’s why Scrum declares clear roles. If your Scrum Master is a middle manager and behaves like your superior (again he should be more your servant than your boss!), your company crossed the border and it is not Scrum, anymore. No matter how many %% of the companies call it this way.

                      Btw. I encountered many companies who were introducing/learning Scrum and made mistakes. But whenever I pointed these mistakes out (e.g. the Retrospectives are perfect for exactly this), they adapted and slowly got better.

                      5. For research, i.e. if you don’t really know how to solve a certain problem (i.e. to implement a story), you should do a specific research-story, before. We usually call this a “spike”.

                      I drink about 5 coffees a day. That is 100 coffees a month (counting only work-days). The total number does not matter. It matters, whether it’s helpful or not. My coffees are btw. 😀 And 20 times a month a 15 minute talking round WITHIN the DEV TEAM has far more benefits than disadvantages.

                      “Also they are not just with the team members usually but also with the client.”
                      I already pointed out before that Scrum clearly states that ONLY DEV TEAM members are allowed in the daily scrum. In my personal experience I can say that we sometimes invite the product owner to clarify open questions, but this is only allowed, if the dev team members agree. I never had fellow devs who had such problems meeting the product owner, hence nobody objected these invitations and btw. the product-owner can be told to leave earlier (before you speak) or later (after you spoke) so that I can clarify my open questions with him, without exposing anything of you, my colleague.

                      “you did not have to deal with backend complex”
                      Nonsense. I’ve written heaps of backend-code, already in my life. And I wouldn’t even agree that it is more complex. Frontend is a bitch 😉

                      6. “the client meetings are daily”
                      As said: You should meet the customer once per sprint. And 2-week-sprints are the most common in my experience, i.e. you meet the customer twice per month. NOT daily.

                      “About … the house analogy you … pay … an advance and each installment as something is finished”
                      Exactly this is how Scrum works. The stories are the specification and after each sprint you show what’s finished. And you get paid for this.

                      “Never heard of anyone to pay for stuff like this upfront.”
                      Where I live it is normal to pay each milestone for the house upfront. But only one single milestone.

                      “Software itself is paid at completion in normal methodologies not upfront.”
                      That is highly dependent on your company’s contracts. And in my experience, when using Scrum with your customer, it is common that he pays monthly (usually charged by the hour).

                      “You do not deliver you do not get paid.”
                      Again: Depends on the contracts. You can’t generalize this.

                      “Also the story system promotes bad code because it measures how much you work not the end result.”
                      Wrong, because story points are *not* meant to be a measurement for individual software developers!

                      “So if I deliver buggy code I will get points for the code and extra points for the bugfixes.”
                      In your company, there are many things very broken. You already said, you can’t fix it. Hence, I really don’t understand, why don’t you switch to a better company?!

                      “Also you say you go to the site of the house being build often. Let me ask you: do you interrupt the builders every 5 minutes with comments and questions? Because this is how Scrum is like.”
                      I don’t know how often I should repeat: RTFM. The Scrum Guide clearly states that you present your work to your customer in the sprint review, which is at the end of the sprint, i.e. once to 4 times per month. The idea of Scrum is exactly to PREVENT your customer from calling you inbetween! Exactly for this purpose, the sprint concept was devised.

                      “To explain why is bad to measure how much someone works but instead measure its results”
                      I’m a software developer myself and you don’t need to explain to me what qualifies good software and a desirable work result. And with Scrum (or agile in general) done correctly (or at least trying to do so), my experience clearly teaches me that teams achieve far better code quality!

                      You keep stating that Scrum (or agile) sucks, because your company does it this or that way. And according to you, this has these and those bad effects in your company. I’m sorry, but I pointed you already to one web-site and quoting some sentences from the Scrum Guide clearly demonstrated that your company is *not* *doing* *Scrum*. I don’t have time to do more of this for you. Search yourself how things are supposed to be and WHY Scrum (or agile) says so and you’ll find out that many of the problems you described are exactly the reason why Scrum (or agile) specifies certain approaches (and discourages others).

                      Companies like yours that claim to introduce Scrum but stick to pre-Scrum bullshit are not helpful at all to discuss things we could improve even further.

                      Thus, if you want to seriously discuss how Scrum could be improved (I’m sure there are things), you should first make sure you’re not infringing on the basic principles even EXPLICITLY stated in the Scrum Guide – let alone implicit things derived from them.

                      If you can’t even walk, there’s no point in discussing how to improve your running technique in order to run a marathon.

                    • Marcongui, after reading your previous comments in this latest thread with cyp, I almost invested a ridiculous amount of effort into arguing many points you made. Then I quickly realized there is probably no point in doing so, so let me just put some of my observations out there:

                      (Note: please don’t make any false assumptions about me agreeing with any points cyp made, or the ways he made them.)

                      1. Some of your comments can be easily taken as an offense/insult. That’s not something you decide, sadly or luckily. (Examples: calling a developer a non-developer; or using the F word.)

                      2. For someone using RTFM so often, and referring to the Scrum Guide so often, some screaming misunderstandings or unsubstantiated statements about your choice of framework is a bit puzzling. Just to name the two most notable ones:

                      2.a. Stories. Note that Scrum has absolutely *no* notion of stories. You are mixing a different common “agile practice” into Scrum, which renders your iron-clad arguments about Scrum unreliable and RTFM-like comments ironic.

                      2.b. Less meetings. For a 4-week sprint (20 days, assuming 8-hour working days), the amount of prescribed meetings is as follows: 8h (Sprint Planning) + 20*1/4h (Daily Scrums) + 4h (Sprint Review) + 3h (Sprint Retrospective) = 8h + 5h + 4h + 3h = 20h = 2.5d. That’s 2.5 days out of 20 days for *prescribed* meetings, or 12.5%. Note that we cannot count in the famous “Product Backlog refinement” as it’s an “ongoing process” which is not quantified. (And let alone the praised co-location and non-stop face-to-face communication as it’s not relevant to the Scrum Guide.) I’m not sure about your experience, but in somewhat functional pre-Scrum or pre-agile environments I often had less than this.

                      3. I don’t think it’s a good idea to completely deny the “no true Scotsman” aspect of the argument. There are many dysfunctions and rotten environments disguised/called as Scrum/Agile out there (let’s stick with Scrum for the example), and even though this fact doesn’t change the definition of Scrum, or cannot put the (full/partial) blame on the designers of Scrum, it still does not change how many, many organizations/teams/individuals perceive Scrum. Some analogies:
                      3.a Communism. You could argue about the ideas/ideals, but many find/found it great, and yet — due to poor implementations — there seems to be a wide agreement about “communism being bad”. Or at least you cannot hear the opposite often publicly.
                      3.b. Life, universe, and everything. Let’s say the Designer/Creator created a perfect World. Then somehow (humans?) it all went a bit down. Do we still call it a/the World? Do people blame the Designer/Creator?
                      I know the examples are a bit far-fetched, but they might still be helpful.

                      I’m not saying you are wrong, as you are making good points too.
                      All I’m saying is you are taking it too far and should not assume that you’re always right about things incl. your choice of tool — what you describe is *not universal*, it’s *your* experience. I also don’t see the value in going down the arrogant salesman path.

                      Good luck, and don’t take me wrong, there is actually some value in your conversation, even when it gets heated. Peace.

                    • Hi Patrik,

                      thanks for your valuable feedback!

                      1. I totally agree that people might understand my statements (and some people even everything) as an insult. I didn’t *mean* them as such and tried to point this out.

                      2.a. You’re absolutely right that the word “story” does not appear in the Scrum Guide – http://www.scrumguides.org/scrum-guide.html#artifacts-productbacklog – I referenced. Instead it uses the term “Product Backlog item”.

                      However, this guide is not the only literature written about Scrum. In many other texts, the word “story” is used. I don’t have time to look up things for you and honestly I expect people to do a little bit research themselves. But I did the IMHO most straight-forward lookup, which is the Wikipedia – https://en.wikipedia.org/wiki/Scrum_(software_development)#Product_Backlog – and you see this sentence there:

                      “Items added to a backlog are commonly written in story format.”

                      So what do we learn from this? That a “story” is actually a product backlog item in a certain form.

                      Well, in my experience (1) it is the only form of backlog items I ever encountered and (2) everyone I ever talked about used the word “story” as alias for “product backlog item”. But you’re right that a story is only a subset of all the backlog items that are imaginable.

                      Having again written quite a lot that should IMHO be self-understood, I fail to see how using the common alias “story”, that’s well defined in lots of Scrum-literature and the Wikipedia renders an RTFM ironic. RTFM doesn’t mean that you should read the only link I provided. It primarily means you should do some research of your own, before you bash things, based on assumed failures in the specification that in reality clearly contradict the specification.

                      That’s like using a library, not reading its documentation and then filing a bug, because passing a null argument causes an exception, even though documentation clearly states that null is not allowed.

                      Whether I use “story” or “product backlog item” doesn’t change this in the slightest way.

                      2.b. You’re right that software-development might work very well with less meetings. However, most companies I encountered that didn’t use Scrum tended to have many more and most importantly far longer and unproductive meetings. A few also had too few meetings causing other problems (originating from a lack of communication), but I don’t want to elaborate this now – it’s again getting too long, anyway.

                      Additionally, AFAIK the Scrum Guide pretty clearly states that all these meeting time-boxes are maximums. If your team works well with less meeting time, then shorten them!

                      3. I’m not a native English speaker. So the first time, I encountered this “no true scotsman”, I didn’t understand it. Hence, I looked it up and found a very clear definition:

                      “No true Scotsman is an informal fallacy. … When faced with a counterexample to a universal claim, rather than denying the counterexample or rejecting the original claim, this fallacy modifies the subject of the assertion”

                      This clear definition contradicts its usage here in this forum – which was what I criticized. And you implicitly agree to this:

                      You wrote: “There are many dysfunctions and rotten environments disguised/called as Scrum/Agile …, and even though this fact doesn’t change the definition of Scrum”.

                      Why is this agreeing?

                      (1) there is a clear definition of Scrum (the “subject of the assertion”).

                      (2) these dysfunctions *don’t* *change* *this* *definition* (i.e. no modification of the subject of the assertion).

                      => It is not a “no true scotsman” – as simple as that.

                      I totally agree that one of the improvements that might be needed is the creation of a guide “how to prevent misimplementing scrum” or “what to do as an employee if my company fails at introducing scrum”. But this is a totally different conversation than “Scrum sucks – we need sth. else”. I hope you get my point: Scrum does not suck, if implemented correctly. And if someone states Scrum sucks, merely because his personal methodology fails, but totally contradicts the explicit rules laid out in Scrum, then it’s just plain nonsense.

                      Analogy from the well-known software-world: If you fail to use my library correctly, because you don’t read its documentation and because you don’t understand the problem my library solves, then you fail – NOT my library. Or do you disagree here, too?

                      Best regards, Marco 🙂

                    • Hi Marco, this is a reply to your latest reply, but for some reason, that one has no Reply button.

                      Not wanting to stir it up again, just trying to clarify a bit more.

                      Re 2.a. using “story” was just an example. I could’ve pointed out other things like: “Scrum, btw. recommends pair-programming for this purpose”
                      Again, not true. Nothing to do with Scrum. Scrum (as per definition) does not care *at all* about technical practices like that. (Whether or not that’s good is a totally different discussion, let’s say it’s fine as it is a framework not tied to software development.) Neither “pair-programming” nor “pairing” nor “programming” words even appear in the SG.

                      So you are using the exact same logic in your pro-Scrum arguments that you do not accept for arguments against Scrum: trying to prove your point with practices that are completely undefined in and outside the scope of Scrum.
                      Thus, I think it’s just fair to accept others’ “real-world experience” with Scrum, including things that are not defined in but often go along with Scrum. I think that’s how life is, and that was supposed to be the point of my apparently not-so-successful analogies.

                      Re 2.b. “less meetings” — what I was trying to say is that you seemed to assume Scrum means less meetings, but that’s not a truth, it’s *your experience* (and maybe the experience of many others). My experience (and maybe the experience of many others) was very often different. And that’s not necessarily due to misused Scrum, as even the prescribed meetings take more (%) than I had in some non-Scrum environments (that were not even called “agile” but were successful projects with working software, frequent releases, and happy team).

                      Re 3. Logically I could easily agree with your arguments about “no true Scotsman”, but then again, I’m not too fuss about definition, because… see 2.a.

                      In short, I just cannot agree with double standards and extremes. I think saying “Scrum works by definition and if there is any problem then you are doing it wrong” has the exact same value as “Scrum always sucks no matter what”. I see more value in listening to each other 😉

  226. This is by for the most negative view point of Scrum and Agile methodology I’ve read about. There are lot of personal opinions/bad-self-experiences stated as matter of fact in this article!

    Let me start by saying this ‘Being Agile is NOT easy’! This applies to individuals/teams/organizations alike. And many organizations tries to think Agile is magic bullet to solve all of their issues, but all it is a iterative way of learning your tough lessons sooner than later!!!

    At it’s core, Agile/Scrum is solution to problems like ‘analysis paralysis’, ‘highly complex and/or variable software expectations’ etc! This is not useful or effective in every software development project!!! if you know what exactly what you are building, a well thought out waterfall method is the most optimized method to build it!!!

    Coming to divers, this is not all business driven or Engineering driven! This is true negotiated and collaborative problem solving/ software building process! Where both product owners and development team are at the truly equal footing! The Scrum master is the negotiator, not the master of development team or ‘hidden’ a business rep on the dev team!!

    Scrum/Agile tries to achieve flexibility in scope but not in quality! If development decides (Product owner cannot force it!) to produce less quality out come under time pressure, that is not business fault!! Note they can always learn from each sprint and adjust how much they take in next sprint.

    Also the two week iteration is good for web projects where the out put is visible quickly to end users, I recommend longer sprints for non visual techniques such as framework/platform technology development projects. Also if team agrees, they can change the length of the sprint after any sprint.

    Hope my feedback gives more balanced view!!!

  227. Pingback: Don’t Let the Software Fashionistas Win | Lee Carter

  228. I think this is an amazing article. What you say about Scrum is dead on. I would draw a big distinction between Agile and Scrum. I like Agile. I hate Scrum. In the Agile Manifesto, there is not one word about sprints or deadlines. The Agile manifesto states: “Individuals and interactions over processes and tools”. Scrum on the other hand is process on steroids.

    My first experience with Agile was with a team where we created stories and put them on the backlog. As we completed one story we would pull the next off the backlog. There were no story points. There was simply an emphasis on getting things done.

    The article does not directly mention one of the biggest problems with Scrum and that is the widespread (mis)use of story points. In the Scrum classes I have taken the instructors have always emphasized that story points should not be used to rate programmers. Not all story points are the same and if a manager uses them to rate people, people will simply game the system.

    From personal experience I can tell you this is true. I worked at one company where I somehow ended up with most of the UI stories. I am principally a back end programmer. I can do front end but it is not my forte. To make matters worse, our front end development required writing Selenium tests. Our selenium code was badly in need of refactoring. It seemed to me I was getting more than my share of these stories.

    None of this mattered to my manager who was hell-bent on rating his reports by story points. After I had given notice my coworkers confessed to me that they were in fact avoiding stories that involved Selenium. I was correct that I was getting more than my share of these stories.

    Some comments have suggested that the problems with Scrum are not due to Scrum itself. They are due to people abusing Scrum. I say that the problem is that Scrum is easily abused.

  229. “Agile is just one mindless, near-sighted “sprint” after another: no progress, no improvement, just ticket after ticket after ticket.” Where did you hear that? I stopped reading after I read that sentence. Clearly not much knowledge or experience on the topic. No planning, no improvement you say? I say you’re doing it wrong.

  230. The agile scrum expects too much from the immoral mass. The honest are exploited and the others do not speak the truth. Those who are telling the truth are ignored because they habe already found each other. This is the point where the tough gets going if they can. Nothing new under the sun.

  231. I agree that agile as implemented reduces sense of achievement and quality with changing goal posts. I agree 6 month long periods of waterfall is too trusting and doesn’t give client confidence during process. Agile is waterfall just on a micro timescale with daily, sometime hourly feedback. That is where agile fails by constant interruption from building up speed and momentum in each user story. Jobs would be better divied up as 3 days worth with a short retrospective before moving on to the next job. Or something equvalent determined on a case by case basis by the developer taking the job on. The difficulty of the fixed 2 week sprint is every job doesnt fit nicely into that time period and worse the non-technical manager determines the time slots, not the developers who know how long and how efficiently they can take it on. The answer is using the right timescale for feedback and appreciating the value of giving trust to workers in bite sizes of time. The right answer is the workers on the ground, voting thr time period for the jobs they take on, and the project manager capturing the time plan, allowing room for error and feeding back to the client.

    • exactly. From my personal experience I would say around 3 months is the best time slot length but this may vary depending on the project.

  232. I agree that agile scrum forces you to do quick and dirty solutions without the possiblities of real needed iteration improvements (in general for any kind of developer – experienced or not). The dishonest employee often dies not admin that is was poorly designed (or he is just not an experienced developer). You can do that with small web projects or for components hardware development but not with extensive software. Scrum is made ​​for greater transparency for management at the expense of freedoms and creativity of a developer. Scrum makes developers to slave same as external staff, which can be put under pressure. Scrum can make people indifferent to the company. Indifference is pasiv hate. The day of iterative software development where to expensive. However, the ignorance stikes back.

    • Extensive software development has always a touch of something experimental and at the beginning of a project a very lot of uknown points, which can only be seen during development – unless you’re perfect. This has always been a problem for many managers what i really understand. If a developer gets a lot of freedom he could exploit this also. Today’s conditions are like that. Its no longer trusted but highly controlled. But common on the other side who wants to deal with 100tausend or million lines of code and satify all the managers wishes? Even 10000 lines of code can give you a lot of worries. But its not the hype of excessive documentation i want to point to here.

      My experience with our business-driven scrum is that development will take 4 times longer and
      still having no good software quality. The most people are not happy with it, but the pragmatic monthly cash receivers seems not to care at all about this.

      Software is an architectural pyramid and work should be done from top to bottom and from bottom to the top in high iteration much times more that you will ever do it in a scrum environment. And much times more in your daily work without explaining that in a daily scrum meeting. Who like to admin that he needs to improve a bit, especially our asian or cheaper external friends? The managers just want to save money among their employees, they also want to have scheduling concessions. They look around and find someone who will do it under which extreme conditions whatsoever that is.

      The software development should be more understood as in itself a comprehensive and sensitive and important issue. The confidence of the company is directed back to the employees as an irreplacable human capital. Success is not guaranteed, but there is no much better alternative. Software development is risk management. There is no absolute success garanty but everybody is doing his best in a environment of freedom. I like that thought and has nothing to do with pragmatism.

      Take a look at this old aricle from our well known Tom De Marco:

      Click to access rW_SO_Viewpoints.pdf

  233. Mike, I totally agree. Here are my 2 cents. Agile will die because professionals like us (engineers, software engineers, etc..) should not accept the humiliation of being told step by step what to do to deliver a good product and we no longer control the big picture and get to decide the steps required to deliver a product. We – engineers – are well trained individuals, frequently we have advanced degrees, we keep studying and learning – normally on our own – day after day, we are smart, ethical and driven to perform. A person like this should reject Agile, because it reduces them to a typing robot. You don’t tell a surgeon the steps required to perform an operation: the surgeon tells you, if you ask politely, Why should engineers be treated differently? Because we let them treat us that way. At work – huge telco company – we are using Agile… and it’s not working. All the senior engineers I work with, smart people who used to be in charge, are not enthusiastic about it – to say the least – and are not willing, anymore, to go the “extra mile”. Do you want to run a successful company? let accounts take care of accounting, engineers take care of engineering, etc.

    • I am a senior engineer at a large telco. We have been using Agile since 2013 to build a tool to Design, Orchestrate, and Manage network services. After 3 years, the system is clumsy, deficient in requirements, has a HUGE requirements backlog, and is not serving the needs of the intended users, mainly service designers and operations.

      Before Agile we were able to design, certify, and deploy new services in 6-8months.

  234. I am in this blog and can not do otherwise. And Mike – i like the honesty of your words and thank you for that. I do not judge you. In my case as a senior software engineer – scrum with this daily micromanagement bring the whole thing to overrun because of this side games not to failure within the unrealistic given deadline.

    In general we should not feel better or worse because of our whatever status and take this as a reason that we deserved something better. Bins truth is: software is nothing essential for life. The real problem is – a lot of software developers suffer and we do not admit that. A lot of us leave the business or had a burnout. If we do not give us pompous in an interview (i am the hero – and i can safe the company and can compensate the poor performers) – we do not get the job.

    We overestimate or underestimate us in our mental performance and we just neglect the complexity management (among other things) because there is just no time for it to do it right to reach at least the 80% of the product completeness as it should be. We are not the ones who wants to have everything shining perfect to the last detail (sure there are a few of those – welcome old antipatterns). To make it more sure to bring a project to a success we sometimes continue to work often from home for free, because you can not book it to a companies acount. I just can do work on, on what they allow me to book on.

    When we are looking for antoher new internal job (better, not service provider – price pushers – looking since years now for hard to find heroes/GODS), we are ready to take 4 additional other responsibilities beside with the software development sometimes – not having to drive several hours to work. By the way – a company is doing much better, if they develop their business logic internally – nothing new. Among all the curcumstances we do rapid and high quality development of prodcuts which sell to thousands and return a lot of money, if we are ambitious feel us resposible for a roduct/system and move mountains every day. The only one thing that we hear is – it took still far too long. Next time please meet the deadlines and work harder with that new even more restrictive process, otherwiese? The conditition i met in the last 4 jobs are just ungrateful.

    In earnest, my children i forbit to learn a job in software development. For real life useless knowledge.

    Sometimes I wish that I could be little bit less ambitious. This is not easy because i have a strong sense of resposiblity.

    PS: I do not like politics and political correctness because politicans do not often tell you the truth.

  235. It is amazing to read stuff like this. As one of the “agile survivors” I can affirm pretty much everything written in this story, as long as adding to the plate a few more points:

    1. Agile introduces to the team at least one non-technical toxic resource called a Scrum Master. This person is a bureaucrat who does not understand technologies and he does not understand the business. His real value is zero. However he is getting paid what avert budget for hiring additional productive technical resources, he also requires attention to address his bureaucratic needs (Jira updates,Sprint ceremonies etc) . Also this person often derail development process from the “right thing to do” to “agile thing to do”. And because agile is just a form of bureaucracy the “agile thing to do” is a bureaucratic way what is rarely a right way.

    2. Once Agile fails and it always does there is no one left to pick the garbage. Agile always ruins companies to the ground. Agile experts and paid consultants teach to adhere to Agile principles with religious dedications. So management is not paying attention to the fact that best resources leaving, that productivity got dramatically reduced to luck of addressing of complicated issues. Management think that agile will eventually solve all this problems. By the time it is clear that agile will solve nothing it is too late: Best and even not so best resources are long time gone, the large technical problem became HUGE problems and there is no other chance but shut the doors and close the business/project.

    3. Agile puts extremely low requirements to the administrative stuff (managers, product owners, scrum masters). Those people by default could be absolutely incompetent and it is assumed that developers will do with lousy requirements trough the set of ceremonies as backlog refinements and status meetings. So why to write good requirements if developers would take care about refining them (digging trough the pile of garbage during the backlog review meetings). Why to put a senior technical person in charge of development process if this person would be present on the regular meetings anyway and and in one way or another would explain less senior people what they have to do or in worst case scenario we just drop work on him and let him handle the spill over of the work from less productive team members.

    .

  236. Agile/Scrum are definitely inhumane.
    All the pressures are thoughtlessly put on the software engineer/developer’ heads.
    Even factory workers are not treated like that.
    The engineers/developers should take legal actions on greedy organizations / managers
    who use these inhumane methodologies.
    Stupid, lazy and greedy managers who are so afraid of work are normal love these methodologies.

  237. If the evildoers are evil then why give the tool to the evildoers ??
    All the pressure are put on the software engineer’ heads.
    Even factory workers are not treated like that.
    The engineers/developers should take legal actions on organizations
    who use these inhumane methodologies.
    Stupid, lazy, incompetent and greedy managers who are so afraid of work normally love these methodologies (since they never did any work themselves and are unable to understand and appreciate the work that engineers/developers do).
    Besides, the short-cycle made the engineers/developers feel nervous about the deadlines and because of that creativity is killed. Organizations that implemented this kind of ‘methodologies’ are not only greedy but also short-sighted.
    Engineers/developers have life and family too. They should not be exploited on a daily basis like this.

  238. Agile summarily abandons years of learnings in software engineering. For example, Software Reliability Engineering is excluded from Agile with the erroneous calculation that “Agile does not lend itself to SRE”. In the age of cloud computing where enterprise network services will be provided via the cloud using Virtual Network Fumctions (VNFs), 99.999% reliability via software is already highly questionable, but the elimination of SRE metrics means you can’t even estimate the reliability that you are getting. Defect arrival rates and operations profiles are gone, replaced by scrum teams and other useless practices.

    How is this even happening?

    • This comment is spot on. As to how agile is happening, I have a memory of what happened at my old company that may explain this. Agile is embraced by managers (especially the non-technical ones), junior engineers and anyone who has an ax to grind against experienced software engineers. Control is placed it the hands of non-technical people (which is a real ego trip for them) and the software engineers that actually know how to create software are relegated to assembly line type work. In other words, uninformed people who are ignorant or resentful of the actual process of software development can start believing that the process is not actually complicated after all. It’s all an ego trip. And the agile/scrum consulting firms make a fortune selling this crap to companies so they are happy too. Except that the consultants don’t actually have to develop software with it.
      One caveat. Agile/scrum might work well for web development. Small, easily defined pieces that can be rolled out piecemeal but not for mission critical application software.

    • My one experience with Scrum was pretty good, actually.

      Two things helped.

      First, Scrum Master was a rotating position, we didn’t have an outside and especially we didn’t have a manager. In fact out manager was scrupulous about being hands off for the daily meetings.

      Second, the code base was clean, and there wasn’t too much pressure to hurry, hurry, hurry.

      Take either or both of those away, and it could have been the kind of awful experience described by people here.

      • When done well, there’s nothing wrong with scrum, but too many companies do it very poorly. They use it to pressure engineers by putting bi-weekly deadlines on things. Giving time estimates for projects is notoriously difficult. The book The Mythical Man Month talked about this 40 years ago. Too often managers use Scrum to hold engineers to deadlines no matter how unreasonable. If management is reasonable in its expectations, can work well.

  239. As anyone else that worked with SCRUM (or Agile) I absolutely agree with this post.
    Agile have something good, but mostly bad things.

  240. Scrum master is position when you do not want to code but still want to get more money then developers.
    As Scrum master, you do not give task to developers, because they take it themselves and when the output is not good you blame it on product owner for bad description of task.
    That is why my next job will be scrum master.
    And, if people are honest about it, my comment should be visible to others.
    Oh yeah, and for company owners or bosses that have no clue in programming, scrum is ideal tool for micromanagement of your developers.

  241. Intentionally written article.

    This is a big misinterpretation. If we fail we blame.

    Stop using smartphone and use legacy phones.

  242. Thanks for sharing your insight. I am not a developer but I cannot imagine (true as opposed to some version of) Scrum ever being used to develop a comprehensive system like ERP from scratch as the only methodology. It makes sense, however, for an add-on, improvement, crisis solution management or the development of a mobile app with limited functionality. An approach to accelerate a project with limited lifespan.

    While I can also see that agile thinking can be applied to anything, including SDLC, to reduce the lead time, it requires expert interpretation of lean principles. Agile claims to be based on lean but the history of lean is based on making a precisely define product more efficiently. Of course lean thinking has been adapted through interpretation but the premise is that the outcome is always very well specified.

    Having read some Scrum approach explanations, which are quite uniform incidentally, I can identify with the application of several lean principles but the fundamental question remains in my mind – without knowing / starting with the end in mind how can Scrum be used, other than an initial exploratory approach, as any road will get you there? The chance of stumbling on a good sustainable path is statistically unlikely.

    I also realise that there is immense value in learning through empirical experimentation, especially because users / business managers are not able to articulate their needs well at all. But at some stage the point of diminishing returns is reached and the learning needs to converted into a more traditional approach. It is like growing an organism without knowing the DNA which is to be repeated in perpetuity as the fundamental building block. Small variations in configuration have very different outcomes but the common core is unchanged.

    Some may even argue that for example Facebook evolved using an approach like this – and is deemed very a successful application. But then it was never started with the current product in mind and has evolved I gather based on empirical experimentation. If it does constitute an example of an agile approach to the development of a comprehensive application then it seems to be an exception in terms of evolving into something highly successful.

    Has anyone who is a Scrum practitioner got any meaningful case study to share of how a comprehensive system was developed from scratch using this approach alone?

  243. WOW! What a WELL written article. You hit the nail on the head about Agile/Scrum etc.. I have worked in Waterfall and Scrum and in my 30+ in software development – IMHO – both are FAILURES!

  244. Very nice article and recognizable. Nowadays, the process seems to be more important then the content. Look around and all these article about the search for True Scrum. No one knows.

    Agile taken literally (flexible) has always been around. As a programmer progressive understanding is part of the job. When you start you know want to go somewhere somehow. In time you gain better understanding, as a programmer throwing away or rewriting code. I think this holds for all aspects of an IT project. Time we will give you the answers. There should be room for this. But when you make your choices it is not possible to say, let’s go for something completely different. Sometimes I have the idea that this last attitude is agile in practice. Using the scrum micro management method to produce business whishes in these so called sprints (brrrrr I hate the scrum terminology).

    My second view on agile is flexibility as a condition of the software. Where do you expect in what way software should be flexible in the future.

    On the agile manifesto, yes there are some open doors which make sense. Debating about contracts is counter productive (which makes you wonder why outsourcing is so popular). But I also read ‘working software over documentation’. Unbelievable. Resulting in discussions about if you should document or not! Or is documentation the product backlog?

    You already described it in your article programming and developing software is a creative activity in which you have to think, read and reconsider. In the scrum-agile world you are degraded to a role in which you have to do what the process managers want you to do. Let alone the childish micro management rituals.

    So, in my opion all the process management roles should be deleted. If it is scrum but also the other kanbans and leans of the world. It will save a lot of money and it will improve the productivity. One half of the workers managing the other half of the workers is the disease of the time. Feeded by suspicion and the search for control.

  245. For anyone who have experienced this I am truly sorry. However, what is described here is anything but scrum. That is what you would call scrum-but or skin-scrum. Yes, I’ve known that kind of scrum for more than three years. I suggest you read “The Scrum Guide” by Ken Schwaber and Jeff Sutherland. It’s a quick read, only 16 pages. Then come back and see if it resembles the Scrum described in this article at all. When you write critique please remember to cite relevant sources. Disclaimer: Yes, I am certified scrum master. No, I have nothing to sell to you.

    • Jan, thanks. The Scrum Guide is interesting. Some groups I’ve been in have done this and some have not. I believe that the true measure of any process is not how well it works when there is good management, but how well it works when management is poor.

      My problem with Scrum is that it is open to significant abuse. Too many managers see it as a way to put programmers on short deadlines and to squeeze more work out of them.

      • Then its problem in people, not Scrum. People can abuse anything, if they want to. Its team members who commits to work, not managers or Scrum Masters, so if you have experienced that, it was a badly tailored version of Scrums

        • @rahuls… Once again the same story. Scrum masters and managers love scrum but the people who know how to design and write software hate it and if it doesn’t work you aren’t doing it right…

          • I am from development background. i really enjoyed working in agile environment, its so cool when whole team is involved in any requirement since beginning together, and something is done, when its actually done, small iterations, less cost of defects. you will find few developers who doesnt like it. But then there are few people who dislikes Michael Jackson’s dance, doesnt matter. We used Scrums and Kanban at a bank for online banking and debit cards, and our business was extremely happy with our delivery and predictability. That was the reason i wanted to become a servant leader instead of mere a manager.

            • Which leads to another point I have made in other posts – that the short iterations of scrum are only suited to many areas of web development, but not mission critical software that runs apart from the internet. All web pages I have seen are simplistic compared to PC based apps such as medical billing or scheduling. I would also ask where you are based as I have found almost no developers in the USA who like scrum (unless they go over to the Dark Side and become scrum masters).

              • I am at Johannesburg and worked for a UK based bank for 4.5 years and used Scrum and Kanban. I loved word Dark Side :-). Thats what i think for non agile environment. If there was no need of agile, why didnt PMI trusted in their PMP certificates and came up with ACP 🙂
                Unlearning old bad habits is really difficult, hence people dont like agile environment. Every environment is mission critical in its space, as it is related to money, irrespective of industry.
                my sister is at Canada, and its highly loved by people there.

                • The PMI wanted to treat software developers like factory workers and they wanted to put all the work they had to do on the developers back because hey is not like writing software is a creative job and is not like is complex so small iterations will create a brittle clusterfuck… well yes it is and that is why we hate Agile. We are forced to write dirty fixes and bad code because of small iterations, no proper specs, useless meetings and so on. You make it seem like non-agile methodologies are full of bad habits. Can you list a few?

                  • “We are forced to write dirty fixes and bad code because of small iterations, no proper specs, useless meetings and so on.”

                    Shittles; I’m falling in the trap of responding without proper context, but I’ll give it a shot anyway.
                    Hey Ciprian; please read the Scrum guide (scrumguides.org) and look up: Definition of Done.

                    What you were forced to do has nothing to do with Scrum and the “crappiness” of the framework, but has everything to do with nobody in your environment fully grasping the concepts of Scrum.
                    As Scrum Master you should teach the team and stakeholders that “it’s better to do less during a Sprint but do it GOOD and deliver a truly DONE increment, then to force work down the shaft of the development team and cut corners (introducing Technical Debt)”.

                    If Scrum done well I would have expected something in the line of: “We had the freedom to reject work so that the work we could do, actually got done well and was really done.”

                    Something I often hear: “hahah, yeah sounds nice in theory, but no management will allow for less work to be done”. Maybe so, but that says more about deadline driven development, then a faulty framework. If stakeholders receive less, but what they receive is always high quality, they will eventually accept less. Something I have experienced over and over.

                • “If there was no need of agile, why didnt PMI trusted in their PMP certificates and came up with ACP🙂”
                  Because they don’t care about *any* of that. They will keep pumping out new three letter acronyms as long as they are marketable. Same with the utterly useless CSM and similar certificates. It’s business, nothing more.

                  “Unlearning old bad habits is really difficult, hence people dont like agile environment.”
                  Unlearning old bad habits is really difficult, hence people like agile snake oil, buzzwords, and whatever shallow but fashionable gadgets. And “Agile” in most places is degraded to such a thing nowadays. (Note this doesn’t say anything about how it started or what’s in the manifesto.)

                  On the other hand, what I’ve seen is that people do like *agile* environments (dictionary “agile”), especially environments which couldn’t care less about (capital) Agile or Scrum bullshit.

            • “you will find few developers who doesnt like it.”
              I call bullshit.

              Three things.
              1. That’s your experience maybe, so please don’t present it as an ultimate truth. Just look at this thread for a start to get an idea. Thanks.
              2. Even assuming what you said is true, it doesn’t mean they are right, at all. (Especially considering #3 which we might give just as much credit as your statement.)
              3. In my experience, your statement mostly applies to code monkeys only, or that extremely lucky few who end up in a *functional* “agile shop”.

        • “People can abuse anything, if they want to.”
          Exactly. Like the famous waterfall, right?

          Actually, I think that *double standards* are one of the most annoying Agile fanatic / Scrum fanboy characteristics. If you know what I mean. 😉

    • Try posting something new. To recap – managers and scrum masters love scrum, developers hate it. Also the ‘if it ain’t working, you ain’t doin’ it right’. The last is an easy dismissal of any criticism of scrum without acknowledging the developers experiences or reasoning. Or that, in reality, scrum is a disaster for any mission critical software development.

      • I recently got contacted for a job offer. Almost went to the job interview, before I realized the person contacting me was someone young, with zero technical background, and working both as “development lead” and “certified scrum master”. So, yet another tech company where layers of management have nothing to do with tech.

        I’m considering adding “DO NOT CONTACT ME IF YOU USE SCRUM” on my LinkedIn profile…

    • Jan, what you write sounds reasonable, except: “I suggest you read “The Scrum Guide” by Ken Schwaber and Jeff Sutherland. It’s a quick read, only 16 pages.”
      I feel like this should be better directed towards Scrum / ScrumBut / ScrumAnd people, SMs, POs, CSMs, and “agilists” in general, as in my experience, they are far less knowledgeable even about the Scrum Guide itself than its critics, or critics of dysfunctional/fake/snake-oil agile environments, or senior developers in general. (No it’s not a typo, I truly experienced that with C/SMs and POs too.)

      (Note none of this is to offend anyone.)

      “No, I have nothing to sell to you.”
      Great. 🙂

  246. Jeff Sutherland is a militant and scrum was inspired by a critical millitäry operations and combined this with the methodoly “Shu Ha Ri” that describes the stages of learning to become a selfless more efficient/optimized “grandmaster”. Well again this touch of the eastern idealogy that supposedly all suffering ends when you just overcome your selfishness (It will never be that simple and by the way Jesus Christ offers you a LOT more than Buddha and dont leave you to yourself or indifference).
    And Michael i recommend you not to fill you up with to much OM’s :). First sorry for my english.

    This are a few of Jeff Sutherland statements in his book “Scrum: The Art of Doing Twice the Work in Half the Time) (not yet rated):
    – Error must be detected (Worker, Team, wrong Technologymanagement)
    – Support by too much bureaucracy
    – Make people work better together
    – Make risk management support easier
    – It is better than the waterfall process (haha, we know since decades now..)
    – The points controlling, verfification capabilities, deadlines, no costs overruns are no longer so important than in traditional project management (Waterfall)
    – Transparenz (Make everything visible what EVERYONE is working on, finances and salaries of each (Jeff recommends the whole company)
    – Scrum stand for: embraces, uncertainty and creativity, self organized
    – Scrum is supposed to accelerate the work and the quality of the product
    – Mathematically, the team performance is much more important than the performance of an individual employee
    – As long as the people do not work well together – push them all for it
    – Work no long than necessary, but better, more intelligent and faster
    – Remove impediements because you have to be honest with yourself and for faster work as explained example at toyota productions.
    Allowing impediments is called: “Waste”. Any inefficency is waste of time, its a humiliation and a depression (in Jeffs words)
    – Scrum is a simple process applicable to everything
    – The defined goals must be finished in the given time (sprint). This is called:real time feedback of work)
    – See if work is done efficiently. It is distinguished between little or much and the tool is: “sticky notes”
    – The employees mustknow how fast they are
    – Before you make a poject estimate you have to know how fast the emplyees are
    – Achieve goals under HIGH TIME pressure (Jeff example project is often this FBI Sentinel Project)
    (5% of the budget in 20 months, instead of 90% of the budget in ten years)
    – Scrum solves problematic projects
    – Working in a maximally productive way
    – Scrum improves the quality of your life
    – Customers are satisfied with only 20% of the requirements and didnt really need the 80%
    – Do not blame people, blame only how they work together and try to correct/lead the individual employees
    – Failed project has nothing to do work ethic or with persons (only teams)
    – Projectmanagement according to “gant” was always wrong and will remain
    – Half of the project in less than a fifth of the time with less than a tenth of the amount budgeted
    – Fewer people in less time, can deliver more stuff with higher quality at lower cost
    – Manage human effort without making ascience out of it
    – Scrum is like a rugby game. Teamwork and the ball is the common goal
    – Scrum design goal is: Teams that dramatically improve their productivity
    – Command and control companies are obsolete (unrealistic deadlines, waterfall)
    – People do not reallize how fast they can work together
    – Priorize the work
    – Scrum is not about the developers. Its about the customers and stakeholders.
    – Jeff compares a human cell with a team. If you inject energy, then you will create a chaos as a first result
    The call it the people “freak out”. Whether the condition is better or worse is now known. But it should stabalize
    again.
    – People over Processes
    – Working products over documentation
    – Collaborating with customers over negotiating with them
    – Responding to change over following a plan
    – Planning is useful – blindly following plans is stupid
    – inspect and adapt
    – change or die
    – fail fast – so you can fix early
    – A project will be delayed if the team make overtime
    – Big teams are innefficient (max 7, Jeff sais only seven because of the bad human memory)
    – Inspect and adapt stands for: hyperproductivity: 300-800% productivity improvements with double improvements of quality
    – Statistically process control (what was done?)
    – Quality comes from priciples: Plan, Do, Check, Act
    – Work doesnt have to stuck – it must flow
    – Indecision is death: Observe, Orient, Decive, Act (like he learned in the military)
    – Good teams are: Cross-Functional, autonom, capable, functional
    – Don’t guess: Plan, Do, Check, Act
    – Shu Ha Ri: learn the rules, when mastered – make innovations. at the end: discard the forms
    and just be
    – Focus on teams and not on single persons.
    – Better not hire slow people (Titles/Status is not important just fast working peoples)
    speed differs from 1:10
    – Transcendet: They have a sense of purpose beyond the ordinary
    – Autonomous: self organizing, self managing
    – Cross Functional: teams have all the skills needed to complete the project
    – Blame is Stupid: Dont look for bad people: look for bad systems that lead to bad behavior or poor
    performance
    – No assinging of tasks from above, team is autonomous, no detailed reporting to management
    – time is finite. thread it that way: sprint break down your work into a short period
    – demo or die: something that is done
    – throw away your businedd cards: Titles are only status markers. what you do counts
    – Everyone knows everything (communications about progress)
    – One Meeting a Day
    – The best way of working is: learning to think like a robot and be flexible to make changes
    – Companies without Scrum can have a waste to 85%
    – HALF done isng done at all
    – Do it right the first time
    – Multitasking makes you stupid
    – working to hard makes more work
    – In a perfect world Scrum is useless
    – Scrum is designed to be leightweith
    – Don’t be unreasonable: realistic goals
    – No heroics: if you need a hero to get things done you have a problem. failure of planing.
    – enough with the stupid policies
    – No assholes: dont be one, dont allow the behavior, no emotional chaos, inspires fear or dread, never blame
    – Strive for flow: choose the smoothest, most touble-free way to get things done. scrum = enabling the most flow possible
    – People Motivation: how you feel in your company, how you feel about the company, why do you feel that way, what one thing would make you happier in the next sprint
    – Secrecy is poison
    – Constantly moving from one crisis to the next causes burnouts
    – Get better every day and measure it
    – Happiness is autonomy, mastery, and purpose
    – Change the world
    – Companies that still cling to tried-but-not-true ideas of command and control and that attempt to impse rigit predictability are simply doomed to fail if their competitors use Scrum.
    – The hypercompetitive world has no room for waste and foolishness. if we use scrum we will win and make our life better
    – It is not exaggeration that in a low growth period such waste is a crime against society more than a business loss. Eliminating waste mus be a business’s first objective.

    My short book summary ends here for now. The obove point are from his book and are not comming from me!

    • As often is good mixed with bad. There are contradictions whitch exclude each others and which can not be excluded. But in fact, the most important value of scrum is this short term goals – doing everything just faster and faster and faster etc. for our customers. If a robot had the time to invite you warmly for a coffe you can not take it seriously because the robot has in real no heart and no relevant emotions.

      The goal of the company and the goal of each employees are often different thats a fact. They are often just forced to do so as the company is the most important thing in your life and if you are good integrated and this means in real – no complaining = good integration. Just do your work and get money for it – dont desire more. This can fit or not to the attitude of a person. But software development is not just selling bananas and apples.

      The main goal of the company is related to the turnover/sales and they care more about the teams and only sometimes about an individual. And yes i agree a company is not a social institution. But Scrum sows already a mistrust through the transparency violence which is usually, as this article said, often very one-sided. If you dont trust the employees you already have a build in failure in your project. Just thinking, smalltalk with another or reading a datasheet brings no direct value or it will be excpected that the employee reads it in his freetime or we just hire the one who know everything already about it (often an illusion) and then fire him when we dont need him (expert) anymore. This can also be interpreted as a waste. Jeff recommends in his book the best way of working is: Doing everything very fast like a robot, selfless as a well integrated team member (yes man) brings you to the most valuable team member in a scrum environment. When a company has to hire new team member what is most important for Jeff? Better choose the one that will perform 10 times better and if you can not find it ok, take the slower one. At the end the team is what counts.

      Outsourcing is so great because the poor software developers will do it anyway to get a third of the money we get and dont complain. Scrum intentionally kill the freedom because it shakes you though to be able to grow under violence. What really remains from the old developer staff are the people with less experience that share their few experience to each other and took it easy. I was once in a team where everyone though how good they are, but no one was a really expirenced software developer. In fact in an environment (scrum) where you are interchangable and lazy for them you should better not share the real things with everybody and especially not one who wants to take advantage of you in this played selfless environment. The most people in scrum just say anyway what they did and their are going to do and NOT how they solved something what recommends Jeff. Worthless anyway for sharing knowledge. Actually, scrum is intolerant from the start and less intolerant when you reach what scrum should lead to. The management will often take your autonomy to do it as you belive its the right way to do. They say scrum leaves the autonomy to the team itself but the team is not really you. In fact when something is going wrong, and this will often happen during development when wrongly communicated, the stupid managers anyway blame the developers and the managers drives themselfs into a hourly micromanagement at the end. According to Jeff software developers generally are lazy, unwilling to progress and do a lot of waste. He said with scrum you can fix that. Scrum should be used until the employees no longer rebel (With that words Jeff says that he doesnt trust the employees in generel).

      Jeff wrote in his book – the project is the most important thing like to win a real war. In this tunnel view world this becomes to the absolute true. Because the customer is king. But there are more important things than 2 million dollars. The health of the people and the dignity of man is inviolable.
      The origin idea of Scrum in Jeffs live was under high pressure – in his words: Under adrenalin, trained to observe, orient, devide, act. in crisis. Nobody complains in a crisis. Thinking in a life or death situaion (Jeff in vietnam 1967).

      Jeff says also -> Just beacause everyone has always told you that’s the way the work works doesn’t mean they’re right. There is a different way of doing things – always a different way of working. If you dont do it, you will be outsourced – the company will die <- Jeff end.
      When a manager has only this tunnel view to fulfill his responsibilities in this "war game" to meet goals faster, faster and faster he often will use his power wrongly. And instead putting himself high or a developer down he will just talk about the team progress, but last he blames the developers anyway but also protects also some of his favorites.

      You can work faster, but you cannot think faster. In a time when man is becoming more and more industrialized, people have to think back. A job, tha will leave you no longer human and constantly stresses you (adrenalin), should be rejected. I am not an adrenalin Junky.
      We are humans and not cells with one can make experiments. True that the man always want more is an evil, but the desire in the human nature is something that is build-in for a special reason and no stranger should supress it. Autonomy, respect and trust is something else.

      This Scrum stuff has nothing to do with common sense. It seems to me very traumatized. The change of daily standups to weekly can give much more freedom. If

      The people will talk to each other when required for sure. Anyway expert knowledge can not be passed on antoher within the daily scrum meetings and yes not everyone has to know everything and no – we are not easy replaceable.
      Having individual wishes is nothing wrong and software developer are not lazy in general. I am looking forward to the day when managers and the even higher on an hourly basis tell what they are doing. They do not have to hide. Lets find a way how to measure a managers performance 🙂 No sorry we are not better then them. But lets stop with this childish stuff.

      There is a lot more to write but i have to take here a break. Growing in a good and friendly environment is much better than in the most scrum i was a part of.

      l8ers

      • @keep happy… Had a little trouble with your English (not a criticism) but I think I understand all you said and it mostly mirrors my own experiences and opinions. And I loved the comment about Jesus🙂

  247. SCRUM is not for those who are in it for their own glory. The end result is a team effort and not a personal accomplishment. Some like it, some don’t. That goes for everything. A house painter who paints walls and doors but ultimately wants to be a Picasso, will never be happy. And it’s not up to the house owner to give him that opportunity either.

    • I have solved complicated problems with design and coding (30+ years). I have also painted my house more than once. There is no analogy that makes sense to be made between house painting and software design. Agile/scrum are nothing more than a continued ‘dumbing down’ and ‘dehumanizing’ of the software industry that started in the VB days.

    • you are missing the point. the painter can use the house he psinted as reference for future clients. the problem is you cannot grow as a programmer in a scrum team because you do no consistent part from beginning to end. For the same reason you cannot use your work for future reference or really enjoy it. Is it not about being Picasso is about being able to say I did this.

      • I agree. There is often no ownership. Someone may be working on one part of the code in one ticket and another part after that. Meanwhile someone else may be working on the piece the first person wrote.

        This has happened to me. I was asked to modify a piece of code I had worked on a month before. I estimated the change would be very small. I started working on the problem and realized the code was not what I had written. I looked at the history and found someone else had made substantial changes. My change was now going to be considerably more difficult.

        I spoke to the engineer that made the changes. His changes made made sense as the company was changing the way it recognized revenue, but I knew nothing about them when I estimated the new ticket.

        • In scrum you are as a team responsible for all code. This means changes must be documented, you discuss changes with other developers in the team, you use pair programming, code walk troughs etcetara to make sure the code is maintainable by all team members. Scrum is about co-operation and acting as a team. If you are completely unaware about changes other team members made, something is wrong in your team. Please don’t blame scrum as a way of working, but blame yourself and your team for not co-operating and sharing responsiblity. Ask your scrum master to help solving the issue.

          • Don’t agree. Scrum is a disaster. And many times, discussing the best way to design/implement only works if you have other team members that have complete overlap with your area of expertise.

          • It is true that the distribution of knowledge gives less risk of knowledge loss to a company. But this “ideal” is often unrealistic in large projects with a lot of expertise (also architectural) and are barely reached. After the ramp-up of the first week developers are often forced to be already productive. If not then they are considered as lazy. E.g. Open source is often so stable and so successful and often very extensive (often also commercial driven) and nevertheless no one needs detailed uml layer views to be able to co-operate with the time. Too much detailed documentation costs too much and even more in a prototype phase were there are a lot of fundamental changes. I think Tom DeMarco calculated once in his book that if you just replace a developer it will costs the company at least 500,000$ only until the new can be productive, which does not mean that he is now expert and all and still dont know the documented or undocumented whys. If software development is generally time-critical and the developers generally can not work fast enough (because of the nature of the software), one should not expect from the developer to be an expert in politics and business and in useless processes. As Michael said, older software developers were still used to be in the R&D doing exciting and challenging work for his carrer AND for the COMPANY AND for the TEAM (why not a win-win).

            Nevertheless, the scrum is about making progress as fast as possible as a team and then you share the work instead of sharing the resources and performing a pair programming (guessing at a factor of 2.5-4 slower). It’s cheaper for the company to have people responsible (max 2) for something and transfer the knowledge only on demand if at all possible for the new commer.

            • I agree you will be in trouble if you try using large projects and ramp up with brand new developers. In my company we tried this for a long period of time, ending in difficult situations with code that is not maintainable and causes serious business continuity risk. Scrum will not work if you try to continue in this way. Scrum requires stable teams, that have a responsibility for a software domain over a longer period of time. So they have time to learn the job, can take responsibility for code quality and is allowed time to resolve technical debt. It also requires skilled developers (which always is a key factor). Last year I worked with a good team and these guys were helpful and cooperative. During the week, almost every day other people work on the code and the were able to delegate tasks easily. As a team we were responsible for a extremely complex legacy software of vital importance for the company we work for. It really worked out well and as a team we were able to grow a lot. Unfortunately the management decided to change the organization and this team ended here. I firmly believe scrum can work, but it is not a solution for all problems. I think the management culture is a major complicating factor here. Fortunately, scrum also helps here but slowly. Now in my company also business teams are switching to scrum as way of working and we see more and more management disappear.

              I do to claim it is easy, it is hard to switch as you can see in many reactions in this blog, but I believe in the fundamental change in way of working.

              • Hi Jan

                Thanx for feedback. I think good teams were there before scrum and will be there afterwards. If you can grow depends on the people and not on the process. Scrum is supposed to show the problems of a team – Why not showing the positive things? If people are motivated, the efficiency improvement is muuuch better. Microcontrolling is basically not what the majority of the developers want and according to Tom DeMarco and Listener and their decades-long collected statistics just do not work the way that most really want. Scrum is a fraud to me. According to Jeff (the co-inventor) to finally force the rotten developer to work and to optimize everything what makes you a human. If you have a scrum that works, then it is guaranteed not because of the scrum, but because of the team. So I think. And the so important transformation to the production slavery brings nothing to my short life.

                • I used many agile techniques and (equivalent tools like bugzzilla) long before the Agile name. About the only real addition that agile has brought is unit testing and the impact that can have on how you execute a project. When I’m working on any project I am highly agile because I’m always looking for the thing that moves me the furthest towards my goal.

                  But I’ve always done that, even in the days of Waterfall (which really wasn’t as bad as the Agilistas make it out to be…)

                  The biggest Evil in all this is how Scrum is practiced. That’s not a defense of Scrum, either– As an engineer, I know that any design that requires parts that conform to the specs just-so to work properly, well that design probably is not practical. Scrum is theoretically a stable process, but in practice apparently it’s very hard to get right. So it’s questionable if it is actually a GOOD practice…

                  ALSO, Agile/Scrum uses many tools and ideas drawn from other methodologies and disciplines. Just because the tool works well under any arbitrary process does not lend credence to the process. It only says the tool is useful, and nothing about the process. Agilistas often conflate the usefulness of the tool with the validity of the process, and offer it as a sign that their way is better than some other. It just does not follow…

            • As to agile/scrum being faster, that is certainly the way it is presented by the people selling the training. The way it was taught at my company (we paid A LOT of money), it promoted having all team members in a ‘common’ area. We used to call that a ‘bullpen’ in the old days (80’s) and it was the least, let me emphasize LEAST, productive environment ever developed. No privacy, no quiet, impossible to concentrate and about 2 hours of work per day per developer. Not to mention back biting in the form of ‘so and so got here later than me’ or other bullshit. I brought this up in the training and finally got the trainer to admit that the environment that it was actually LESS PRODUCTIVE. Which made me tremendously unpopular. It benefits entry level developers who don’t really have any skills yet (but are cheap to hire) at the expense of making all of the experienced developers almost non-productive because they spend all of their time trying to teach others at the expense of actually doing their own assigned tasks. It also produces (produced at my company) a bunch of people who don’t really want to learn – they just want someone to give them a code block they can copy/paste. They never learn the underlying principles or system because there is no time to do so. End of rant (this one anyway).

    • A real good team allows individuality. It is a team of thinkers and not a team of football players who are drilled for 5 million dollars per year and are retired at 30. If you do scrum for years now and you still feel comfortable – YOU do it wrong 🙂

  248. Wow, if this guy doesn’t hit it right on the nose! All this has been said, in parts, by myself and co-workers. It has become clear to all, including those that are really into Agile and push forward even further at our company, that it doesn’t work. And of course, they say the reason it isn’t working is because the employees have a bad attitude or just resist.

    • Sounds like you’ve been there – done that. I lived it too and, unfortunately, it was at the end of my career. Would’ve been nicer to ‘go out on top’ but that’s not what happened.

  249. Meh, seems to me the problem isn’t with “scrum”, it’s with all the “expectations” hoisted onto it. As others pointed out, you can also call it a “management”/”people” problem. But at the same time, why would all the engineers expect perfect management? It’s not surprising that we’re often hired by or work for non-technical personnel. Seems like a lot of people here are ignorning the “human” part of the workplace context…

    • Nobody is perfect. And not the people are igniring the human part, but scrum ignores it when using it as a permanent establishment also confirms Jeff: Constantly moving from one crisis to the next causes burnouts.

      • Have to correct my words. Its in the context of unrealistic deadlines this “moving from one crisis to the next…”. And Jeff didnt said not general for scrum in this context. But having always too much sticky notes on your task-list will also lead to the same.

        • But that doesn’t have anything to with scrum. In fact it only proves my point — management expecting scrum to do something that it’s not really able to do (e.g., make you successfully complete a pile of sticky notes in a short time). Engineers shouldn’t conflate the scrum “process” (all scrum is is just a process) with management’s “expectations” of it. The latter is the human context I’m referring to that engineers seem frequently conflicted about.

          • Sorry little bit late anwer. Yes, i do not see the sticky notes as the problem – but the sprints. The word sprint itselft says it all. For me the timeboxing and sprint are the same than repetive small watherfall deadlines. They support this hyperproductivity (to 800%) that Jeffs explains in his book. Good decisions need always frontal lobe activity. No Code Red madness!

  250. I think what really matters are the people and not any process. It should be possible for all people to motivate themselves. The role of the scrum master is so dysfunctional that it must disappear. This courses “Become a Scrum Master in a Day” are something ridicilous. And yes i say it loud just dont like it this scrums hyperactivity, running adrenalin junckies and this side games that often prevent good solutions. Making a lot of us burned out as long as you play it. I bought for me the book “Demarco and Lister Peopleware” and hope to find more arguments against processes that reduce people to robots. l8ers.

    • “It should be possible for all people to motivate themselves.”. How? With scrum, any programmer, experienced or not, becomes a mere typing monkey. You get your tickets for the sprint and have to do them within the estimated time. And every morning, you have to interrupt your work and explain and justify, what you did the last day. No time for some experimenting for the best solution, no time for creative and innovative work. And, because bug tickets are not considered as sprint tickets (at least at my company, just some time left open for these in the sprint), they mix up the whole planning, This lead to more stress and less fun and innovation. Self-motivation has become really difficult,since we introduced scrum.

      • > With scrum, any programmer, experienced or not, becomes a mere typing monkey.

        Nonsense. This may be the case in your pseudo-scrum implementation and your imagination but it isn’t a property of scrum. Never happened to me, btw.. It’s just yet another unfounded claim that this has to do with scrum.

        > You get your tickets for the sprint and have to do them within the estimated time.

        Nonsense. You finish what you can and you don’t finish what you cannot. The only reason for all these estimations in advance is to know how far into the future you (team + product owner) have to plan. It should never happen that all the stories are done already before the sprint end. But it’s no problem at all if stories, that were put into a sprint, were unfinished at the end of the sprint. They simply are taken over into the next sprint.

        > And every morning, you have to interrupt your work and explain and justify, what you did the last day.

        Yet more nonsense. You do not “justify”. Instead you can proudly give a short overview over your current experiments, thoughts, problems, solutions, ideas etc. Thus superficial overview is a base leading to creative in-depth discussions with interested peers after the daily scrum.

        > No time for some experimenting for the best solution, no time for creative and innovative work.

        Says who? Yet another nonsense claim. You need time for experiments? Why not schedule an entire spike story?! Since you obviously have no idea how scrum is working (when it’s working) and only talk about some dysfunctional bullshit you yourself labelled scrum without justification, let me shortly explain 2 common scenarios:

        Scenario 1)
        Product owner puts story “Purple Unicorn” into the backlog. At the next sprint start, in your backlog refinement meeting with the product owner, you tell him that you have no idea how to achieve this and you need to do research. The result is that the story is split into 2 stories: “Purple Unicorn *Spike*” for research and “Purple Unicorn *Implementation*” for implementing the actual feature. Most likely the 2nd story is taken out of the sprint in order to have the possibility to discuss the outcome of the research with the product owner *before* implementing it.

        Scenario 2)
        Just like the previous scenario, the product owner puts the story “Purple Unicorn” into the backlog. You think you can easily do it and therefore, you don’t think a spike story is needed. However, once you start working on it, you encounter one or more serious road blocker. Now, there’s 2 possibities: Either you do a spike, now, without talking to the product owner. If there’s a good relation full of trust, this is usually the case (it was always in my experience). Or you document the road blockers and discuss the need for a spike story with the PO between the current and the next sprint. Alternatively, you might even call the PO inbetween the sprint, if he’s available.

        > And, because bug tickets are not considered as sprint tickets

        Nonsense.

        > (at least at my company, just some time left open for these in the sprint)

        Then your company did bullshit(TM) and not scrum(TM) 😀

        > they mix up the whole planning,

        More bullshit(TM) having nothing to do with scrum.

        > This lead to more stress and less fun and innovation.
        > Self-motivation has become really difficult,since we introduced scrum.

        I really do pity you. But not for suffering scrum — which you obviously didn’t do! — but for suffering employment in a bad company. Whatever your company did, it did not do scrum!

        Just because I make my employees run circles around our house every morning and call this scrum doesn’t make it scrum!

        Btw. I’m a senior software developer and architect with 20+ years of experience. I worked for many companies and during the last 10 years or so scrum was used (fortunately!) by an increasing number of them. In no other environment was knowledge transfer fostered more and it was always a lot of fun. But then, this was in Europe. I guess, in the US not only the political system is totally screwed up 😉

        • We can also imagine that there is such a kind (open plan – almost do do what you want) scrum. But I come from europe and worked in different parts of the country and there was not such a scrum. Scrum is often used for critical projects and Scrum-Master always gets too high pressure from above. Arguing that we want more humanity, or more freedom is thrown on deaf ears. Yes, scrum solves everything but not our manager problem. It is understandable that people who suffer from it make scrum responsible for it. With right, since it is a bad tool in this case (micromanagement).

        • Well, call it bullshit or scrum, this is, how it is done in my company since they introduced “scrum” about 2 years ago, when we were bought by a big global player (who develops with that kind of “scrum” since a long time). And they claim, they know what they are doing. At first, things looked good and went well, but it became worse and worse. As you call this process bullshit, I fully agree. Not in US, in Europe.

          • I’m sorry to read that your company is bought by a big global player who obviously does *not* know what they’re doing — at least those who are working with you.

            I have seen a lot of very well working scrum and therefore I can tell you for sure that it’s a great tool. But it’s the same with every tool: People may use it incorrectly by mistake or even blatantly abuse it (for their own agenda). This, however, does not necessarily render it a bad tool. The fact that some people accidentally cut themselves or even use a knife to kill people doesn’t make a knife a bad tool. I still can use my knife in my kitchen to prepare an excellent meal 😉

            And blaming scrum is IMHO not helpful at all. On the contrary, it is hiding the real problems and therefore works against everyone suffering your problems.

            IMHO the better way is to understand agile and scrum as well as possible. When you understand what the intentions and ideas behind are, you may have a chance to improve things.

            scrum and agile originate from a healthy environment and were not meant to “enslave” “code monkeys” or any nonsense like this. Of course, there are idiot-managers who want to do this. But this is their personal agenda and they’d use every tool they can to achieve this. agile and scrum even have many rules that prevent such abuse. But if you don’t read things up or voluntarily ignore them, you cannot use this to fight the managers abusing these tools.

            scrum is an implementation of agile and therefore everything that clearly contradicts the Agile Manifesto is wrong. And again: Understanding the underlying ideas is essential. I can’t explain all in detail — it gets too long. But let’s just take one example:

            The Agile Manifesto states “Customer collaboration over contract negotiation”. This implies many things, for example: Create an atmosphere of trust and mutual respect. Why? Because contract negotiation implies mistrust. Functional collaboration, however, requires trust. So, if your manager abuses whatever detail of scrum to micromanage you, he infringes on this principle. Some people here wrote that the daily scrum was used to micromanage them. If this is not the goal of the daily scrum (as I just pointed out), what is it then? Read things up and you find the answers. And when the next time someone tries to micromanage you, use this knowledge to prevent this.

            And don’t let this attempt in micromanaging you contribute to a hostile atmosphere! Agile tries to establish a cooperative, friendly atmosphere. Thus, aim at this goal (no matter what process you use) and try to understand why this person actually did what he did.

            We’d easily get to philosophy and Buddhism, but let me tell you at least this: This person likely is not an evil daemon having no other goal in life than making your working time pure hell. He more likely didn’t understand what he was doing — or what it meant to you. And here we’re back to scrum. There is a retrospective. It is meant to give everyone — including you — the possibility to criticize everything. If not yet before (in a personal talk), the retrospective is the place where you should clearly say “you did XYZ which feels like micromanaging me” and this is counterproductive. What are you doing in your retrospective if not discussing *and* *removing* such impediments?!

            • Our retrospective meetings are comming only when scrum auditors are in the house. Really funny 🙂 Our scrum master is not a stupid one but just a worrior for the higher management. There is no room for improvement. I agree with you that there are different scrum – better scrums. But since scrum is not perfect by nature, I use the term scrum also for bad scrum. And processes are something that people do and not an obejct. So processes can be bad.

            • Ah, yes, retrospective. Now, as you remind me… AFAIR, we had two of these in 15 months of scrum. Of course, without lots of success to make things better. And, remember: Not every good coder is also a great talker – according to my experience, more the opposite is true, the best coders talk the least. Scrum’s daily meetings, as well as the retrospective, is for talkers, not for makers. That makes it even more difficult to “improve” anything.

              • > retrospective. … we had two of these in 15 months of scrum.
                > without lots of success to make things better.

                Then your incorrect / incomplete implementation of scrum is the problem. Not scrum itself. If you don’t do what scrum tells you, you cannot blame scrum for it. If you ignore a library’s documentation and use it incorrectly, it’s not the library’s fault that your program doesn’t work.

        • I’m glad you’ve had a good experience with Scrum. As I said elsewhere, pretty much any methodology will work well if you have good management. The true measure of a methodology is how well it works in the hands of a mediocre or poor manager. Here, Scrum fails. Yes, if a programmer doesn’t get a ticket done, it’s supposed to slip to the next sprint. In real life there is often considerable pressure to get all the tickets in no matter what. Programmers have two choices. Estimate their tickets realistically and get hammered in those cases when they do slip, or deliberately overestimate the tickets so they don’t slip and then have idle time at the end of the sprint.

      • This has not received much discussion, but this the worst part of Scrum. I’m convinced this is the reason that many managers like it. They can assign tickets and a deadline and pressure programmers to do things in the allotted time. Just that easy. Nevermind that time estimates are notoriously difficult, something that was discussed in The Mythical Man Month when it was published 40 years ago. Managers want to believe they’ve found the magic formula for doing time estimates.

        As for bug tickets not being part of the sprint. A coworker decided to refactor some of our CSS. He ended up breaking five pages just before he was due to take vacation. They were assigned to me, and I spent half my sprint fixing them, but he was still credited with the story points and I got no credit for them.

        • @Andy – “Managers want to believe they’ve found the magic formula for doing time estimates”

          Bingo. But in reality – they haven’t.

        • Posted the following reply to ‘Andy Fields’ but it apparently went elsewhere.

          “Managers want to believe they’ve found the magic formula for doing time estimates”

          Bingo! But in reality developers know different. And the part about credit going elsewhere is spot on. This has actually led (in scrum/agile) to a culture of not sharing knowledge.

        • > he was still credited with the story points

          Again nonsense. You should make it clear to whoever “credits” these points, that this is absolutely wrong!

          It is wrong for many reasons. Here’s just 2 of them:

          I quote from http://scrummethodology.com/scrum-effort-estimation-and-story-points/ here: “First of all, entire Scrum teams, rather than individuals, take on the work.”

          So, if the entire team takes on work RATHER THAN INDIVIDUALS, you obviously don’t do scrum, if you attribute work to individuals. Your product owner (customer or boss) should NOT EVEN KNOW who (individual) did what!

          2nd, if your company wants to track how much work which person did, they should use hours and pay by the hour (I usually work as a freelancer and thus charge by the hour — works very well for decades, already).

          There’s more to say about this, but I’m really sick of re-itering things here again and again. You uninformed ignorants still continue writing “Scrum sucks because of XYZ”, but you never bother to do some research — then you’d find out that XYZ is most often explicitly, sometimes implicitly, forbidden / discouraged in Scrum. So DO NOT blame scrum, if you’re not doing scrum!

          Again, RTFM! Take an analogy that hopefully devs understand: If you use my library and my library’s documentation tells you clearly that you have to call the init(…) method before using it. But you do not invoke this method and things go wrong. Then the resulting error is caused by your *ignorance* and not by my library being buggy! Scrum isn’t buggy — you doing things that are explicitly forbidden in scrum, but still calling this nonsense scrum is simply insane!

          • “You uninformed ignorants still continue writing ‘Scrum sucks because of XYZ'”

            Insults are not necessary and only undermine your own case.

            I’ve worked for three companies that used scrum. Two did it poorly. The third had code that was such spaghetti that management understood tickets could not be estimated with any accuracy.

            Glad to hear that as a freelancer it has worked well for you. Maybe it’s different in that case.

            “First of all, entire Scrum teams, rather than individuals, take on the work.”

            I know very well it says this. I agree that in the hands of good management that actually follow the rules it can work well. The problem is there is a strong temptation in practice to bend the rules.

            The problem with Scrum is that people often do it wrong. You say they are abusing Scrum. I say that’s because Scrum is easily abused.

            “Your product owner (customer or boss) should NOT EVEN KNOW who (individual) did what!”

            How is this even possible for them not to know? We used Jira. JIra clearly shows who did the work and how many story points there were if any. In the modern world there is considerable pressure on managers to develop metrics to rate their people. This is a difficult task. I completely understand that story points are not supposed to be used to rate people, but managers often do because they are an easy if highly flawed metric. Managers are being told they need to rate their people – but are then told don’t use the number that is right in front of them. In one group I worked in UI people consistently struggled because the UI story points were often underestimated compared with the Java story points.

            Many managers look at Scrum, hear about story points, and say, “I can use that to rate my people!” They don’t hear the part that says story points should not be used that way. Instead they see an easy answer to the persistent problem of finding metrics to rate people.

            Many managers hear that stories are assigned and sprint deadline is set, and say, “There’s a great way for setting firm deadlines and maybe squeezing some extra work from my people.” They don’t hear the part that says stories are allowed to slip from one sprint to the next.

    • There’s even more: Because it’s “Agile programming”, at every point during the development, somebody might step in to request a structural change. That means, the developers must always be aware, that a carefully thought out concept must be adapted and patched (because nobody gives the time to rewrite it from scratch) according to the new request. This is like building a stone house, but while the roof is being covered, the customer requests to use timbering for the base flat instead of stones. It’s simply not possible to get well-done software out of such a process, and because of that, it is even more difficult for the developers to motivate themselves.

      • In the last company i’ve met the kick-ass manager. Although I had a key role he could not stand my criticism. But i was happy to leave because of own self-protection going again into the next deadline/crisis again and again (i am in the worsest spanish, command and control management company). Lets see how long we can stand this shit. Opening the mounth is for the most uncomfortable. You have to weigh for yourself and your situaion whether it is reasonable or not to open the mouth.

        But you have my full compassion and thanks to Micheal for this great article.

    • > I think what really matters are the people and not any process.

      This is exactly what the Agile Manifesto states: “Individuals and interactions over processes and tools”

      As soon as you stick to your process (even if you call this scrum) and ignore the people involved, you’re NOT agile! And as soon as you’re not agile, you’re not doing scrum by spirit — maybe you do some scrum processes by letter, but doing things by letter instead by spirit is always doomed, no matter if it’s scrum or sth. else.

      • When is the process finished? Scrum is a permanent and dominant institution. I do not see that people are in the middle, but only the daily micromangement und der progress that counts only. Jeff has to write something like this because it simply claims to give the people a meaningful content. I know and do not have to reinvent the thinking of generals. A general achieves goals by deception and confusion of rulers and soldiers. And scrum by spirit ohh man… I cant stand this. The spirit of funcional robots? If a lovely spirit comes from such a faulty process industrie then good night.

        Imagine you have a bike with quad bikes. It is hard but it goes and you have to learn it. Over time, the edges decrease slightly, but the wheel remains square. What does this speed bike bring to me?

        • You really don’t *want* to understand it?! It’s *NOT* EITHER process OR people. It is people using a process for their benefit. And according to the Agile Manifesto — I repeat it yet again for you — it’s “Individuals and interactions over processes and tools”. Since you’re so unwilling to understand I have to emphasize: This “over” means people are more important than processes. This does not mean that you should arbitrarily throw away things the process recommends, but it means that you should modify the process, if the people give good reasons for it.

          There is an important implication, though: You must understand *why* the process recommends what it does recommend. If you don’t understand it — and you obviously don’t –, then all you do is cargo-cult-scrum.

          And cargo-cult-scrum is as much nonsense as cargo-cult-programming is.

          And your nonsense example with the bike having square wheels (not bikes, right?) only demonstrates that you didn’t understand anything about scrum.

          If you don’t like what’s happening in your company, then go ahead and study scrum (and agile and likely much much more). Once you understand why scrum mandates the things it does, you’re likely going to understand what’s done wrong in your company. With this understanding you have a chance to change and improve things.

          Claiming nonsense (like “scrum is a bike with square wheels”) and not being able to make constructive suggestions does neither help you yourself nor your company.

          • We all know since a long time whats wrong in our company. And i am talking about scrum and how the inventor mixed good things (also agile manifesto) with bad to reach their short time goals as described in the book “Scrum: The Art of Doing Twice the Work in Half the Time”. and to keep the people resonable working in this open-plan stuff. And there are good processes and bad ones. But people over processes as you already said.

            • Yes, Nonsense.

              I think the theory in the manifesto (Individuals and interactions over processes and tools) and practice (scrum) are in contradiction which each other. Scrum is about the process as are all these other Leans en Kanbans. The process is what it’s about, with all kind of roles related to this. Not doing the real work but guiding and leading process. With a combination of rituals en new terminology. I can imagine that software builders / technical people are annoyed by this. It is not about software but about the project. On the ICT side, Scrum has nothing the offer but confusion. Freedom is needed to do your work and create something. And now you are confronted with a discipline where you are told what is important en what to do and produce as in a factory. All for the business. Almost like a Japanese car factory.

              On the other hand there’s also only one good thing about Scrum. A daily stand up is ridiculous but keeping the pace in and ongoing project and activities is something good. As a programmer or in another executive rol some clearity and context is needed. Not doing scrum is not a guarantee for this either. It’s difficult, it also comes to having the good combination of people. As ICT people among each other it is, sometimes you understand each other and you speak the same language and some youtimes you don’t understand each other at all. Let alone characters. So, getting the right combination of getting people together, not too many, just enough. That’s the problem. I don’t believe in these process roles. Skip them.

              • Here its the fault. Thanx for bringing this up. Softwaredevelopment can not be compared to productional works. The reason why are empirical experience measured over 500 companies over decades. Take Tom DeMarco and Listerner seriously they are the trusted VOICES since decades. They know what they say! Und they are human and ethical. Ignoring this is violence. As I understand it they have spoken about what has been happening today but in 1999. I really dont have a lot of time staying here because of work, family and because of further education. So i wll read the book slowly and think about it a lot.. l8ers

              • Louis: Thank you. This is what I’ve been saying. AGILE and Scrum are different and contradictory. AGILE de-emphasizes process while Scrum is process on steroids. The fact that a book titled “Scrum: The Art of Doing Twice the Work in Half the Time” shows that people are willing to believe it is a magic bullet that will solve all their problems.

                • No, scrum is an implementation of agile. And as such its very purpose is to describe a concrete process. It does not mean that you should ignore agile!!! On the contrary, it assumes that you keep the agile principles in mind when you apply scrum.

                  And don’t tell me (again) that most of scrum is like what you describe. Most software developers write shit code — that still doesn’t mean software development as such or a certain programming language sucks. It only means most devs don’t know how to use their tools properly. The same applies to scrum. If most people do things wrong, then they’re just ignorant morons — that doesn’t render scrum a bad tool. If you don’t do what agile and scrum tell you or even have so fundamental misunderstandings to claim that scrum was opposed to agile, then you’re using the right tool in the wrong way and that’s solely *your* *mistake*.

                  You cannot make the knife producer responsible for someone accidentally cutting his own finger (or killing his neighbour).

                  And btw. I never experienced a scrum implementation so dysfunctional. There definitely are well working scrum implementations. But you know what? The people involved — and I mean all (PO, team, scrum master) always tried hard to understand what scrum was supposed to be and how it was supposed to *help* the collaboration. If you’re in a poisoned environment where each person mistrusts/hates the other and especially you all hate the scrum master (who is supposed to help you implement scrum correctly — NOTHING else, especially NOT anything related to concrete development), then your work is doomed. And it would be doomed with *every* other methodology just the same!

                  • …just wanted to add for the sake of completeness: The scrum master has 2 duties:

                    (1) Help everyone involved to implement scrum correctly, for example keep the meetings short.

                    (2) Remove impediments, e.g. kick your PO out of the daily scrum, if the team does not want him there, but he still comes, or kick some other team’s arse, when you’re waiting for their interface specifications.

                    If he’s not a developer (there might be “rotating scrum master” with each team member being scrum master for a month or so), then he’s not involved in your actual development work at all — thus definitely neither supervising nor micromanaging you. The scrum master is your servant!

                  • so is not that scrum and agile are bad as most developers say the problem is that most developers write shit code. So basically it is never the methodologies fault but always the programmers. Wow… the level of ego in that claim. and you say agile is not a religion… right….

                    • Yes, most developers write shit code, just like most managers are idiotic egocentric bunglers and most doctors are bumblers — sad but true 😉

                      If you haven’t seen yourself, that incompetence is the rule rather than the exception, you likely are *not* one of the very rare competent experts, yourself.

                    • Most devs under Agile are forced to write shit code because things like their area of expertise the time needed for a project are all ignored and all has to be delivered monthly. Id does not matter you started working on something the 3rtd week and takes 2 and a half weeks all that matter is the useless irrelevant metric and velocity. And yes it is because Agile. Before I entered the Agile environment there were companies that worked great and those that failed because of management. With Agile everything is mediocre or bad.

                    • @IoanM Can’t reply to you — there’s no reply link 😦

                      Mutual trust means that I trust the people I work with to *try* their best. I assume that they do *not* *aim* at failing.

                      But I’m realistic enough to know that everyone has flaws (including me) and knowing+accepting these flaws can help to avoid trouble — and grow instead.

                      There’s a reason for the saying “nobody is perfect, but a team can be”.

                      Assuming — like cyp obviously does — that all developers are great geniuses while all managers are lunatic daemons trying to enslave the devs is neither helpful nor true. Most people — including the incompetent managers — *try* to do a good job. If they see and feel that you try to help them, most of them appreciate it.

                      The main problem IMHO is that people with one role easily daemonize people with another role: The devs hate the QA hate the PO hate whoever. This is bullshit and totally counterproductive. If we instead try hard to collaborate and stay positive, things work much better and everyone is much happier.

                    • I do not believe all devs are geniuses, but there you seem to believe there are only geniuses and complete morons in the group of devs. This is not true. You can be a good programmer and write good code without being a genius. And yes, most managers are bumbling morons that are only determined by their own profit. That is because most managers are just people with MBA’s but no understanding on how programming works, or how various technology work. And yes they can read technical magazines and such (which apparently is much more important than you know writing the software to some managers) but until you sit and write the code yourself you do not understand it. And as such what seems to them a big change can be a small one and what seems like a great change is usually major. Also they do not understand that human beings cannot run continously in a death march.No managers do not try to do a good job they try to keep the people that are their bosses happy usually by brown nosing and saying yes to everything and the shit just drips down on our heads.

                    • …and one more thing about trust, I forgot to mention: I also trust that nobody is actively trying to damage others. If they do, then accidentally.

                      For example, a manager micromanaging someone does so not because he hates the target person, but because he thinks that what he does is beneficial to the project.

                      If you are this target person, it is not helpful to go to the manager and tell him what stupid arse he is. Instead you have to make clear that his actions is counterproductive (and explain, why). The manager wants the project to succeed. You have to make clear that what he does is an obstacle to his own goal.

                    • Usually micromanagement ( masked as Personal Improvement Program or so on ) was considered a way to force people to quit by themselves without having the company forced to fire them – which in Europe usually could lead to complicate issue + compensation costs.

                      So I’d say that it very hard to argue that this approach becames overnight a legitimate one … unless somebody really want to fulfill “manager-profile” which you just mentioned. 🙂

                      And well – no, developers are not geniuses. If would be so there will be not enough budget to hire them anyway. But this is not the point anyway – really important is just how to use them effectively and in a sustainable manner. And Scrum is terrible at this aspect ( to the point that its own terminology felt the need to replace words like “productivity” with “velocity” – and this is not the ONLY case Novlang … ).

                    • @Ciprian
                      I don’t belive that the managers should have a long experience in coding or even to undestand it deeply – just need to be able to make some fair assumptions and to be able to delegate. And this is a REAL issue – because probably one third of middle-management in Software suck ( big time ) on this area. 😦

                      I’d even say that for this particular reason actually Agile/Scrum get their chance and their momentum – but unfotunately proposed solution create even more problem than it fix.

                    • You cannot manage what you do not understand at all. That is one important problem. If the manager does not understand why x task takes 1 week and another takes 1 day problems appear. If you do not understand what I mean look at this: http://xkcd.com/1425/

                    • Also I have a question how can someone that has no idea what the work of a dev implies can make a fair assumption? It is hard for us to make fair assumptions when it comes to how much time a task will take . For a non tech manager is impossible.

                    • > assumptions … how much time a task will take . For a non tech manager is impossible.

                      That’s exactly the reason why scrum clearly states that all estimates are done by the DEV TEAM and *NOT* by a MANAGER! Btw. no matter, if the manager has programming background or not.

                      And again: These estimates do *not* translate to deadlines.

                    • “These estimates do *not* translate to deadlines.” wrong. these estimates should not be translated to deadlines but in real life (not the utopia one the Agile writers dreamt of) they do because almost all customers ask for deadlines regardless how they call them. Except for Blizzard I do not know of another company that successfully delivers code without fixed deadlines.

                    • “Yes, most developers write shit code, just like most managers are idiotic egocentric bunglers and most doctors are bumblers — sad but true😉”

                      I do not believe this at all. I believe that programmers can have different experience and levels of expertise. I once went to work at a company that wasn’t doing Spring. The people there were young and the code was not three tier. Business logic was mixed into both the data layer and the presentation layer.

                      These were very smart people, but they did not have the right experience. At my request, the VP of Engineering held an architecture summit where we hammered out new standards.

                      As I mentioned before, I actually like AGILE but hate Scrum. What I like best about AGILE is the way it emphasizes dividing projects into small pieces. This prevents someone from going too far off the rails before others realize it. Code reviews can help too. I would point out where code should be placed in a service rather than in presentation or data methods. And this could be done when it wasn’t too late.

                      Yes, you do sometimes run into the obstinate senior programmer who writes poor code with a “My way or the highway,” attitude and have to depend on good management to reign them in.

                      AGILE doesn’t always succeed, but dividing things into small pieces creates a “fast fail” situation where it will become apparent much sooner that a project is failing.

                  • @Ciprian

                    There is a whole range between being an expert in an area ( and these kind of guys better kept the role of Lead Developers/Architects 😉 ) and having no damn clue on it. 🙂
                    I noticed that usually most managers – even non-tech ones – tend to grasp basic notions in ~6-9 months induction-time.

                    @marcongui

                    True. But in practice and, as I just – without this being specific to Scrum !, team self-alocation of User Stories/Tasks tend frequently to be replaced by PO/SM imposing them.
                    Because … you know … real life and business limitations and so on …

                    • “I noticed that usually most managers – even non-tech ones – tend to grasp basic notions in ~6-9 months induction-time.” my experience is that they cannot do that even after years because they still ask why A takes x time and B takes y time as for them the two seem the same. Have you seen the xkcd? 90% of managers do not understand that joke. Just show the cartoon to one of those non-tech managers you claim can grasp basic notions and see if they understand the joke then argue they can do this.

                    • @Ciprian

                      This is/could be an issue in all methodologies and projects so I’d not consider it specific to Agile/Scrum.

                      Is true that a fully business-prioritized approach ( and “between the lines” Agile/Scrum favors something like this ) tend to have a bigger risk on this direction but it should be noticed that there are some recent attempts to adress this or at least to explicitely put it on table – for example is recomended that at least 1-2 team-members to participate in Product Discovery/3 Amigos meeting in order to signal or even stop any unreasonable proposal to became an User Story and so on ( and this became veery similar to clasic approach of fomalized exploratory meeting during requirement phase in which Lead Developers/Architects are involved 😉 ).

                    • yes it can be an issue in all methodologies. In Scrum the rules of scrum dictates it is always a problem. “at least 1-2 team-members to participate in Product Discovery/3 Amigos meeting in order to signal or even stop any unreasonable proposal to became an User Story and so on” problem is this: those that have any power usually will be the ones eager to accept any unreasonable proposal while the ones that point it out as unreasonable will be silenced. Is like the poker game. If one person has the right to put any number he likes them. It is the sort of democracy from communists countries where you could vote but the person that got elected was not necessarily the one the majority voted.

                    • @Ciprian

                      Not really. Ok – there is a long discussion ( but I’ll start a new thread for it ) regarding differences between well-implemented Scrum with … evil intention and bad-implemented Scrum – these is usually conflated when somebody point out a deficience but I’ll not go along this line.

                      I’ll just say that for specific purpose to avoid peer-presure the ProjectDiscovery meeting is NOT intended to take place in presence of complete team.

                    • Again you have an utopic view on things. In any company the person that has the power to fire someone has a right of ultimate veto. So maybe we should try to stop avoiding this reality as Agile does and realize that this approach cannot work except on frontend work.

                    • Of course, you’re right: Scrum isn’t for anything else but frontend and the many backend-projects I successfully did with scrum never happened.

                      Ridiculous!

                      …unbelievable that such ignorant people exist.

                      The fact that you never encountered functional scrum does *not* mean it does not exist!

                    • they worked despite of Scrum not because of Scrum. I believe you but when more than 80% of those that use Scrum for backend say it does not work, maybe they have a point, don’t you think?

                    • Backend development raises a big challenge to Scrum because it is more likely to require better role-specialization – something that Agile in general tend to neglect.
                      Should be noted that there is a ( relative ) recent tendency to include sort of considerations regarding “T-shape competencies” and so on Agile-approach.

                      IMHO this is a clear acceptance of previous failure and a probable indication that in near-future Scrum will be subject of even deeper re-evaluation. 😉

  251. +1

    Somehow paralel with mentioned issues I want to point out to some other – as weakness of Scrum, even when it is implemented “as by the book” ( or better said – especially then ) which are rarely mentioned and usually overlooked :

    1. Impose a significant overhead : usual ceremonies tend to take 20-25% of working time of EVERY member of the team – and there’s no excuse to avoid them. Things are even worse for some position/project and needed breaks usually extend this limit even further.

    2. In many cases it tend to neglect and plainly refuse to take in account team-member specialization – and this leads to a suboptimal usage of resources, which aggravates problem from point (1). From my experience I’d say that a rate of 35-40% waste of “working time” is not uncommon. Which is HUGE – despite usual justifications ( “need to do this in order that all members of the team have a shared knowledge”, “Waterfall will impose an even big overhead”, “At least we cut documentation-time by sharing knowledge face-to-face” … ).

    3. As all Agile methodologies it requires a constant flow of Information from customers. REAL customers. This sounds easy at first glance but – is actually hard. Very hard. Almost impossible to achive in many/most cases – which leads to some of acting. Doubled by an “internal Game of Thrones” in really nasty scenarios. This is usually presented as a “mindset or organizational problem” but the flow is actually in core of methodology itself …

    4. Even when customer’s Information flow is well-handled ( or better said – especially in this case ) the pressure on PO is huge. INSANELY huge – and for this reason usually this became the weak-point from which a project starts to sink.

    5. Agile in general rely on changing “hierarchical pressure” with “peer-pressure” in setting objectives, progress-surveilance and so on. Even if this looks inocent in the beginning is always became nasty on long run ( nastier from mental POV – because nobody could anymore defulate with other members of the team against “a sucker Who is the boss” ) – and Scrum tend to push this to the extreme. From my experience the things started to fall apart in ~12 – 18 month ( luckly this is in many situation the “life-time” for a project 🙂 ).

    6. In recommended approach all member of the team should be there from the first stage of the project to the last one – even it’s usually impossible to assign to most of them something really significant to do for several stages … which imply further waste of resources. Ramp up and scalling tend to be a pain – but this is also true for downscaling and, even if not acknowledged, it seems to rely on aspects mentioned at (5) to solve somehow the issue …

    7. Tend to induce the use of “fake metrics” ( and to be damn creative at this aspect ). Take the rate of delivery/week/day for example : which is the significance of this number ? Will customer pay more or at least accordingly to it ? This is rarely the case – even if the “subscription model” to monetize a software product is common now. Will team-members feel more secure due to this ? Again – this is rarely the case, especially in long run – so it becames just a magic number to be used in ceremonies and nothing more …

    8. It scales up really bad. There is an observation in psihology which states that humans tend to acknowledge objects up to five instantly but need increasing time over this “magic number” – and this somehow corelate with my experience that Scrum gave decent good results in teams which consist of 6 to 8 people. Beyond this level and if members are differently geo-located ( and such situation are more and more frequent ) it becames just an … adventuristic approach ( or a “masked XP” – which is damn risky to use in conjuncture with Scrum ).

    Apart from these are few other issue which are not specific to Scrum/Agile but are more likely to appear when such an approach is implemented :

    1. Technical debt;
    2. Insane micromanagement ( via “violent transparency” but not only ) – sadly this was intended to be eliminated by Agile Manifesto but in practice …
    3. Disregard for building careers & extend knowledge of professionals ( actually this is probably a reason that Scrum proliferates in outsourcing companies ).

    Could be more but this are my .2 Penny for today.

    Best regards and excuse my poor English.

  252. Let me compare the author of this article to a university professor, who was hired by Microsoft at work on the Encarta project. As we know, Wikipedia win with this project. (look at Encarta description in the Internet).
    Try to imagine professor’s feelings. How much he would depreciated Wikipedia. He would believe that the only right way of development of the encyclopedia project was Microsoft way. He would complained that the work on Wikipedia disparaging his dignity, it took away privileges and equalized him in the hierarchy of sciences with juniors.
    It is good attitude?
    Evolution always wins, no matter you like it or not.

    • Could be a fair comparation if involved resources and monetization are taken in account.

      Microsoft hired probably ~20-30 guys for the project and try to be fully compliant with copyright at all aspects involved.
      Wikipedia us probably ~200.000 – 300.000 contributors and few thousands moderators. Handling of copyright is also dubios in many cases but few people really care.

      And biggest issue is that Wikipedia is free – if ( or when ) this would no longer be the case … well …

    • It is a struggle between the poor and the rich, the strong and the weak. The elite in most areas makes about about 2% of humanity. I also regard horizontal evolution as a lie. But everyone can believe what he wants, as long as he has peace in his heart and do not hurt anyone. We are not there to be clapped to the wall. And it does not always have to win the strongest. The one who understands is humble and sleeps well. To fight against fanaticism you should not – it only costs valuable energy.

    • But your are right in the point – who has faster the product on the market plays first. But i still dont think this has to cost people health.

      • Actually Wikipedia was launched 7 or 8 years after MS Encarta – so this is more likely to be a good argument AGAINST “being faster on the market”. 🙂

        The real killer was free vs. subscription-based access … but from this point of view Agile or any other methodology becames almost irrelevant.

    • I think you want to say that Microsoft used the values that where descibed in this peoleware book and this was the reason for their failure? Maybe you want to say this? Because i read that they applied Tom DeMarcos and Listeners described values in to their whole development company. Respect to this managers! 🙂

  253. Scrum suppress creative thoughts in work environment. It really tough to request a spike story to people manager acting like scrum master. Extra mundane work for engineer’s ….

  254. this is a stupidly dangerous perspective and posts like this cause contempt within an organization.

    Agile is not an implementation from which a process can be derived.. it is an application of a process implemented in an “Agile” or iterative methodology..

    all this article does is fuel the idiots who have no clue about software engineering principles..

    the magic of agile is the long-term capability and predictability matrices which can be derived from a consistent process implementation.

    Quite spreading disinformation without merit.

    Often times SCRUM is a codeword for daily stand up status meetings.. SCRUM is just a tool towards greater gains.. specifically, accurate predictability.

    • There are many experienced and inexperienced software engineers alike who would disagree with you. Many, including me, were subjected to the dehumanizing, dumbing down of software engineering that is agile/scrum (call it what you will). It was loved by managers who knew nothing about software development but still wanted to dictate schedules and architecture. Every software design was nothing but simple ‘stories’ that any code monkey could write. Years of work spent learning platforms and architectures were ‘bad’ because the other young, read ‘low salaried’, developers couldn’t grasp all of the concepts. Anyone can write software, right? I developed software successfully and for the most part on schedule for over 30 years using waterfall (yes, waterfall) and iterative development. Some of my architectures and code are still running over 15 years after they were released into the wild. Many were written by teams of developers, not just me alone. I was also privy to support issues and bug counts, which showed very low problem incidences for the software In closing, and as many have said, I think we have found a scrum master.

      • We act against better knowledge (the most companies still act against) says Peter Hruschka, a europe FORCE in Software-Engineering – the translator of Peopleware to German 2014 3rd Ed. I personally belive that scrum is the crutch managers with outdated management style can only accept. In german only: https://www.youtube.com/watch?v=T4MF_-y-B0A.

        But I represent the diligent developers or those who would be diligent if they did not have to work under compulsion. Old management style assumes that people only work under pressure – the more the better.

        • Correction.. I would also represent the slow ones and the juniors any good willing ones. If i had the time to – i would help almost everyone in a good environment… Sorry for my english i just use a lot google translator and i am not sure if the words are properly always…

          • Yes, part of my job that I enjoyed in the pre-scrum days was to tutor and teach anyone who wanted to learn. That all ended with scrum and it’s ‘me first’ compulsion. Scrum promotes itself as a team approach, but in reality people start hoarding knowledge to be better able to finish their own tasks on time. Don’t worry about the translation, I think you are understood!🙂

    • Agreed. Poor Agile or Scrum practices should not be used to dismiss them, especially when many companies are being Agile and experiencing all of the benefits from it.

      So much in the article just rants about the misuse of Agile and/or Scrum, re-labeling old practices tat were poor and inefficient to begin with, instead of truly giving it a shot.

      For those working in an Agile environment (or wanting to), I would highly suggest re-visiting the 12 Agile principles, and then to question any activity or behavior that makes it more difficult to improve on any of them.

      • Hi Tim, like your picture.. I once worked for big bank as a freelancer (but i am not at home in this business). The developers there were so inefficient because of all their various processes. The main work with the smallest budget was made by the freelancers in the last quarter, which i was also one of them. They were CMMI certified high level etc. I can imaging that scrum will really bring some boost to some kind of companies – no doubt.

    • I can’t hear this anymore. The managerial business research is more based on natual science than on social science even boths of them are refered to in business research. Their studies that dominates the business are less of a human nature.They prefer to work with numbers than with people. They are sometimes so stupid that they optimize themselves away. If it brings more value to kick you out – should your boss do it? Maybe, i dont know but sounds reasonable.

      • .. and if they kick me out – its even better than working for years as an adrenaline junkie in a “Code Red” war and try to be creative that is often not possible because the people will always have an own view of the things (this is human). I am not here to change this and the company should not do it with scrum. Everybody has its own resposibility.

  255. Scrum and Agile destroy the whole idea of software engineering in multitude of ways, to name a few:

    1) Iterations, quick responses and blah-blah-blah. Programming is NOT construction and inherently not incremental. Did you guys ever read Dijkstra? Professional programming lies closer to intersection of “formal mathematics and applied logic”, it is exploration process of deriving a formula that will fit the requirements not putting one brick after another.

    2) Measuring “velocity” in terms of “story points” per short time interval is just as useful as measuring performance by lines of codes written.
    Features do NOT have to appear gradually and on schedule. Babies not being born piece by piece, bread is no not being assembled from breadcrumbs, why software development has to be ridiculous 2 weeks “increments” for fuck’s sake?
    Large software requires long uninterrupted intervals to be developed properly otherwise it’ll be a Frankenstein assembled from pieces of half-baked crap with exponentially growing technical debt that no “refactoring user stories” could possibly address.

    3) Revokes right of self-organizing from engineers and gives it to somebody incompetent.

    4) Not only it’s not teaching juniors to do things right, it’s also discourages experienced engineers from doing it. They’re not idiots and have no point to bear risks with no perspective of reward, because their successful work (done despite Scrum bullshit) will be proclaimed a merit of Scrum and somebody else will reap the benefit.

    Agile and Scrum are popular because good software engineers are rare – which is the real problem I think. Instead there’s army of mediocrities and illiterate monkeys who call themselves engineers but don’t even know to solve a quadratic equation. Scrum is a proper tool to squeeze at least some value out of them

    • Puhh very radical. Good comparison with LOC and VSP (velo story points). In a software context, iteration means for me improving something continously and not “quick responses”. And an iteration and an increment is something different in my world of understanding. Abstraction and modularization has a lot to do with construction not?!

    • I’ve been very critical of Scrum, but I do like some of the ideas in AGILE. AGILE and Scrum are often thought of as the same thing. They are not. The AGILE manifesto contains a lot of good ideas.

      AGILE does emphasize incremental delivery and I do believe this is a good thing. Suppose we have a page with a table and a graph and one makes no sense to the user without the other. It is still a good idea to program one first and show it to the product manager so that person decide if it looks the way they wanted it to. It also shows that the programmer is making progress on the page even if it is not releasable yet.

      Under waterfall often nothing is visible to the product manager until the whole thing is near completion. Many waterfall projects get to the end only to have the product manager realize it doesn’t look the way they expected or doesn’t even work.

      And yes, if things are going well, having something to show to management is a good way to keep them off your back.

      • @Andy “Under waterfall often nothing is visible to the product manager until the whole thing is near completion.”

        Actually that’s not necessarily true. Waterfall just means you do all the estimation and schedule planning up front. The development many times is done incrementally, allowing many opportunities to show management and users parts of components that are in various stages of completion.

    • You are absolutely right with: “software requires long uninterrupted intervals to be developed properly”. Very true but a very old and known story. Managers that like scrum often have no idea about software development. We are not complicated and stubborn by nature. Software development is complicated and needs a lot of concentration. Every engineer that became very skilled knows this (also other intelligent people). How could that happen. Again, sociological science has totally failed. And then the companies complain that there are too few experts and you have to fly in from abroad….

    • Quite the selfish perspective, KolA.

      Why is personal recognition so valuable to you? Why are you so critical of your colleagues, deeming them inferior, incompetent, and mediocre, to name just a few of your dismissive slights?

      Why the anger? And why do you seem so resistant to helping others?

      If good engineers are rare, and you perceive that as the main problem, how would you propose creating more of them? Certainly having senior engineers lock themselves away to create product in isolation, away from such “junior” engineers, is not the answer.

      Regarding your post:

      – Your approach (long, uninterrupted intervals of development) provide little if any opportunity for feedback. There is significant risk with “going off into another room” to build something without the inspection and adaptation discipline that Scrum provides. Your only guidance under this model is that someone has correctly identified what needs to be built ahead of time, but their “spec” was done when they knew the least about the effort as they ever will!

      – You are right that programming is not construction. It is truly R&D. It is design, a creative art, with a ton of inherent unpredictability. So how would you best manage such an exploratory effort with built-in variability? Scrum approaches it by tackling the effort in very small pieces, so that it can adjust accordingly based on quick feedback.

      And for the record, Scrum does not discourage people to do things wrong, nor is relative estimation anything like counting lines of code. Perhaps you have a mistaken understanding of Scrum, or personal experience with bad Scrum?

      • @Tim “Why is personal recognition so valuable to you?” I think you may be confusing personal recognition with having pride in one’s work. Any true craftsman, and I consider good software engineers to be craftsmen, take pride in their work. It’s actually a good thing.

        • Because this is what makes a job satisfying. Being recognized for your work. About having pride of your work is hard to do this when it is so fragmented. Scrum is cancer to software development and creates software made of patches that works bad and is in danger to break apart any second. the difference between regular methodologies and Scrum is the difference between a craftsman and a tinker. Scrum is a tinker. Abut feedback here is the deal: the customer should know what it wants from the beginning. Stuff can be adjusted if needed as long is not major stuff at any time. Having major stuff changed every month (which is what Scrum is all about) makes for an inconsistent piece of software that works bad and barely holds itself together. Would you live in a house build using Scrum? Ii would not.

          • @Ciprian:

            The “customer” has a good idea of what they know, but as in every effort, there are known knowns, known unknowns, and unknown unknowns. PMBOK even has a term for it: progressive elaboration. We don’t know everything until we actually begin building it.

            What is the better approach: to deliver what the customer has asked for, piece by piece, and provide the customer the opportunity to change their “ask” based on this new information, or to build everything based on the original “ask”, assuming that the customer is right in the beginning, and then delivering it all at the end in one giant batch of functionality? What is the cost of waste if for whatever reason we built something according to our assumptions that didn’t match what the customer wanted?

            Scrum is not a cancer. Scrum does not create fragile products. Scrum does not change major stuff every month. Those are simply false statements. I will concede that “Improper” Scrum is painful and demotivating, though. However, much of the negative comments in this blog simply highlight bad scrum.

            • The client should know at least 70% of what he wants from the get go. A good example of how cancerous scrum is is the game Nosgoth which should have been an action adventure , mid production they added a multiplayer mode and ended as a MOBA every fan of the franchise hated.

              The customer cannot see much except for the provided interface. So giving him demos each month is a huge huge waste of time.Also no one said the customer is not consulted on anything or that it cannot make changes or that when a module is completed he does not get to see a demo. Problem is that Scrum demands these things so often that : 1) no project coherence ca be achieved 2) so much time is wasted on meeting, reports and demos that almost no work is really done.

              Ans my claims are perfectly provable and if you would approach the arguments against Scrum with an open mind you would see it too.

        • @Retired and Happy: Agree 100% with taking pride in one’s work.

          My question was in reference to Kola’s statement: “They… have no point to bear risks with no perspective of reward, because their successful work will be proclaimed a merit of Scrum and somebody else will reap the benefit.”

          This, to me, seemed not only to highlight a drive by Kola to receive acknowledgement for such good work, but also a strong fear that Scrum may be responsible for such “credit” to be bestowed on those far less deserving in Kola’s eyes.

      • 1. It is valuable to any craftsman. That is why paintings and any creation that is valuable id signed. That is why we have patents on stuff. It is not selfish.
        2. About being critical on coleagues, since there is no personal responsability for anything it means some can write bad code which you must fix. So basically you are doing their work as well. But you are still paid the same. That is not fair don’t you think?
        3. No one is against helping engineers that are not so experience. We are against doing their work as well. There is a big difference between helping someone and doing his work instead. If individual responsability is taken they can grow but if not there is no incentive. Have you heard of SEP(somebody else’s problem)? It is a human condition that happens to many people and it translates to: if someone else can do X, why should I bother doing it? So in Scrum bad engineers will always rely on the more experienced ones to pick up the slack and do their work as well as they are not held accountable for their code as well. So they write bad code and the others have to fix it.
        4. there is feedback. If the customer did not detailed something properly he is consulted. Or if a testable module is completed the client can see it and give feedback. The difference is you do not change major stuff every month. Slight alterations can be made, but if the client wants a major change more time must be allocated and he must pay much more. In Scrum it is assumed that any change regardless how major can be done on the fly. And that is because a client cannot differentiate between a major change and a minor one.
        5. I would approach it by other methodologies that have proved themselves to be working. I am not sure how it is called but let’s call it adaptive Waterfall. Basically you can make changes at any time but the later you ask for it , it should be smaller. A big change late in development can be done but the deadline will be changed accordingly in many cases the time gets doubled and the customer taxed much more. Or you can use iterative development with 3-4 months intervals. As I said there are many methodologies much better than Agile/Scrum which is cancer.

        • “Or you can use iterative development with 3-4 months intervals.”
          This has worked (several times) well for me. It always produced a stable, well thought out piece of software. The iterative process also let me test thoroughly and ‘fold in’ any design or requirement changes along the way.

          • @ Ciprian
            @Retired and Happy

            A 3-4 month “iteration” just happens to provide the ideal cover for a so-called “bad” engineer to coast along and contribute little to the end product, while more dedicated and skilled engineers perform the bulk of the effort.

            Scrum, with a shorter interval (2-4 weeks) and more frequent communication and collaboration opportunities, raises the visibility of such poor contributions from team members. Then, it is up to the team how they want to manage it.

            • @Tim “A 3-4 month “iteration” just happens to provide the ideal cover for a so-called “bad” engineer to coast along” – Only if the manager and co-workers are blind, deaf and mute. Maybe that’s what software development has become – an arena where controls are needed to expose all of the loafers ASAP. In all of the companies I worked for it was not possible to ‘coast’ for any length of time without being caught. I thrived in environments where performance was rewarded and the lack thereof was not tolerated. That would make scrum rather a sad commentary on what the software workforce has become. More and more, I’m glad I’m out.

              • i think @Tim cannot get out of the Agile/Scrum mindset. At the beginning of each iteration each programmer gets a module to work on and the specifications of what they need to implement. It is supposed everything is completely implemented before the end of the iteration so that there will be remaining at least 2 weeks for testing. If the developer does not complete its asignment in time he gets a warning and often a salary penalization (if the matter is serious he gets fired right away). If this repeats 2-3 times in the row (or in some cases not even in a row) he gets fired. So if by coasting along you mean he can do nothing for a couple of months before getting fired then maybe although from time to time the manager checks your commits or your local build to see what you have been up to. On the Scrum model you can coast along for years as there is no personal responsibility for any piece of code since everyone worked on it at some point and as a result you can always pass the buck.

                • @ Ciprian

                  “At the beginning of each iteration each programmer gets a module to work on and the specifications of what they need to implement.”

                  I’m not saying that isn’t what you experienced, but that simply is not Scrum.

                  “If the developer does not complete its asignment in time he gets a warning and often a salary penalization (if the matter is serious he gets fired right away). If this repeats 2-3 times in the row (or in some cases not even in a row) he gets fired.”

                  Again, not Scrum, but definitely an ugly and unmotivating work environment.

                  One thing that both Scrum and Agile borrow from Lean processing is the idea of focusing on the work and not the workers. As a Scrum Master, it does not matter to me how the team wants to manage the work they’ve forecasted for the sprint, as long as the work gets done. Focus on the baton, and not the runners.

                  BTW – the entire Development Team is responsible for the work they produce. It is counter-productive to single out any individual contribution to an overall work effort.

                  • First the two comments you mentioned were referring iterative development based on milestones. It has never said it has anything to do with Agile/Scrum. For some reason agilists consider everything not waterfall agile which is dumb and part of the agile strawman. And it did work well in some cases and was enjoyable.
                    You say is counterproductive to have individual responsability which is false and dumb. You should read about the psychological phenomenon known as SEP. This is what happens in an Agile project. There are plenty of people coasting along and they are rewarded because Scrum rewards the amount of work you do, or rather seem to do, and not the quality. So someone that writes bad code will always have good stats being always busy fixing its own code. And there is nothing the team can do but suffer. I do not like having to work extra for the team. I have a private life and want to work for myself not to others. Scrum is cancer.

                    • @ Cyp:

                      “Scrum rewards the amount of work you do, or rather seem to do, and not the quality.”

                      That is simply false. Scrum places an emphasis on quality in the work product – it is not something that gets swept under the rug or short -changed in traditional development methodologies.

                      “And there is nothing the team can do but suffer”, “So someone that writes bad code will always have good stats being always busy fixing its own code.”

                      The Scrum Team needs to be self-managing, which means that they have to be in complete control of how they work, and the quality of the product they’re producing. If management does not support this, it is simply Bad Scrum.

                      And unsure what stats or metrics you are referring to. Under Scrum, the main measurement is working (high-quality) software. Defects per story may be measured, but only to support root-cause analysis of such defects and improve quality. The Empirical Process of Inspection and Adaptation supports frequent analysis and reflection on how the team is working and how they can also improve.

                    • “The Scrum Team needs to be self-managing” what would motivate the team members to do the job of a manager too? there is no personal recognition in the Agile/Scrum environment so what would motivate the developer? Managers making more money?! I think not. Your view is not realistic. And bugs are not swept under the rug they are put in the Backlog and by the time they are addressed they are hard to fix and cause big problems. That is because the client is more interested in new features than bug fixing or re-writing code. And that is because Scrum makes it so that you need to show something new to the client every month. So if you worked on fixing bugs or improving on existing code he will not be happy because he does not care what goes on under the hood. So everyone concentrates on ever new feature until near GA. And because things are not tested complete until then and only by pieces a new working feature can break some old functionality that no one will test until GA (maybe it will get tested then maybe not). human beings simply do not work as you seem to imagine.

                • The scary thing is that, due to the length of time agile/scrum has been around, we are starting to have a generation of software designers and engineers who have never known anything else.

                  • Yes critical… As in managements self destruction. The rotation of the responsibilities in the management area has been extremely damaging to the management itself (and non existing scrum ownerships). People became unhappy and the job was no longer safe. The others are forced to do multiple more. Such a management style hurts the people and the company and image of the company! There are no longer any people who are just AVAILABLE for very important things, which must also be done and delegated. No availability and absolutly no freedom means no help from others!

                  • We go into an ego to self-centered world, although agile aims that it is not so. The developer and the man counts nothing – only the customer and the company and the money. The worker must be afraid of the job looks like. Sure there is alway no garantiy from boths sides. But where are any other values than money? A good company cares a lot about their emplioyees. How valuable a company that has products that do not compete.

        • @ Ciprian:

          “there is no personal responsibility for anything… So in Scrum bad engineers will always rely on the more experienced ones to pick up the slack and do their work as well as they are not held accountable for their code as well. So they write bad code and the others have to fix it.”

          Why are these issues even considered as relative to Scrum? To me, they’re just signs of dysfunction within an IT department, regardless of the methodology or strategy.

          “you do not change major stuff every month… In Scrum it is assumed that any change regardless how major can be done on the fly.”

          Those assertions are simply not true. Scrum supports variability and change, but each sprint is relatively fixed in scope, pointing to a single Sprint Goal to achieve. Also, under Scrum, the Development Team is always responsible for determining the amount of work they can complete within a sprint. No one can either estimate the work to be done, or forecast the work to be completed in a sprint, outside of the Development Team.

          • “Why are these issues even considered as relative to Scrum?” because in other methodologies if you do this 2-3 times at most you get fired instantly.

            “Those assertions are simply not true.”You missed the point entirely. Let’s take an analogy with a house . You start building a house and when you are at the second floor or even the roof the customers asks for a sustaining pillar to be teared down for more space in some room. You have to options: either tear down almost the entire house and redo everything which the client will refuse or do a patching job to make things work. If you repeat this 2-3 times the house will be down after the first 4.5 earthquake. My point is that Scrum allows major changes that should normally involve re-writing a big chunk code (that depends on the change) if one would want to maintain the quality but because such time it will never be allocated (for instance who would allocate 4 months for something the client considers simple?) so a dirty fix is applied and the team moves on.

      • Tim Baffa, you wrote “Your approach (long, uninterrupted intervals of development) provide little if any opportunity for feedback. There is significant risk with “going off into another room” to build something without the inspection and adaptation discipline that Scrum provides. Your only guidance under this model is that someone has correctly identified what needs to be built ahead of time, but their “spec” was done when they knew the least about the effort as they ever will!”

        You forget, that scrum requires, that on every sprint end there must be a complete, working product. You cannot split a single story over several sprints on purpose. But some stories are so complex, that they cannot be broken down to smaller stories which are self consistent and independent from the others and end up with a working product. So, in principle you cannot start with such a complex story, because it is impossible to deliver a working product at the end of the sprint. How do you handle such things in scrum? And if specs of such a complex story are even changed after half of the work is done, how can you handle that without tearing everything down and rebuild from scratch?

        BTW: Nobody ever developed a complex story without frequent consulting of the PM or the customer – whoever made the specification. But with other process models, there is not the requirement to deliver a working product every two weeks.

        And another thing: “Why is personal recognition so valuable to you?” It is, because we are not ants, but individuals. If I am not granted at least some respect for my thoughts, ideas and work, if someone else gets the thanks for what I have done, I am not amused.

        • @ Grumpy Old Man:

          It is an extreme exception to have a story that simply cannot be split to fit within a single sprint.
          Personally, I have yet to come across such a story, though.

          In many instances, the beginner’s approach is to try and split along architectural or workflow levels. This doesn’t support creating working software, though.

          Splitting stories is a skill, much like technical expertise in IT.

          And since Scrum promotes frequent communication between the development team and the Product Owner, how do you envision a scenario where the underlying specs would be changed after half of the product is built? To me, that seems more likely under a waterfall approach.

          • well a story can be split but it will not be coherent anymore. and if you did not see this then you have not worked on complex backend software I assume.

            • @ Ciprian

              I have over 25 years experience in IT, with 10+ years as a traditional “waterfall” project manager. I have seen just about everything, and built, tested, and managed just about everything as well, although a majority of my experience is with legacy applications and technology.

              When a story is split, it is always coherent and provides business value – otherwise, it simply is not split correctly.

              It is unfortunate that you have not received guidance and instruction on Scrum and the strategy of story-splitting.

              • as i said having years in IT does not impress me. Give me an example of a software piece you wrote you consider important if you want to prove your value! Legacy code and maintenance anyone can do. And being a manager takes 0 skill. Unless you provide the example I mentioned your opinion has no weight to it.

                • Really Cyp?

                  I need to “prove my value” in order to continue this exchange of ideas with you? My experience as a manager is meaningless in your eyes? My opinion has no weight? My assertions are dumb? I am close-minded?

                  Not once did I state that your thoughts and opinions were invalid because you have not worked in a true Scrum environment. I tried to understand where you were coming from, and why you felt the way you do. As it stands, I am left with the strong impression that you have participated in Agile / Scrum environments that were very poorly-run, and that you are not a very good “team” player (based on your self-promotion and disdain for your co-workers).

                  If you prefer to be completely dismissive of me, and to devolve our discussion into ad-hominem attacks, I will leave you to stew in your own misplaced bitterness. Good luck to you.

                  • You do not need to prove anything to me. You are trying to use the number of IT years as an argument and I told you it is invalid. You could work for 100 years and do the exact same thing and not learn anything new. Yes your experience as a manager is meaningless. There is a proverb that says those that cannot perform manage. And about team-player is a term managers use to convince the working man to work to death and is bs. Only juniors fall for that trap. So no, I am not a team player if this means carrying lazy colleagues on my back or having the consequences of someone else’s mistakes brake in my head. I do not believe in passing the buck. I am a team player only if everyone does its share of work.

  256. Any ‘ideology’ is prone to critics: ideal world and real world will always be different.
    What nowadays is called ‘Agile’ is a mix of principles and practices born since 1940s. Any of those principles and practices (and any other ones, as a matter of facts) should be filtered through common sense, and that is one vital absence in nowadays IT!
    In the past, IT managers were IT people evolving from a technical background – a serious one, usually – with practical knowledge of programming machines. Such an IT manager had much higher odds of being successful than a non-technical manager. Nowadays, being a manager is a profession taught in schools on a theoretical level, without consistent hands-on practical experience, if any …
    After almost three decades in IT, of which the last two practising what nowadays would be called ‘Agile’, I can honestly make the following statement:
    it is not the method, but it is the user!
    The highly skilled professionals (including programmers, architects, managers) will be able to deliver a functional product, whatever the method of choice, be it Agile or Waterfall. [Because of being highly skilled, they will know what to chose in the first instance for the project in hand!]
    The not so highly skilled professionals won’t be able to do it. FULL STOP!

    • Has a lot of truth in it, thanx.. But there is also a simplification. Not everyone has been experienced since his birth. Agile is supposed to improve the learning in a team. It is about fast teams with commitments. Scrum claims that it puts problematic teams on the track. But only when there is a real waste and less than half of a good working teams. When developers do indiferent commitments scrum can not fix that at all. Such people do not interfere with the process. As the article says, it just makes people unnecessarily nervous and the short-term velocity doctrined by a lot of scrum books is very harmful to a company with own high quality products. The developers should have more freedom, less velocity short-term, more trial and error serves everyone. Not counting the wrong things. We do not need processes in a perfect world and engineers tend somethimes to do things more complicated than neccessary and also managers. And it really looks like that some teams really need help in: work together, same goal. But i think it is sad when this only goes with scrum. Are there any other alternative processes that managent can live and do some different measuring? Or a mixture. I think this daily controlling is poison in many cases in a creative env. This controlling supports this velocity management with this daily commitments and other bad feelings. Business can not live without processes. But maybe the industry needs something new to sell if there is no other way. Simply something better. Scrum is sucked.

  257. hallelujah!!!! (sp)
    After 35 years managing and working in every area of IT, “PMOBK” was produced to address the lack of ability to plan, speak your native tongue well, collaborate of most people under 40. Give me common sense and the ability to think without guidelines!!!

    • @maury “speak your native tongue well” – I remember being ‘in charge’ of a team of developers in India while based in Texas. Meetings at all hours, difficulty explaining development concepts, being responsible for whatever they produced, etc. They were nice guys just trying to support their families (just like me), however due to the nature of the language differences and never being trained in software development or correct coding, refusal to ask for help (a cultural issue), they never produced deliverable code. And I was the one blamed, so, I usually took my own time and rewrote what they did such that it was correct. My manager finally admitted that the reason they ‘offshored’ development was because some accountant discovered that you could hire 3 offshore developers for the cost of 1 USA based developer. And that, I believe, is one of the major reasons for what we see. Financials are driving many of the changes (for the worse) in software engineering. But it almost always fails. Case in point – we offshored our support of a product with the result that after a year management discovered that for every bug ‘fixed’ (and I use the loosest definition of fixed), we opened 2 new problems. They finally had to declare the process a failed idea, as many others have admitted (Dell customer support comes to mind). Thus the need for a book (or process) to tell inexperienced people what many developers had already learned through years of hard work. It used to be called ‘mentoring’ but that would force the admission that you actually need experts. The new country in the mix is the Philippines – try calling customer support for your home ISP and see who you talk to. Some companies have even started telling their reps to refuse to answer the question ‘where are you based?’.

      • Agree. Four similar experiences with outsourced developers in 4 different companies on bigger software projects (C/C++/C#/GUI/HW). A complete redesign was necessary 3 times. Only one project was worth to repair and fix. They didnt were able to apply the basic of coupling and coherency. To admit a mistake is not in the mentality or maybe it was also simply naive. You should image that. The experience does not come after you have your title, but only with the projects and if you have the opportunities to carry them out. You also have to develop yourself by reading some good books related to software design and lean to apply all the concepts. The second part (applying the concepts) will take longer. There are also lot of do’s and dont’s.

        The optimization of the the middle management, the TQM concept of rotating employees (everywhere applied) and less as possible and this gap between the social and the natural science was often made in favor of short term cost optimization. The industry 4.0 that should bring economical one sided growing and the employee dissatisfaction push us into a new scheme of guaranteed basic income where some of us arent really used at all. This year the basic income was voted and rejected in our country. Maybe we are going to a social state and the middle class will disappear (by the way to destroy the middle class is the plan of the jesuits). Maybe Trump can delay this process a little bit more than Hilary – lets see i dont know. Hope it for america – i liked Ben Carson by the way. We will lose the fight but still I am very confident that there is reason to look forward to life and be very happy :). Fortunately, there are other perspectives in life. Take care about your families!!!

  258. Excellent. From first hand experience of lasting 3 months before I had to scream at them and leave this article gives an accuracy factual account of how corporates have been implementing un-agile scrum.

  259. Pingback: Meetings, meetings, and more meetings | Making Life Easier

  260. Agile is simply a failure. It is wishi-washi. And it is not to understand. Something what is not possible to understand ist also not applicable.
    I just cannot understand why out there is people trying to use some agile methods they do not understand. That is religion but not for a working environment.
    The manifesto is just lazy, half of the ideas in the manifesto are not applicable to SW development, see: http://ruynk.blogspot.de/2015/03/wie-agil-ist-eigentlich-agil-was-kann.html
    Sorry just in german. Use the google translator to read if you cannot the language.
    And the principels are also trying to make the manifesto work but not any better, see http://ruynk.blogspot.de/2015/05/agile-prinzipien-schwammig-schwach-lahm.html
    Sorry, german again.
    Scrum is a cancer.

    • Don’t worry, you are easily understood. Agree 100% agile/scrum is a cancer, and I might add a cancer for which there seems to be no cure.

  261. The usual defense of agile is “You just did not do it right.”

    Agile, by definition, is never to blame for disaster, but always for success. It’s like an invisible fairy, if you’re not successful, you just didn’t pray hard enough to the invisible fairy. But if you are successful, nothing to do with you, it’s the fairy. Anything better than the evil “waterfall”-devil, right?

    Now pay the priest of the fairy. Upfront. Those agile courses, certificates and books don’t pay for themselves. You don’t want to be working under this nefarious “waterfall” devil, riiiight?

    • Scrum is just a money-making machine exploiting fear. Conceptually (as a business model) it’s somewhat close to a sect. They invent new terminology and buzz words that leave an impression of a sacred knowledge. But in fact there’s very little scientific evidence that scrum improves productivity and/or product quality. If you rearrange banknotes and coins in your pocket, you don’t make more money out of it.

      Here’s a very interesting talk by one of the creators of agile manifesto (and he says it shouldn’t be actually called ‘agile manifesto’)

    • Agile fairy and the waterfall devil. You are so spot on. It always amazes me that Agilist cannot understand that Waterfall and Agile are not the only methodologies out there.

  262. I’ve been observing scrum transition for a few months now. It used to be a semi-agile environment with a few adopted agilish practices and seemed quite reasonable to me. Now the scrum has been deployed at a full scale with all the bells and whistles. We have scum trainings and scrum coaches, we have pretty rigid rules on how to maintain backlog, we have story points driving the development in the most sophisticated way, the team structure is now flat without leads and without clear responsibilities.

    Now the management sees the transition as highly successful, however the code quality has dropped, technical direction has literally been eliminated, we’ve been spending enormous time on meetings and discussions on how to improve the processes and… people are leaving. Mostly the senior software engineers. Apart from a few scrum enthusiasts, the mood dropped and we’re having a lot of internal politics and tensions which I’d never seen before. It used to be a great place to work and now it’s gradually degrading. I don’t want to leave but I don’t see this direction leading to a bright future so found myself looking through the job ads.

    • Recognizable. That’s the problem with all the scrum, kanbans, leans etc. Besides the ridiculous rituals, the focus is set on the process and not on creating good software. A lot of roles are introduced which don’t contribute to the real work and have no responsibilities. This does not only hold for the ICT industry, you see it in many places. One half of the workers, coaching, guiding, controlling the other half. It takes away the fun.

    • Hi Mike. Thanx for sharing your view of the things! Do you know the INTENTION why they applied scrum? Because everyone is doing it or because of they just use scrum that supports the management theory X best? Yes the managers have been learning this for a long time. Still up to date!

      https://en.wikipedia.org/wiki/Theory_X_and_Theory_Y

      In my company the managers say we are not mature enough for theory Y (more related to Peopleware values). With this they say indirectly the majority of our staff is lazy and needs to be highly controlled and ass-kicked. I belive that you should never use in any case theory x for work that is done with thinking. I am quessing that the image loss and the failure cost are higher than the usual time a team needs to develop a software without stress (see Samsung as current example). Its never worth to threath the employees that should develop something valuable.

      • The intention, I believe, was to address certain issues in the development (real issues I should say). However, a few months into the transition, I personally don’t see any benefits. Or I’d rather say scrum did fix few issues and created many more, at least in my view.

        As to theory X and Y, we do have very good experienced engineers so I cannot say X applies to us, but we’re now treated as kids in some respect. As an example, during sprint reviews, why should I be saying one word describing my *impression* about the sprint? What, is it a warm-up in a kindergarten? 6 experienced engineers are just exclaiming pretty much random words in turns and then they’re supposed to reconstruct their feelings about the sprint. Needless to say this exercise was abandoned after a few weeks as almost everyone was complaining about wasting the time, however we’ve now been introduced to other bizarre practices.

        Actually it reminds me one of my previous jobs where we also had scrum introduced during a short period of time (they had courage to confess it was a mistake). During the stand-ups, we had a ‘speaker’s ball’ to be thrown to/at the next speaker in turns. After a few cases when the ball accidentally hit someone’s head, the ball was banned. We got a soft toy instead…

  263. I’d still say one of the merits of scrum is the transparency of “project failures” that it provides for upper management, even if Scrum itself may be responsible for some of these. Basically, when sh*t hits the fan on a scrum project (i.e., when you cannot deliver X by deadline Y), it is immediately transparent to all members all the way up to upper management. Of course, it doesn’t particularly help out during the “damage control” phase, but at that point depending on what decision management makes you’ll know well if the organization (team or company) is past redemption and you got to move elsewhere.

  264. My team have been doing agile for the last 8 years, but we threw out Scrum some 5 or 6 years ago. As several other have mentioned it wreaks havoc on the teams morale when one does not meet the sprints goal. We are using something more akin to Kanban, which suits us much better. The main point to take away is to find something that works for the team. It is not like one size fits all, so it requires hard work over time to develop a process that actually works :-). And it is necessary to educate the stakeholders on how things actually works…

  265. Well, I am sorry if you worked in a company with such a bad Scrum implementation. Really. An I also think you completely missed the spirit of Scrum. Your story is full of examples of punishment instead of positive motivation, fighting instead of cooperation and inability to step out of the engineering point of view.
    I know that doing Scrum can be fun, it can produce excellent results and it can be effective, it just needs someone who understands people and inner mechanics of the process. Think again a try to find a positive way how to deal with the negatives you described. Then you may find out how to do Scum properly.

    • Scrum itself is no positive word for me. And scrum itself has no spirit at all because Scrum is not a person. Scrum is something evil. For me its the “banality of evil”. Scrum is management style X applied with fancy and pompous keywords to catch all dummies. Can you please tell me what should be good about it? More important is that programming is fun and not scrum.

  266. As always, I can’t help but think bloggers like to post provocative headlines that seem to be against Agile or against Scrum, but then explain problems with anti-Agile practices that any Agile practitioner would warn against. You at least say so in the first paragraph: “Yet, so much of Agile as-practiced is deeply harmful.” But, do we really need to rail against “Agile as-practiced”, or is our problem really with anti-Agile practices done in the name of Agile?

    But I will disagree with a few of your points outright: “Scrum is the worst, with its silliness around two-week ‘iterations’. It induces needless anxiety about microfluctuations in one’s own productivity. There’s absolutely no evidence [that this works].” Really? How about hundreds of companies that have invested to regularly measure their productivity and then implement Scrum to see a huge increase? Scrum at every point urges a empirical approach, where evidence would drive every practice.

    Me and everyone I know gets more done under deadline and Scrum when done well gives you a sustainable, low-stress way to do so. I still believe that “To achieve great things, two things are needed; a plan, and not quite enough time,” and Scrum is the only non-waterfall framework I have seen that harnesses the essence of this quote.

    I’m glad you are questioning things, and if you get us to think about our practices, that is good. Most of your objections are really easily refuted or sidestepped, and your substantial ones I disagree with. Kudos to you for thinking critically, but you’ve missed the mark.

  267. Pingback: Digital Strategy ? – Collected Reading

  268. The Agile Manifesto is a conservative document because it appraises virtues that were unquestioned and self-evident when I started programming, in mid 80ies. However, around 2001, when the manifesto was written, this virtues already were heavily threatened by hierarchical waterfall thinking, by the idea to industrialize IT, save costs and get control by business and management over the artisans and geniuses in IT department, to outsource IT just as a scaleable commodity, to use strictly managed low-brainers, to get control over the know-how previously stored in the brains of the geniuses. At least in large, highly regulated, security-sensitive corporations this war was won by management during the following time.

    So what does it mean when Agile / Scrum principles get introduced in such an environment? Logically, iterative, incremental processes emphasizing the feedback idea are in no way opposed to hierarchical thinking. It all depends on the meaning of „feedback“. In the early times we also had a close relationship to the business customer with feedback rather frequently. The feedback was meant to change the concept, to present to ideas, to enrich and correct these by the ideas of the customer – a cross-fertilisation.

    However, you can also handle feedback just one-way: Then it is just just a status report about implementation of the predefined plan, what it never was in the early days. But if it gets understood this way, then incremental atomized processes with frequent feedback circles mean nothing else then a very narrow tracking of the team, to keep it “agile” by intense supervision and tough management attention … mgmt style X in its most extreme variant…

    • Again the waterfall strawman? give me a brake. Most of the Agile principles are wrong if you go passed the theoretical aspect of it to implementing them. And Agile is a failure. After hearing one of the Agile original creators speak I can tell they had no idea what they were doing or what programming is. He confesses that the Agile manifesto was written mostly in one afternoon just writing down ideas that seemed ok to them at the time. What is interesting is that he admits he never gave a deeper thought about them or reviewed them afterwards. They never considered if they are realistic , if they can be applied successfully and so on. Is like basing your life on something a drunk person once said because it sounded great when you heard it. Agile is a religion at this point.

  269. “Waterfall” is definitely a straw man. I can’t recall a time when someone said, “Here’s our design. It’s cast in stone, and we will spend the next six months coding this.” No. The prevalent methodology was spiral. In spiral, the next version of code was planned, followed by high level design, low level design and code. Then it all started again. What is missing from Scrum is that design is often reduced or left out.

    • +1

      As for: “What is missing from Scrum is that design is often reduced or left out.”
      Don’t worry about that, Scrum has the perfect excuses:
      1. It’s a framework.
      2. It’s not specific to software development.

      (And let’s even forget about the funniest and most common one now, “you are not doing it right”.)

      Once you see the patterns of similar excuses everywhere and gain a deeper understanding of Scrum (the Scrum Guide most notably), you might notice it is *designed* in a way so that it can get all the credit but none of the blame.

  270. Came in search of *evidence* that Agile and Scrum are bad (any evidence of any form of ‘bad’ would do).

    Found none.

    There is plenty of evidence, however, that they are ‘good’ (if you value things like schedule performance, budget, quality, morale).

    Come on man, show us the evidence!

    • Did you read all the comments, many of them written by disappointed and frustrated developers? Isn’t that evidence enough for you?

      I don’t know any evidence, that Agile or Scrum are good in the things you mention – like schedule performance, budget quality or morale. For the first three: How can you keep a schedule, which, in fact does not exist by definition in agile development, because requirements may change all the time? Same for the budget? And if you do not have a concept of the software before development starts, you are always forced to fiddle the changes into an otherwise complete and working piece of code. It is not possible to create high-quality software working like that.

      Mentioning morale: Show me a single well-educated developer, who’s morale became better after introducing scrum. First three months – maybe. After that, one recognizes, that Scrum transfers the formerly creative and interesting job of a developer into some boring assembly-line work. Developers get their tickets and try to finish them during the sprint. No time for creativity or any kind of progress regarding architecture or techniques. Just built your little pieces, not knowing what the whole bunch of little pieces really should do, because there is no comprehensive concept for the whole thing.

      • I did. This, however, is anecdotal evidence, as opposed to empirical evidence.

        I am 20 years at this myself and have worked in dysfunctional teams of all types.
        Functional ones too.
        Ones with crappy morale and very high morale.

        The most functional ones, generally, seem to have been the more functional Scrum teams.

        The implications in the article seem to be that the Scrum teams referred to have been managed in a highly directive manner. Which is a really bad idea. I try very hard to avoid this myself, and generally only resort to that kind of approach if it’s obvious nobody in the team has any idea how to proceed. This is rare with the better and more experienced developers.

        One of my biggest challenges is to explain to stakeholders (I hate that word), that adopting an approach that explicitly disregards things like schedule (Scrum), is actually, empirically, provably, significantly more likely to result in better schedule compliance than approaches which explicitly define schedule compliance as a bound.

        See (if you can find it):
        “The Performance of Agile Methods”, by F. Davis Cardwell

        Project success rates by paradigm:
        http://www.ambysoft.com/surveys/success2013.html

        You will find many other such sources, including case studies, longitudinal studies etc.

        There’s one really big meta study on the subject which I might dig up.

        Finding convincing, empirical, evidence that Agile and Scrum are ‘bad’ is hard.

    • > There is plenty of evidence, however, that they are ‘good’

      If you know about plenty, could you share some of this evidence please, other than the infinitely repeated story of Spotify?

      Because I was really looking for it (both pro and contra) but *most* of what I found (pro) so far was:
      1. Anecdotes, fanboy blogs. And that’s not really reliable.
      2. Heavy promotion/brainwashing, usually from consultancies who make money from “Agile”. And that’s not evidence.
      3. In my own real-world scenarios: full-on failures with heavy burn-out, sold/marketed as success stories. And that’s simply a lie.

      • From my own personal experience, I’d have to say that *I think* things like project success (assuming you have a worthwhile definition of success), probably have a lot less to do with the methodology applied than they have to do management style, and how business priorities have been arrived at and framed.

        The less directive management have been, generally, I would say, the more successful the projects, regardless of the methodology implied.
        I worked on Waterfall projects that were highly successful, and ones that were massive failures. Same for Scrum and Agile generally.

        Got the best quality results with pair programming, state transition model testing, and data driven integration test frameworks.

        I think it’s quite a bit harder to lose massive amounts of money with Scrum, and see the upsides as basically equivalent generally. Whoever is paying the bills has a lot of chances to pull the plug.

        • On a related note, and on my current project, I was asked to commit to resource estimation, timelines, milestones, the whole project thing basically for a year long roadmap.

          In advance of even talking to, or meeting, the people likely to be involved in actual implementation.

          Without clearly defined deliverables. Approximately 50% of potential deliverables were not defined at all. I mean at all. They pretty much seemed to think ‘something needs to go there, but we have no idea what it is, we’d like you to figure that out for us’.

          This is obviously crazy, but for some reason I have yet to understand, is apparently considered OK in some management circles. Not just some. This seems widespread in my experience.

          So I refused, point blank, repeatedly, to commit to specific deliverables past 30% of the way into the project timeline. This did not go down well, but I did eventually win the argument. (Somewhat to my own surprise – I was prepared to walk).

          I chose Scrum as the framework due to the pretty obviously poorly defined objectives and very high level of risk involved. I have tried to give the team as much freedom as possible in doing the actual work (they are closest to it anyway and best qualified), and they’ve had a lot of freedom there. Only occasionally needed to shut down a bit of drift.

          The results have been somewhat mixed but characteristic of what I expected, and overall should be considered ‘good’.
          My contract has been renewed. 🙂
          The team seem completely bought into the approach.

          Some aspects of the delivery (those aspects which were defined, at least in concept), have significantly exceeded any reasonable expectations.

          Some aspects of the delivery are effectively prototypes or proofs of concept at this stage, and not something my team will take further (or need to take further yet).

          I’ve talked to management and developers on other teams. Almost universally, developers see the value in the solutions, but management don’t. I’m still working on it.

    • This are all very one sided studies, that are picked out from journal to underline the agile stuff. And Agile correlates with output looks like. The problem we have with scrum is related to the “engineering people” topic (productivity and efficiency of a individual).

      https://www.agilealliance.org/resources/sessions/battling-scrum-fatigue/

      We dont need evidence. Scrum alliance helps us directly…

      Or this one in German: https://entwickler.de/online/development/agiler-burnout-261956.html

    • I would say that a blog that has been going on for what? 2 years? And full of unhappy, frustrated, burnt out developers. All of who became this way after being exposed to the cancer that is agile/scrum. This would seem to be a pretty good indicator based just on the damage done to professional software engineers that agile/scrum is not beneficial to the process of software development. Scrum master do, however, seem to love the stuff…

      • Who would not be happy to have a job that entitles doing almost nothing except some meetings where you just repeat what the client said and say that everyone else is doing a shitty job?

        • As scrum master at present I’ve been making sure my team have stuff they need to do the job. Stuff they didn’t have, but had argued for previously.
          Mostly time (and money) to invest in building out required virtualisation infrastructure, build and deployment automation, decent machines, sorting out the mess that source control had become, pushing back against commitment before estimation (so common).. the list goes on. I generally tell everybody else my team are doing a great job. Because they are.

          • well then you are doing more than the job of Scrum master assumes especially when it comes to your team and I congratulate you for this. But you are an exception to the rule.

            • It’s the job as I understand it (but has been the job as I have understood it for pretty much every management role I’ve held, weather called ‘Scrum Master’ or not).
              It’s the essence of accepting the concept of ‘knowledge workers’ generally: they almost certainly know more about it than you do (not always true, I know more about build systems and virtualisation specifically than anyone on my team), so apart from some pretty general parameters (which you need to genuinely agree on), a) get out of the way b) get them whatever they need to get the job done c) keep senior management at bay d) make sure there’s room for dealing with any technical debt e) make sure they get to pursue their own ideas so long as at least some of them are even vaguely plausibly beneficial to the project

        • Few developers appreciate meetings, at least meetings of the kind that much words are spoken and nothing is said. Most prefer to work on their sources.Therefore, most scrum masters have been project managers or similiar before.

      • Hi Retired and happy,

        I have worked as a Scrum master and I really, really, really HATED it. After two months, I left my seat to another person that seems to like it and I now, I am working on a project using KanBan.

        Much more better and everyone likes it : no stress for nobody, developers can focus on design and proper code, customer does not need to write stories and I, as a team leader, can have the long-term vision for the project and also search and implement new technical stuffs into the application.

        No time-wasting in useless stand-up meetings, sprint planning (since there is no sprint but a continuous flow), sprint reviews or estimates (why losing time estimating when we can use the same time to develop ?).

        Developers happy, high quality, customer happy, no stress over the team. What else ?

        Triple-Win situation.

  271. Its true that a lot of studies underline the short time benefits of agile methods. And?

    Hyperproductivity (people process) and Jeffs recommendation “Do it right the first time” are already quite opposites. A study shows 53% of the IT specialist are in high danger of suffering a burnout, 13% also show critical burnout symptom. This are alarming signals! Even if all the agile journals underline the benefits of the agile methods, this does not mean that this is good for the people. Its a taboo that scrum is bad (peer pressure).

    A Master Study in 2012 over 3 european countries (in german only):

    Click to access Burnout-in-der-IT-Branche-Eine-empirische-Studie-ueber-Deutschland,Oesterreich-und-die-Schweiz.pdf

    https://www.getdonedone.com/the-taboo-of-burnout/

    Peer Pressure related to any “Teams”:

    (keephappyandthursty account looks banned. Sorry. I think i will leave this blog soon. I am no longer welcome here maybe. Wish you all the best)

  272. Indeed. Steve Jobs did not build the iPhone on a back log of user stories.
    I am rolling off a project that claimed to be agile, and also just refreshed the theory of Agile by attending a conference 6 months ago. I knew something was missing. i.e. that long-term strategy and architecture. I assumed that this job must be done by Product Owner and Architect, but this aspect was not well illuminate at all, and now after reading this post, I am convinced that this is perhaps the fatal gap.

  273. Thank you for finally giving voice to the various misgivings and suspicions I have formented over the last eighteen months of my career. It’s so liberating and validating to hear someome say these things and to know, “no, I’m not ignorant or insane – this way of working really is awful”.

    • This was my experience also after being exposed to the cancer that is scrum. All of the experienced and talented developers eventually left. The people who couldn’t actually develop software independently loved it or became scrum masters. Our usability team was sent packing. Management had a warm, happy feeling of total control while the software quality declined. What was delivered was not really what the real end user wanted because user ‘stories’ were written by internal people (not real end users).

  274. I’ve spent the last 12 years of a 30 year career working on quite a few agile/scrum/kanban yada yada disasters. In fact the iterative approaches in my experience are delivering less and costing more in comparison to non iterative methodology approaches. I can say with some certainty that agile/scrum/kanban simply does not scale (wait I haven’t finished!) in large complex organisations that utilize enterprise applications with multiple internal and external relationships. I say that after having worked on multi million dollar programmes (and holding senior positions) for major organisations and seen these programmes crash and burn budget whilst delivering very very little. It seems the ‘men in beards’ have replaced the ‘men in suits’ and these guys cannot be criticized for their transformation vision despite that vision being naive and downright dangerous due to their very limited (in many cases) experience. I have often thought if these guys are so smart how come they dont know how to use a razor 🙂 . There is one consistent trait to all the Agile Transformation consultants I’ve worked with in large organisations, they have all left within 6-12 months depending on who they know in the organisation. None have left due to ‘mission complete’, all left due to severe failure, lack of delivery, people disfranchisement and generally a realization within themselves that they were not up to the job. CV updated and off to the next one! Those left behind move on and await the next shining light ready to jump where it shines.

    I really believe that there isn’t a one size fits all approach. Right now (where I work and in the ‘IT community’) I feel and hear a huge amount of criticism about anything that is non agile/scrum/kanban yada yada and I find this most bizarre as I dont recall anything in the agile manifesto about despising anything non agile etc. Why it’s almost following the behaviors of many religions with zero tolerance or disdain for anything other than your own religion despite not knowing or experiencing anything about the other.
    In recent years I have seen the rise and rise of the Scrum Master who in many ways reminds me of a religious missionary that wants you to live the life according to their values. In fact some conversations I have had with Scrum Masters are frighteningly similar to a side porch debate with a Jehovah’s Witness or Mormon Missionary! The reluctance to see anything other than the contents of the Agile Manifesto is tiring, wearing, worrying and frankly irritating. Having attained Scrum Master certification is apparently attaining the ultimate enlightenment no matter how little experience the Scrum Master may actually have. Again this is a common trait to those practicing agile/scrum/kanban to disregard anything else as of no value and this is my particular concern. I’ve always been open to new ways of working coming in, getting better at delivery no matter if it was a new tool or technique and that is also my feeling of my peers I’m sure. So previously we were open to new ideas etc but now we seem to have shifted completely (left ..groan :(.. ) to almost the point where I feel like it’s a struggle of individualism against the agile collectivism which surely is a contradiction of the agile manifesto? Much of this attitude is whipped up by the agileista guru/twatter/conference speaker/blogger (that creates much of their income or status from the hits/talks/training/modelling poorly fitting tshirts) that follow on the back of some nugget of controversy that they’ve solved whilst working at their company or client and are ‘sharing’ for the good of the community. The slight problem is there always tends to be a strong agile bias to these shares or confessions. Any naysayers are swiftly put in their place by the supportive community.

    My belief is that there is a place for agile/scrum/kanban but its best suited to the smaller less complex projects or environments. I have worked in smaller companies where it was absolutely the best way to work. However, there is also a place for more rigid (mature) approaches in complex environments, these can borrow from other methodologies and vice versa. I’ve done hybrid approaches and its ok, no need to be scared!

    I am tolerant, I am open to new ideas and I expect the same from the agile community.

    • Thanks. Scrum has in some ways become like a religion. I think because it has developed into an industry of scrum masters and consultants whose jobs depend on it. See this video by “Pragmatic Dave Thomas” who was one of the folks that published the Agile Manifesto and now criticizes the way it has morphed into an industry:

      I agree that some projects should never be done in Agile/Scrum. I was at a company that had decided to rewrite their successful web-site from the ground up. The old software worked well, customers loved it, but the code was spaghetti. They decided to use Scrum methodology when rewriting it.

      The problem is that the new site could not be unveiled to the users until it had feature parity with the old site, something that was originally planned to take 18 months. Agile is all about producing minimum viable products, releasing them, and getting customer reactions. That couldn’t be done there. It was simply not a good candidate for Agile methodology.

  275. “It’s well known that creative people lose their creativity if asked to explain themselves while they are working.”

    Any references?

  276. Wonderful article. I shall send a link to my entire company, presumably, just prior to my termination.

    “Agile and Scrum glorify emergency”.

    I fail to see how making BAU take place by way of a “sprint” (literally a short lived process by which the most amount of energy is expended to cover a short distance in the least amount of time) produces a well thought out and implemented piece of software. From the standpoint of the developer it is an application of constant pressure and from the standpoint of the stakeholder it infuses a false belief that the approach is somehow speedier than any other. But in reality it just gives a sense that SOMETHING IS WRONG when nothing is wrong. Scrum is full of this kind of catchy but otherwise empty terminology. Adopters, you have been fooled.

    “It’s dishonestly sold”

    The “snake oil” analogy could not be more appropriate and from my experience the dishonesty goes beyond points made in this post. I don’t doubt that each construct of Scrum serves a purpose – just not the purpose it claims to serve. For example the daily standup is purportedly “not a status meeting”, but rather a “team planning meeting”. The plan doesn’t change. I am going to continue working on what I am working on until it is done! Folks, the daily standup IS a status meeting where we report out progress to the Scrum Master who then reports up the chain – entirely designed to ensure that the developers are actually working. Please stop telling us otherwise.

    By the same token, relentless time tracking and fine-grained user story breakdown for the purposes of measuring “velocity” does not in itself increase velocity. Oh, and planning poker is just degrading and juvenile.

    Scrum is a false prophet but for some reason a vast amount of companies are drinking the kool-aid. It’s a serious money-maker with few benefits beyond making developers docile and obedient. The real winners here are the Scrum Masters who take a weekend seminar and are then thrusted into a decently paying career with next to zero real responsibility. I do not mean this as an insult as I am reasonably certain most of them are aware of this.

  277. What a great read! I’ve been very much torn in a hate/love relationship with scrum for 9 years. My first experience with it was at a company where Scrum was implemented really well (read understood and supported.) Also the company wasn’t too large yet back then (about 50 people) to make continuous communication possible when needed. Most developers were mediocre with a handful of real talent.

    On the inside of this oiled machine it felt like we were moving fast and being responsive to our users needs, but once I left this company and looked at it through its users eyes again it became painfully clear how slow things were actually being released! This was almost entirely due to its long and strict sprints.

    I left this company for a cutting edge tech startup with nothing but really smart people and the difference meant a huge relief (eventually.) When I joined they still did things in a waterfall style and the harm of that became clear to everyone, including management because I discussed it out in the open. (Being friends already with the CEO and CTO I knew I could do so despite being the new guy.)

    Having had pretty good experience with scrum we have that a try to get rid of the waterfall experience asap, and although things like standups, user stories and retrospectives were positive changes, scrum quickly turned out to be an unacceptable bottleneck, limiting creativity and opportunities to experiment and prototype. In other words it killed what these greatly talented people did perfectly naturally: failing/learning fast!

    At that time Lean Startup was in its early days of becoming embraced by tech startups and had just started to get some traction in Europe (this all played out in Amsterdam.)
    When our CEO was introduced to Lean during a business trip to San Francisco he saw the light and got everyone a copy of Erik Ries’ book. And it did indeed turn out to work way better for our company of developers who’s product (Cloud9 IDE) was essentially made by developers for developers.
    Not to say it didn’t have a learning curve of its own or things to sort out. It obviously did, as the cycle of quick and continues learning and adjusting is inherent to the lean process as a whole..

    I am curious to the writers thoughts on Lean Strategies as a methodology (so not just merely for its defining process cycle.)

  278. Business-driven production in agriculture is a dead-end… said the USSR politbiro when adopting the first five year plan, which was followed by the Ukrainian Famine.

  279. Pingback: Top 3 Methods of Project Management. Scrum vs Agile vs Kanban - MonsterPost

  280. Well written article (as in, it’s pleasant to read) that is perhaps focussed on the wrong problem(s) and definitely lacks balance; it is effectively one disgruntled person’s complaining rant with absolutely no constructive takeaways or contributions.

    Seems to be an awful lot of me, myself and I in this post for a start.

    More importantly though, what effective alternatives are there to the Agile and Scrum as we know it? It’s always easy to point out the flaws and problems, but where are the solutions in this article?

    In the absence of solutions, this is just a whinging exercise about a larger systemic problem that has no right answer.

    • Craig – from one of my earlier posts. Not the be all – end all, but it worked for me (and my company).

      “What then would I use? A form of iterative waterfall where you start with a functioning architecture. For example if you have something you need to run from a client to a server, you would actually write the framework. And by framework I mean a simple client interface that actually sends a request to the server and a server piece that receives the request and then sends a canned result back to the client. There you have the initial revision of the client piece, the communications software and a server piece that responds. Then you start adding functionality as needed to complete the project. This even provides for showing demos of functionality to management and clients on a regular basis to show progress and obtain feedback. I did this in 1999 and the software is still in use and has an extremely low incidence of problems. ”

      And I might add that prototypes can be a real aid. I actually wrote my prototypes such that they were usually the basis for the architecture. That way nothing was wasted. New iterations were also where changes to requirements were factored in. And my reference to “still in use” was as of 2013, for all I know it is still in use.

  281. It’s funny that people still bash agile/scrum these days, unable to accept the reality that they do in fact (gasp!) work for a real business where management likes to have complete control and visibility. Whether or not scrum actually delivers on its promises is irrelevant — or, as I say, is about as relevant to management as the complaints of those reporting to it.

    • Are you a scrum master or a manager? One thing you might consider is the number of people who have had terrible experiences with scrum and the amount of time this discussion has been going. Scrum might actually have a niche, but I think that would be for smaller, web based applications. Using it for complex, mission critical, applications has certainly seemed (from comments here) to have been universally bad. And the experience most, including myself, have had with the consultants that sell scrum training has had a universality – that is that they come in to an organization at a very high cost, generate intense enthusiasm in the management team, teach and get out. No problem, they have their money and the developers, who seem to overwhelmingly hate the micromanagement that is scrum, are left to deal with the mess. Complex software design is closer to an art than a science and I believe that it requires a flexibility that is missing in the assembly line, code monkey, scrum world. Anyway, since I am retired now, I find it much more enjoyable to talk about scrum than to endure it. Cheers!

  282. Pingback: Top 3 Methods of Project Management. Scrum vs Agile vs Kanban - J&B Technology

  283. Agile and Scrum are not silver bullets. Competent management is a key requirement for success regardless of what development approach is chosen. In every organization i’ve used Agile/Scrum, I have to constantly remind people that “Agile means Agile”. The biggest mistake that i’ve seen is the tendency to be overly prescriptive in how the principles of Agile should be applied. The author’s characterization of the application of Scrum seems to be a commentary on an overly prescriptive variation of Scrum and hence his opinions lack openness and objectivity.

    • @Frank – “an overly prescriptive variation of Scrum” This may very well be the case, however from my own personal experience and (apparently) the experience of many, many other software professionals, this seems to be the prevalent implementation. Agile/scrum was certainly sold to my company as the ‘silver bullet’ that would absolutely guarantee quickly developed, reliable software. And if it didn’t, it was our fault for implementing the framework incorrectly.

      • That’s a familiar story to me. That’s almost always the problem. The key to success is to have the technical folks doing the work (or those that at least have a pretty good understanding as to what it takes to do the work), own the process. Because, at the end of the day, what everyone really wants is a way to predict when work can be completed in a reliable, quantitative fashion. Estimates are important, Forecasting is important and constantly re-adjusting the forecast is important. The proper use of these techniques ultimately assist the talented individuals who are actually doing the work.

  284. Pingback: 오늘의 읽을 거리(17.01.19) – Site Title

  285. Having been a developer and manager for decades, I’ve seen every fad come and go. Agile is just the latest fad and is nothing more than a repackaging of bits and pieces I’ve seen in the past. There’s nothing special about sprints or short duration stages of projects. Spiral and staged life cycles have been around for decades. Scrums are nothing more than status meetings on steroids. And as with any serial meeting, scrums are useless. They’ve become something to be gamed to make yourself look as good as possible in front of your manager and peers. The goal becomes the meeting reporting and not the work. And instead of tackling the harder tasks, the slackers try to get assigned the easiest so they look good in the scrum, and the good developers, who live for a technical challenge feel torn between wanting that challenge, while knowing that with that challenge may come a string of days or weeks essentially saying to an ignorant manager and their peers “I haven’t made any “noticeable” progress”. I learned 30 years ago that status meetings were an extremely inaccurate way of acquiring status

    One thing about being in this field so long is that you get to see one generation after another make the same mistakes over and over again. Why? They don’t study their craft. They don’t study their history. One reading of the 40-year-old The Mythical Man-Month or any number of excellent and timeless project management books written within the last 30 years would solve most of the project management mistakes people keep making. And then, regarding Agile or any other fad, maybe they’d learn, as Fred Brooks pointed out in his 30-year-old article, No Silver Bullet – Essence and Accident in Software Engineering, there is no silver bullet. If history is any indication, I predict another fad in 5-10 years after people realize that Agile did not solve project failure.

    • As a person who retired after 30+ years in software engineering, I must say this is the best written post to date. I can’t remember where I heard this, but I always remember the quote “It takes as long as it takes”.

  286. Pingback: Agile development – the best choice? – Dave's Digital Thoughts

  287. With all the good information in this article and comments, it’s frustrating to see almost every job posting saying you need a understanding of agile/scrum. I understand it alright, but when I see it in job posting after posting I kind of wish I was in a different profession.

    • gordie, I agree and have been afflicted by what I call the scrum cancer. It basically killed my career, but I was close to retirement age anyway. Happy now but it occurred to me that the money to be had is in selling the scrum disease to companies. Unfortunately my conscience got in the way. Oh well.

      Cheers!

  288. Working software over comprehensive documentation 
    In Agile nobody documents anything,just because almost ever little program will be changed in a short term,this is what I have been seeing. 
    Customer collaboration over contract negotiation 
    Well Costumer collaboration was always welcome,specially when you don´t even know what you´re going to build,how many time it would take,just let the commercial department get he fish,take some money from it,and bill it every 15 days,we never said them how much it would cost at the end. 
    Its really a smart trick,in waterfall the costumer can say this systems took 60% more money then you told me,in Agile nobody told anything remember “costumer collaboration”,”You should be happy We did twice of the work in half of the time”,no need for lawyers anymore. 
     
    Even the silliest consistence checking,the most obvious time saver  becomes a “Gold Plate”,well let the fish ask for it first,even knowing it would be faster to do it at the first “iteration”. 
    Responding to change over following a plan. 
    We´ve been responding to chances since the begriming of the civilization,But without a plan nobody will go nowhere. 
    In Brazil,where laws change in a daily basis,stakeholders change even faster than that,Agile is being adopted in the flash light for consultancy companies. 
    But why Microsoft,Google and others are getting Rid of Scrum,because of the stupid time boxing. 
    How can you work with innovation with Lucifer behind you with a Trident? 
    Two weeks can be nothing,or can be too much time. 
    Lets use Scrum at NASA,and see what happens,what can we deliver in two weeks.  
    At least Kanban is better in this since, there is no concept of sprints. 
    So even for companies with now knowledge of what they want,Scrum its the worst methodology to choose. 
    In the official Scrum book,there is a mention for the first company which has ever implemented Scrum,a credit card administration company based in Atlanta. 
    Well,this company has used PMI to implement the migration of the 4th biggest bank in Brazil to its systems. 
    Why,because in two weeks you can´t deliver anything in a project like these,either because you can´t develop anything serious,or because there is political internal reasons to be solved. 
    Just read messages from people that have worked in Paypal,AMazon and other giants in Quora. 
    “Well, we use a slightly different implementation of Scrum”,almost every time due to the limitations of Sprints.. 
    The neura is so big,that one of these days i Saw a Scrum Master complaining in LinkedIn,because one of the developers,on Monday morning could not remember exactly what he did on Friday. 
    I mean the guys come to the office,can´t even turn on their Pcs and had to talk what they do on Friday,if don´t they should be burned and sent to the lions. 
    At least in these “agilized companies”,here in Brazil,there is no more the concept of Sr. or JR. everybody is a Developer; 
    Last week I tried to read am article from an Indian Guy saying that you have shame of calling yourself a chief software architect,it does not exist anymore in the agile world. 
    Well,I´ll do it after Oracle,IBM,MicroSoft,Google and other companies stop using this names.

    • Bob, that was my first thought when I read the article. My work life went well when quality and creativity were rewarded. And then along came scrum and killed my career.

      • Retired and Happy,

        Maybe Scrum was a good thing for you? Both my father and father-in-law had trouble transitioning into retirement. They were Engineers and their career was their identity. Because of scrum, you know you’re not missing out on anything! You’re happy to be retired now.

        My team got forcefully transitioned to scrum last year. Unfortunately, looking a job postings, they are pretty much all scrum. There is no escaping it. I have about three decades left until retirement.

        • Yes, very insightful, although it took me over a year to understand that something good had actually happened. I had wanted to work for another 4-5 years and was worried about my shortfall in retirement savings. Now, I am an investor with myself as my only client and it is working out very well. To quote, “Every cloud has a silver lining.”.

          Sorry to hear about your pain though. I keep hoping that for all the people like you still left in the workforce that scrum will die and be replaced with something much better. Yet another quote, “Hope springs eternal”.

          Cheers!

    • I would tend to agree. I have always viewed creating exceptional software as closer to art than engineering, although computer science was (in my day) taught in the engineering department of my university. You can teach people how to code but the actual process of turning a set of fluid user requirements into a working piece of software is much more difficult than just knowing how the tools work. Don’t get me wrong, I think understanding the architecture of the platform you are designing for in considerable detail is essential but the actual steps to apply this knowledge to a task is either inherent in a person – or it isn’t. In consequence, it is almost impossible to predict the actual time frame required to finish any given sizeable project. I understand business needs but the old adage “it takes as long as it takes” is very true and this has always driven managers crazy. Almost every time in my career that I have been asked for a design the requesting manager already had a firm time frame regardless of the complexity of the task. And now along comes scrum promising to be the panacea that management has long desired. They can now dictate schedules to those fat, lazy software engineers. And as a bonus (since engineers/testers/tech writers are interchangeable) paraphrasing chef Auguste Gusteau in Ratatouille “anyone can code!”. It doesn’t seem to matter that the resulting software is usually a disaster because it’s completed on time And the highly paid consultants that ‘taught’ (and I use the loosest definition of the word) the scrum/agile process are long gone and have deposited their fees in their bank accounts.

      I absolutely love retirement – cheers!

  289. One of the complaints I see here is the author offers no alternatives to Scrum. I’m offering one – waterfall. No, I don’t mean Waterfall (capital-W), I mean waterfall (lowercase-w).

    If waterfall isn’t working, you’re not doing it right (sound familiar anyone?).

    Iterations – Waterfall (capital-W) requires you to do 1 to 2 year release cycles. That’s way too long! waterfall (lowercase-w) recommends shorter cycles, such as 1 to 3 months, or whatever makes sense for your project.

    Documentation – Waterfall (capital-W) requires you to write a bunch of useless documentation that no one ever reads. Use common sense! If no one reads the document, don’t write it! I worked at a place that required manual test plan documents. All my tests were automated. So I’d create a document with a couple of test cases to satisfy the process police. It didn’t matter because no one ever read those documents. waterfall (lowercase-w) requires you to write only documents people are going to read.

    Communication – You don’t need to sit in a bullpen to communicate with each other! I worked at many places where BAs, SAs, developers, and testers all sat in cubes close to each other. We all knew each other. If there was a problem, we’d walk over and talk. If someone was working from home, we’d call them on the phone and do a WebEx.

    Programming Practices – Even though they originated from agile, there is nothing wrong using TDD, CI, pair programming, … Waterfall (captial-W) mandates lot’s of manual testing. waterfall (lowercase-w) is perfectly fine with automating all your tests.

  290. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! | ULTRA-LIGHT NEWS WIKI

  291. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! – THE JUSTICE LEAGUE NEWSPAPER

  292. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! – The Millennial News

  293. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - NEWSPAPER

  294. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - The Storm

  295. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - THE ANTI-CORRUPTION JOURNAL

  296. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - BIG NEWS

  297. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - Crime Squad

  298. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - YOUR NEWS

  299. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! – Europe Today News

  300. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - GIZMODOM

  301. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - THE DAILY NEWS GLOBAL

  302. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! | - GLOBAL -

  303. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - The New York Tines

  304. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! – Tolkein Tales

  305. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - Modern Love: Online

  306. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - TABLOID: THE MAGAZINE OF NEWS AND CONTROVERSY

  307. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - POLITICAL PAYBACK

  308. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - THE JUSTICE LEAGUE

  309. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - SILICON VALLEY

  310. You have done a great job of making a highly cogent argument against Scrum. I agree with pretty much everything you have said. At this point, the industry is riding the hype wave produced by the economic incentive the Scrum consultants have fostered. This can probably be mostly blamed on the smart phone, since millions of immature app companies have popped up in an attempt to create the next “killer” app. This sort of development benefits from scrum since the focus is not on engineering since that is already taken care of as a result of the platform, but more on business driven requirements that are hastily brought to releases so as to gain the upper hand on user base before the competition can duplicate the functionality. This type of company would indeed be in perpetual crisis mode. Just look at Snapchat and Instagram, they are going at it with each other with a vengeance.

  311. Pingback: Engineers as clerks? How programmers failed to get the status they deserve. | Michael O Church Archive

  312. Pingback: Software’s management problem | Michael O Church Archive

  313. Pingback: What I Fought For | Michael O Church Archive

  314. Pingback: Is it OK to enjoy the deaths of “unicorns”? | Michael O Church Archive

  315. Hi, thank you for this post I agree with you that Agile grew up in web consulting, where it had a certain amount of value: when dealing with finicky clients who don’t know what they want, one typically has to choose between one of two options. very useful information

  316. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - THE CLEANTECH GREEN-CORRUPTION SCANDAL

  317. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - THE LONDON WORLDWIDE NEWS

  318. Commitment, courage, focus, openness and respect are the values that underpin the scrum methodology. I would argue that a team of experienced developers living these values at work (and at home, why not?) would flourish under any methodology.

    Rather than give an account of the detail of my experience or try and convince you I’m going to address some of the white elephants in this room.

    To the author, you are wrong. I have more than enough evidence in my 20+ year career as engineer and company owner to show that it’s possible to build software solutions of all shapes and sizes using scrum in a happy and harmonious environment. By the sound of it the scrum practitioners you worked with were doing it wrong and that’s a shame. Notice how that’s not an apology. In addition to that, your post is littered with generalizations and fallacies which suggest somewhat of a victim mentality. Change the way you think about your place in the world.

    As a side note, and I’m sorry if this stings a little: you are clearly a bright engineer but I don’t think you’re well suited to an environment where you aren’t considered to be the super star regardless of the methodology.

    Generally speaking this forum reads like a agony aunt column for practitioners who have, or are in the process, of being chewed up and spat out by the industry. For those in the midst of it, you seem lost and desperate. You’re looking for answers but I don’t think you’re asking the right questions which says something in and of its self. It’s like watching the opening scene in the opening scene of 2001: A Space Odyssey.

    To those that took early retirement because they felt hard done by, you make me sad. Rather than talk about your best, you should’ve been home shagging the prom queen. Or contextually speaking, you should be out there being a voice of reason and helping the industry grow it’s next crop of engineers.

    Stop swimming in the dark and open your eyes. For the real truth goto: http://www.scrumguides.org/

    • You wouldn’t be one of those flim flam places that sells scrum training would you? This sounds like the scrum pep talk that the scrum-boys gave when they came to ‘indoctrinate’ us.

      And since we are into beating our chest and bragging, I had a 30+ year career developing successful software applications without scrum. And then saw the damage that the scrum religion did to good developers.

      But hey, glad you are happy. From the tone of your post maybe we should call you ‘father’ or ‘pastor’? Say a scrum prayer for me, please.

      Cheers!

    • “Or contextually speaking, you should be out there being a voice of reason and helping the industry grow it’s next crop of engineers.”

      I tried. I tried to convince my company and my coworkers, to change some basics of our software, like GUI framework. otherwise, I told them, we are out of business within one year. I was silenced and put aside by the eloquent talkers in the SCRUM meetings, who had much less experience than me, and were afraid (or too lazy) to re-develop the software from scratch. SCRUM prefers talkers to makers, such is my sad experience.

      Guess, who got less and less customers after SCRUM was introduced, and who finally went out of business?

      • I’ve had the opposite experience. We use scrum events (“scrum meetings” as you put it, unfortunately a.k.a. “ceremonies” which perpetuates the religious connotation) to challenge the talkers (fast, eloquent or otherwise) and shoot down absurd statements.

        • Unfortunately the ‘absurd statements’ that are shot down are ones much like what ‘Grumpy’ has stated. If it can’t be done quickly by a junior developer, we can’t do it. And the ‘fast, eloquent talkers’ are the ones that are listened to. They define what is the ‘absurd statement’, not the experienced developer. Scrum (in my company) rewarded incompetence and punished almost every knowledgeable developer. Many, many times the juniors came to me literally demanding code snippets to show them what they had promised what was (in their words) ‘easy, piece of cake’. They promised the unreasonable to get the sprint points then whined because they had no idea how to perform the task. If I took the time to try and teach them I didn’t have time for my own tasks. To top it off, they didn’t really want to learn – they just wanted it done for them so they could get to the next sprint and more points. Rewards at review time.

          But now, I don’t really care and the division no longer exists. Seems like poor quality software caught up with them. And, as far as I am concerned, people can take scrum and shove it where the sun doesn’t shine.

          Cheers!

        • It always ends up that there can be talks at these events as long as in the end Scrum is the way to go. It’s not a discussion but rather a means to expose dissent. “What would it take for you to try Scrum?”, “Just give it a chance.”, “Your right, we screwed up this time, but we’ll do better next time.” – how many strikes before it’s out?

          Would you be willing to give up Scrum if an engineer told you they had great success with a custom process for which they can clearly define all roles and artifacts? Probably not, which continues to allow absurd statements and practices at these events.

          I’m not certain your discipline, but I doubt you’ve spent more than 6 months on a development team (either the purist “no sub-team” or the reality “dev/test role” shop) in the critical path trying to delivery on 12 2-week sprints back to back.

      • Part of the problem with scrum is it focuses on what can be accomplished in two weeks. That’s fine for adding a new button to a GUI, or changing the color. But bigger projects, such as replacing a GUI framework, scrum doesn’t make as much sense.

        Where I work at now, there is a scrum team that is replacing the GUI with the latest, hippest framework. Scrum is mandated at my company. The “KPI” is to replace the framework by the end of the year. This is basically a waterfall project, but since we are not allowed to do that, it must be scrum. Instead of having requirements and a deadline, it’s a KPI. Which is basically the same thing, just renamed.

        Because the team is scrum, they incur a massive amount of overhead. Daily standups, backlog refinement, sprint planning, retrospectives, demo, scrum of scrums, scrum of scrum of scurms, … So many hours spent in meetings. Those meetings really fragment developer time!

        If this were a waterfall project, the team would be given a deadline and left alone. There is a chance they would miss their deadline. At the scrum teams current rate, there is no chance in hell they are hitting their KPI either.

    • Checked it out (http://www.scrumguides.org/). To these guys’ credit, they are creating jobs – or at least making them up. ScrumMaster? Sounds about as necessary as a WalMart greeter. Sorry – couldn’t resist the jab. It seems to me that on average, it is not that Scrum doesn’t work, it is that developers just hate it because the process is completely inorganic. But corporations love it for the promises it makes. My guess is the vast majority of successful companies using Scrum are mostly faking their way through it due to lack of genuine developer interest but are still benefiting from the structure it instills.

  319. Well, I think I’ve seen 2 examples of Scrum model working. One was a big engineering-driven software dev company, that developed an Agile-like process for itself before the term was coined up. Up there, Scrum was formally introduced but never taken too seriously, being rather adapted to existing practices.
    Another, was a small dev team in a business-driven corp, doing the corp’s customer web portal, observed in a period of finalization of another code version, when general design is finalized, leaving only TODOs like minor features, bugs, and last-minute ideas. And never being shy of having some promising and low-priority as open-ended tasks being dragged from current Sprint to another, and so forth.

    So, I reckon, all this Agile/Scrum stuff might be good if taken with a grain of a salt, and implemented in a way that doesn’t make it a religion. I.e., if Scrum process gets in the way of engineering process, it’s Scrum rules to be amended and adapted for the process, not other way round. This way, it provides a sensible control for overall process without having tail wagging the dog.

      • Andy said that it’s not Scrum that makes the businesses successful, they were successful without it. Agile was the relevant label assigned to their process, not consciously applying Agile doctrine or Scrum processes. And the second example flies in the face of Scrum – rolling over stories.

        I, to, have worked as an engineer at these larger, successful software companies and if I were to put a label, it would be labeled iterative development. It was engineering driven and it was a healthy system for all individuals. Sure there were crunches, but those were much less frequent than every 10 business days.

    • I think the religious stuff is definitely a turn off for many developers. There was one day when two long corporate wide meetings would be help. Almost no work would get done that day. Someone suggested we skip the daily standup. The Scrum Master was in shock at such a suggestion!

      It reminds me a story I heard of an old lady who only missed Sunday mass once in her entire life. And that when she was young and too hung over from drinking the night before. She lived her entire life in shame for missing church that one day.

      If we missed that daily standup, we’d be 90 years old, looking back on our life and being ashamed of that one day!

  320. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - MORE NEWZ NOW = NEWS

  321. Scrum is simply a framework that needs to be tweaked to best suit the team. The problem that this individual highlights is when companies perceive it as the holy grail.The framework is provided to be chopped and changed based on the team using it. I don’t believe ant 2 teams would ever be the same.

    The inspecting and adapting constantly gets neglected.

    • Sure it’s simply a framework, but the statement it’s simply a framework doesn’t tell us much about its qualities.

      That practically means that scrum never works by books. You implement it by a book, waste time and resources, realize it needs ‘tweaking’, tweak something, fail again etc. – that is, not only scrum brings iterative development but also iterative process adjustments.
      That creates huge inner friction and heat, time wasted on restructuring etc.

    • Waterfall worked well for me for decades but iterative development worked even better. The difference was that software had not been ‘dumbed down’ by the Visual Basic/C#/Java mentality. Developers worked years learning the platforms and technologies. They also took great pride in their work and the teaching/mentoring aspect their experience provided. New people wanted to actually learn instead of just being shown how to do something or, even worse, just provided a code snippet that did their assignment. Jobs were not sent offshore and managers hired good people, trusting them to deliver what they had estimated/promised. Requirements were actually gathered before start of design and coding. Changes were limited but and carefully factored into the developing framework. Major changes usually had to wait until next release unless you had really blown the requirements phase. I loved my work, I loved design, I loved writing unmanaged C++, I loved threading, I loved COM/Active X, I loved hooks, I loved modifying MFC macros, I loved SQL. And software I wrote had a very low defect count and usually took longer than management desired. And many things I did are still in use almost 20 years after they were conceived and written.

      And now there is scrum. And experience is seen as arrogance. And understanding complicated technologies is bad. And things that take more than 2 weeks are bad. And developers are ‘plug and play’ – just like a disk drive. And a lot of your team can’t speaka de Inglese so well. And incompetence is rewarded.

      And I am happily retired. Just in time.

      Cheers!

    • As any sort of constructive criticism your assessment has 0.0 value. Please back up your assertion with examples or analysis. And I think I hear an echo…

      Cheers!

  322. This post was hilarious to read. At first I thought it was a joke, but then I realize the author is serious. I wont even get into all the errors and false assumptions I saw since I am pretty sure that doesn’t change the author’s opinion. Great fun anyway.

    • I would agree with GordyH and add that your post reflects a position that appears indefensible as you (apparently) have no logical arguments to back up your assertions.

    • This reminds me of trying to win an argument as a kid when I knew I was wrong. If the post was so laughably bad, you could easily offer a real point or two instead of pulling the “you’re just so wrong that I’m unable to explain why” card. As it is, it just seems like you have nothing to say. Internet debate isn’t really for your opponent, anyway; it’s for the bystanders.

  323. Thanks a lot for this post, Michael. Really happy that I stumbled upon it. I found there is more actual food for thoughts in this article than in most other “Agile is dead” articles around there.

    Interestingly enough, I have the feeling that your strongest belief is best summarised in one of the 12 “agile principles” from the “terrible” manifesto. One could argue that I am in the enemy’s camp, being a so-called “agile practitioner”, but it also happens to be the one principle I find most important when applying any type of software development methodology. That’s the one I mean:

    “Build projects around motivated individuals. Give them the environment and support they need,
    and trust them to get the job done.”

    Many of the things you dislike about Scrum and Agile implementations probably show that this principle is often not being applied, and that is probably one of the big problems with the current “state of Agile”.

    • then you get a contradiction in principles. You can either check and talk often with the devs or trust them to get the job done. You cannot have it both ways. All those meetings Scrum demands and Agile implies by its principle are very disruptive for a dev working. for a manager a 30 minute meeting is a 30 minute time consumption. for a dev a 30 minute meeting is usually a 2 h consumption and if it is placed badly even a 4 hour consumption. That is because developers work with their mind and the human mind is not a switch you can turn on and off instantly.Well maybe for really stupid people like most managers seem to be is but not for the rest of us. Also you mentioned Motivated people. Can you explain what would motivate someone to destroy his health (high blood pressure mainly) for a project where he is paid peanuts , is treated like a junior, gets no recognition and does not improve his skills?

      • Agile was originally intended merely to focus on iteration over endless long requirements that turned out to be incorrect when the product was delivered, and to hand the responsibility directly to the developer. The fact people are bastardising it to increase their level of control over developer time is not about the methodology, it’s a general industry trend driven in large part by the fact that technology itself has changed. In the early 2000s, developers I worked with were great, whereas now they are more likely not to be: the shit hot ones are working for cutting edge tech firms, not in financial services, which is where Agile and Scrum are gaining traction. Of course I agree that it’s better suited to front end dev only, where you can easily link visual components to dev and dish it out, not to actual proper dev.

        • In the early 2000s we already had iterative development called Unified Process. The early iterations were more about requirements gathering. The later ones were more on development. Some people would do too much uml, but uml is good- just do the documents you need and throw away what you don’t need.

          The people who came up with the agile manifesto in the early 2000s do not like what the consultants have done to agile. The agile manifesto is quite small. It had nothing to do with scrum masters or stand up meetings or two week iterations, etc. The general consensus from experienced IT professionals is that that agile (at least the stuff taught by consultants) is horrible for core development. It can work for small feature development, but the agile/scrum sold by consultants is mostly a scam.

          The criticisms in this article are quite accurate.

  324. I get “different strokes for different folks”. Maybe it works where you are, maybe it doesn’t. My problem is that the majority, not all, but a majority of comments/stories on agile I read is basically… “you are wrong and/or had it implemented wrong because agile is obviously the superior choice”. That smugness runs rampant through this industry.

    • industry = process improvement business. Not only software, but any kind of business process.

      It is basically an esoteric industry: if you don’t get your order from the universe, you placed the wrong order. The is never wrong, it’s always and only you.

      Process is what people do: on the process side, the process is never wrong.
      It’s actually a very good pitch: you always define/teach/sell a perfect product. You can never blame “the process”, it doesn’t drink tea, it’s virtual, it’s not real.

      On the people side, the people side, this means you actually *can* always blame the process. It is a basic human attitude, used since the discovery/invention of gods. If it runs swell, it’s you. If it fails, it’s the process/god/universe.

      I think the main point is to leave these emotional/believing/missionary elements out of the discussion when analyzing what works and what doesn’t work for your team. And for each team, the process will be different.

      Process is what people do.

  325. As long as we can not change the mindset of the “homo oeconomicus” and the extrinsic/lazy/money motivated software developer (sure we can not), as long are management styles very subjective. In HR, the maturity model according to Paul Hersey and Ken Blanchard (1977) and the situational leadership style is taught now (2017 MBAs, BAAs). But this style just does NOT fit into homogeneous scrum teams. Actually a pity, since software development is actually R&D by it’s nature and not compatible with management theory X. Hopefully the next generations of MBA’s or BBA’s can bring a positive change. Whereby the possibilities of each HR are limited to the company’s personal strategy. And the highly praised “full range leadership model” has a charismatic god/idol at the top of every company with its situational leadership. The models of Herzberg and Maslow are still used but criticized. What is scientifically acknowledged is the «Job Characteristics Model», which does also not fit well with Scrum. Scrum is more the personal strategy of the creative evolution which does not fit into professional R&D tather for an advertising agency. Not very difficult to understand the whole.

    • Whatever… The only part I wish to take issue with is in the first sentence – “extrinsic/lazy/money motivated software developer “. First is the thought that there is absolutely nothing wrong with wanting to be fairly compensated. Let me repeat – nothing. The worker is worth his or her wages. What is wrong is being compensated equally with what I call ‘coasters’. Those people that don’t really know anything, or want to learn for that matter. But due to the monstrosity that is scrum these people not only thrive, but they actually float to the top. Hire me, give me assignments and then compare what I have accomplished to others. All I want is a chance to compete. And then pay me what I am worth. There is guile or shame in that. The second is that good developers are not lazy – they actually love to work. I know I did when the playing field was level and production was rewarded and the task was longer than a week or two. When I was given a framework such as waterfall or iterative to thrive in. It becomes apparent pretty quickly who is worth keeping and who isn’t. This also has been destroyed by scrum – and what I call the ‘dumbing down’ of development to the lowest common denominator that follows. I won’t even talk about the horror of coordinating with ‘offshore’ teams.

      Cheers!

      • Hi R+H

        Yes, the worker is worth his salary I am with you for sure. I didn’t have time to differentiate it but should not be an excuse. I am talking about those who only work when you are forced to do something. There are many software developers who want more and more money and bonus, so they are more motivated for two months only – so we have such with us they are behaving like greedy managers. This is the bonus system for people who have the potential to do more while they are bored, which in the normal case is more applicable to managers than to software developers (The well-known resource problem). Scrum is sold well because it predicts economic advantages. Scrum also sells – quite simply. But the fact that competition and anxiety inhibits growth are already known from small children who grow up in a dangerous environment. But that does not matter to materialism. Scrum is an unsuccessful mass-destroying, deceptive means of materialism. The inventors of Scrum were in financial difficulties and the brilliant idea was to sell this code red to everybody. It’s a Golden-Hammer antipattern but for a process.

        It’s all about who’s better than the other. This is not only so in religion (which is misunderstood Christianity, for example), but unfortunately something human in general. We also partly belong to this embarrassing mass. Scrum is an environment of competition…

        Greets

  326. Pingback: Why “Agile” and especially Scrum are terrible | Ace Infoway

  327. Pingback: scrum deliverables contradict continous delivery – yellowchicken

  328. Late to the party here… But two bucks worth:

    What’s being described is not “Agile” or “Scrum” but all the normal stuff that happens when you try and get larger groups of people to coordinate their actions. This disfunction has way more to do with the number of nodes in the graph than any particular algorithm.

    Agile and Scrum can be tools for the devs to protect themselves from the biz types. In my experience when the devs really take ownership it can help a lot with getting biz buy in to the process and therefore help them see that there is longer term value in that process.

    Also, as a dev you are there to help the company make money. Sooner jr. devs realize that fact the better.

  329. Wow, I couldn’t disagree with you more, and your article shows how little you understand the purpose of agile development and how it is “supposed” to be done. It is true that many companies implement it badly, but when done well it is the antithesis of everything you wrote. Daily standups are not status meetings, they are opportunities for team members to pick their heads up for a few minutes and coordinate. Team members are supposed to be empowered to think and to do great engineering, not to be stripped of that opportunity. Done well, Scrum makes for engineers that are both more productive and more genuinely engaged in their jobs.

    The problem is that many companies don’t really embrace the agile mindset, and just layer some bits of scrum on top of their crappy, outdated processes. That gives rise to articles like this one.

    I’ve seen it done both ways, good and bad. Done well, it produces a great working environment where people thrive, learn, and do great work.

    • “Done well, it produces a great working environment where people thrive, learn, and do great work.”

      The same may be said of waterfall and iterative development. One thing about the agile/scrum that I have NEVER seen before in 30 years of software engineering is the amount of rejection, stress and angst generated and voiced by software engineers. Only management (and scrum masters) seem to be really enjoying this system. This blog has really helped me see that I wasn’t the only engineer that thought something was seriously wrong with agile/scrum. It closely mirrors experiences and feelings I perceived around myself when I was in the industry.

      Cheers!

      • Can you then please help me understand? I’ll be open to say that I am one of those “agile believers”, and most of what I’ve been reading here feels a lot about:
        “Scrum is a management control framework in where we totally kill all the self-organization and use everything in the framework to make sure we demotivate people”

        I’ve experienced very, very seasoned software engineers who worked in a Scrum team who have received a lot of freedom in coming up with their own practices and principles of HOW they do their work. Combined with a visionary Product Owner who did not steer on short term gains, but towards a clear vision and that all seemed to work very well.

        What is wrong with the very basic scrum framework (empricism, self organisation and 3 roles, 3 artifacts and 5 events) that so heavily demotivates software engineers?
        If done right it can only help them receive freedom on how to best do their work?

        • I work as a key player in a scrum team and contribute a lot to the current business success because of my specific expertise in embedded systems and such system wide programming. As seasoned software engineer who visits an evening study besides the 100% job and beside my very young family i just had to follow the business rules as a well integraded employee. But I hate scrum and that has not yet brought me to be extrinsic motivated employee (according to HR theory possible due to certain circumstances). Who knows what Scrum is? Sure Scrum is a code-red with high-frequency feedback system according to Jeff. In HR theory feedback is the most important thing, but daily feedback is not meant! The daily standups as I experience them are pure pressure medium for the probation for the next two weeks (nothing to do with coordination just with Hyperproductivity 300-800% more output and reporting purpose to the higher management only! – beside other treatments..). An external Scrum-couch friend has admitted that it is purely for micromanagement for the business and its evaluation/statitics, whatever they will do with it (maybe velocity measuring and one sided transparency). The information flow in our company is 180 ° and not 360 ° and also not separated from the management as Jeff recommends. As learned in a Management/HR study last month from “James L. Heskett, W. Earl Sasser, Leonard A. Schlesinger, The service profit chain” that employee satisfaction correlates dramatically with customer satisfaction! I can absolutely confirm that for the related products! First it was said that Scrum simplifies everything and then it was also expanded to a Swiss Army Knife antipattern further in order to swallow everything.

          Found a good quote instead of my own words 5 mins ago from Lord Thomas Babington Macaulay: There is no more terrible power than the ability to make people ridiculous. There is no greater proof of virtue than to possess boundless power and not to abuse it.

          • I’m trying to understand what you are syaing, but struggling a bit.

            To bring it down to the core, the only thing the Daily Scrum (not Standup, as Scrum says nothing about if you should stand up, sit down, plank, or whatever) is, is a moment for the development team (not scrum master, product owner, manager or any other) to check if they are on the right track to meet the sprint goal (they formulated themselves in accordance with the Product owner). So it is just checking: are we doing the right things and should we be doing things differently? Nothing about control and micromanagement.

            If you utulise the daily scrum for anything else, it is not Scrum.
            If management does not want to be transparant in what they are doing (is what I think you mean with 180 instead of 360?) that says more about faulty management and bad leadership than shitty Scrum.

            Perhaps help me out a bit more?

            • Excuse my bad English. What I wanted to say is that Scrum is often used in reality as a tool for micromanage the people, which I have confirmed by a Scrum teacher who also knows what going on in the field/reality and not just in theory. And low maturiy employees (MG1,RG1) should be in the same team with good ones and become a mentor without this environment of an internal competition. The goals of our Scrum-Masters are always focused on the daily business and their justifications to the higher management to stand well, nothing else – i really mean nothing else. If you have big goals, you can achieve great results to which i can look back so far. What some do in a 2 week sprint, I sometimes do in half a day or in hours. I am therefore not better than others but in specific areas more experienced. But in the front of trees you often can not see the forest anymore. What particular developers in these ridiculous two weeks sprint then do is just for the JIRA statistics. Than more you have atomized bugs, than better you are performing. Well done…

              Take also a look at this article. Its really funny! Maybe you know it already: https://www.aaron-gray.com/a-criticism-of-scrum/

    • Edward – Very insightful, you have indeed changed my life (sarcasm). Do you design your software with as much data as you have presented here? Oh, wait, you are the scrum master, you don’t need any data.

      Cheers!

    • Heh. I will agree that there are issues with any software development. Bad managers can make a mess of anything. Good managers will do a good job under most systems. The problem is with mediocre managers. I do believe that Scrum brings out the worst under mediocre managers.

      I also hate that agile and scrum are being regarded as the same thing by so many people. Look up the Agile Manifesto and you will see that it explicitly deemphasizes process while Scrum is all about process. There’s a video by one of the signers of the Agile Manifesto where he says that Agile has gone off the rails by becoming an industry.

  330. This should be required reading for software engineering majors all over the world.

    Been working in the software industry as both programmer and manager for the last 5 years. It’s the worst managed industry I’ve ever seen. Especially having worked in other industries before.

    You hit the nail on the head. Most of the problems are because of agile (whatever variant). And when someone points out the problems, they’re told that it’s not “agile, it’s just not being implemented right…” reminds me of “it’s not communism, it’s not implemented correctly”.

    Now I run a software company and forbid my managers and developers from touching agile or any other snake oil practices that come along with it.

    Software engineering needs to be done right. Because we seem to be forgetting basic engineering principles in the hopes of never having to manage client expectations. It’s terrible situation to be in and the quality of software is only going down as time goes by.

    I fear we’ve effed up so bad that recovering from this mess is going to take a long time.

    Anyway, sorry about the long winded comment. Awesome post and if I ever met you in person, I’d buy you a beer…or whiskey!

  331. Awesome post. Perhaps worth noting that Agile/Scrum seems to destroy the environment (and time frames) needed for introspective, and ultimately useful engineering R&D. That kind of R&D culture was much more prevalent in the 80’s and 90’s before Agile.

  332. “Agile is to have the courage to admit that software development is complex and requirements will change and therefore cannot be perfectly planned”.

    Scrum is a framework that not tells you HOW to do your work but is a lightweight process framework designed to help to adapt to changing environments.

    (Senior) software engineers should receive the freedom within the framework to help improve the overall software development practices and help make the 7’s a 9 and on. The team self-organizes in order to find ways to best do their work.

    The Product Owner has a long term vision on which he decides what is best to do next, supported by input from the development team.

    If you have experienced anything other then the above, you did not do Agile or Scrum.

    • Experienced IT people who have developed complex systems (by and large )do not like scrum(agile). It is a tool for micromanagement that is counter productive. Consultants selling it and scrum masters seem to be the ones who like it. You can see this through out the posts here. If you really read this article you have to go point by point and say what you disagree with. I find the points is this article accurate.

      • Hey Gordy, thanks for your reply! Over the last few days I’ve really been trying to let this artile sink in and ponder if it is really still about the Framework that is faulty or that just so many teams have adopted it wrongfull.

        Let me take 2 examples, quoting the article:
        “but clearly below all the business people who are given full authority to decide what gets worked on.”
        This states that “Development Team” members are lower on hierarchy since business is given full authority what gets worked on.
        If you follow true Scrum this is totally incorrect. Yes, the Producht Owner orders the Backlog and says what he would like have, but it is not only decided by the business. A smart Product Ower listens also to the Development Team and ways in their feedback in input. I’ve seen multiple teams in where the input and feedback from the Development Team was taken more seriously then the business, as they most of the time had no idea what they actually wanted.

        Then this:
        “It’s designed to be there forever: the business-driven engineering and status meetings will never go away. Architecture and R&D and product development aren’t part of the programmer’s job, because those things don’t fit into atomized “user stories” or two-week sprints.”

        Let’s break it down: Scrum has no status meetings. All events have a specific purpose, so if you ever felt you had to do a status report during any of the events, it was not Scrum. The concept of a “User-Story” is not Scrum. Scrum only works with Product Backlog Items and can be anything. Also, Scrum doesnt say you should do two-week Sprints, but prescribes your iterations are a max of a calender month in order to keep the risk and complexity within bounds.

        My point here is that what I’m reading is: “this is how we did Scrum and the way we did it sucked”. Which for me makes total sense. However, I also read a misinformed person blaming something that was adopted in the wrong way. Which causes me still to wonder if the framework really is to blame.

        But you know what, there actually is another thing I’m more interested in. It seems that there are a lot of people here who fully agree and say Scrum sucks. I also see mentioning of Waterfall that is not good.
        So that question that (obviously) arises is: So, what then?! How do we then build Products?
        It seems developers or software engineers are struggling with the fact they get micromanaged and such, so perhaps we can bundle forces and come up with something that would work? I’m honestly very eager to learn what a better way then Scrum or Waterfall or Kanban would be! If you have any thoughts, let me know 🙂

        • Hi, so this had been answered many times but I will try answering once more. First off there is not only Waterfall vs Agile, there are many other methodologies. I do not know their names but I can describe them. Second except for a few cases Waterfall was never implemented as described in those documents, rather than that what I call adaptive Waterfall i.e. changes can be made even late in production but the later they are inserted the more time and money will cost the customer which is logic if you do not treat your devs as slaves. Another version is iterative development based on milestones. You have 3-4 months iterations, each iteration is pretty much like waterfall and you have one major release once a year usually. You ask what methodology should be used but the question is a bad one. The reason is there is no silver bullet. Depending on what you develop you can apply various things. for instance if you your project is at least 90% interface (gui) or if it is a simple small project that lasts at most 3 months then one can use Agile even Scrum. But Agile/Scrum does not map well on bigger projects. you can do a sprint fro 100m but not 1 km . Well you could as the hero of Marathon did but then just as him you would collapse and have an heart attack. in game development I found that iterative milestone programming seems to work best. In anything else I would say that one should go with a form of adaptive Waterfall. These are just a few solutions from a meager programmer. If I were a manager i should be able to give you more alternatives. But I hope even so to have proven to you that everything does not center around Agile.

          • Thanks Ciprian! Good feedback.
            I fully agree there is no silver bullet and each situation caters to its own approach. And I think that even people here could agree to this simple statement:
            Hey, if we’re going to build something big and complex, it might make sense to break that down into smaller chuncks. Let’s first focus on building the right architecture (and perhaps let’s also start small there to prevent too much work upfront?), but we could try to deliver some working functionality every month orso to at least test our assumptions in a Production (like) environment.

            To me, that feels as quite logic. Wether or not you call the above Scrum, Agile, or anything else… yeah as long as we focus on building the right thing, and building it right!

            • I must disagree. Breaking down things may break inner coherence. So with complex software this is definitly not a good idea. About delivering every month again not a good idea. Usually the chunks are too big to fit in one month without loosing coherence. And let say you split them into smaller pieces. Unless you have a predesigned exact blueprint in the end those pieces will not fit well together. I never saw a scrum complex project that does not look like a dozen of small pieces badly put together with duct tape. There is something called irreductible complexity and that is why Scrum is a bad bad idea.

              • Hmmm I like this – it’s stretching me out of my comfort zone. At least good food for thought. I will chew on this some more. Thanks!

        • What is good and correct for the individual employee should be known by his line manager (their job, he fails if a good employee says goodbye). The line manager also needs freerooms to think about this. Every manager knows that there is no perfect process – but… The various personnel strategies, are positioned somewhere in the two-dimensional manageial grid I would say. The best is a mix of employee orientation and production orientation. I personally do not belive that the production oriented direction fits literally with sophisticated intellectual work (apart from further constraints). Yes, there are industries that are primarily production oriented and that may be good so. I personally find however both extremes are wrong and there is often a mixture. Management style is very subjective and is rooted in the individum. With values ​​such as people over processes, etc. (which the majority of the employees probably find good) one does not necessarily find it good in a profit-oriented environment that all companies are. In an own company with its own products, a participatory or cooperative style is maybe optimal depends on the employees and how complicated maybe they are – dunno. According to the outdated character theory, it is said that the introvertie is the more careful worker. I do not know if this is true, but who cares we will not discriminate anybody. I would say a process of healthy common sense (the process, intentionally without name) with freerooms for mutual awareness and GIVING ATTENTION to everybody. Freerooms to think and to work and to introspective (Thanx Rita) are important. In HR, incentive systems can be summarized: security incentives (binding), social incentives, status incentives, incentives for Self-realization, incentives for position/power, the performance motivation because of the fear of failure as described in HR-theory etc etc. Let them choose, give attention to the individum. Try to apply these incentives in a homogenous scrum team. Team incentives may e.g. on a sociological level for example. Define also qualitativ goals not only quantitatives, i know its much easier. What I find important is that one does not work with industry-destroying processes, that let employees get into the burnout and after that than try to fix that with an experimental approaches. Dont manage and try to lead more (HR theory see core differnces between a Cheff(control freak) and Leader(respect)). Clearly employees can be parasites and work that you like less must also be made. But the second is also ok so. I do not expect someone to be perfect, but allow the same to the others. Let’s say a common-sense process, CSP. Unfortunately, many do not have more. Forget this daily standups and let them self organize. Stop Sprints and daily standups. Make status reporting to the management every week or two not more. Forget Jira and Burndown-Charts they just look good but are not of qualitätiv value more controll stuff. The fight for the external resources for a company with professional products is, in my view, rather secondary. Anyone who does not pay attention to his or her employees can already contribute a great deal to the success that is anyway hard to reach often. And never forget that the factual level is always borne by the relationship level. Our humanistic and postmodern thinking, which paradoxically does not necessarily serve us to our advantage (in my opinion), has made us hard hearted, and we leave only purely one sided objective arguments. It is not surprising that compassion and mutual respect are lost. Dont reduce yourself. Tom. De Marco has noted in his studies that projects fail primarily NOT because of technical problems, but because of sociological problems.

          Ups… Must re-enter into the flow!…. l8ers

          • @Keep – You said “What is good and correct for the individual employee should be known by his line manager”. This is true, but beyond that the manager should know what is good and correct for the length and type of project being developed. You cannot do simply what is good for the employee and ignore what type of system actually produces timely, functional software for the business issue being addressed. Read Ciprian’s reply above for a very good description of the various methodologies that are much, much better than scrum/agile for any project lasting more than a couple of months. I would chose what I call ‘iterative waterfall’ where requirements are gathered and a design is produced based on gathered requirements. A framework is then developed that implements all or most facets of the architecture. You then start a process of modifying the architecture as needed (requirements change for example) and adding features. Test cycles are started and test cases added as the development progresses. Management decides when the software is ready to be released based on outstanding issues, market demands, requirements changes, etc. For development of an extended scope or time frame, scrum/agile fails miserably.

            Cheers!

            • Hi R&H,

              I’ll just say something very briefly and incomplete…
              This is dependent on the stakeholder, project and employees.

              Let’s leave important principles away such as eg:
              – more result-oriented than processor-oriented
              – as few regulations as possible
              – Talk, instead of bureaucracy
              – Trust rather than hedge
              – The agile principles
              – take responsibility instead of giving (maturity)
              – etc etc etc..

              The classic iterative development (before it was taken over by agile) lacked a feedback system that is so important for the management only. It does not go without feedback in my opinion, however, this should be weekly or ever two weeks to have a healthy sustainablity. Someone has the right to know what he spends money on, but he has to allow also qualitativ working conditions.

              Sorry to say this but I think any Waterfall is not ideal for software development. In hardware development and electronic production, I have successfully applied Waterfall and worked over years with and under it. But for software i would choose always an unrestricted iterative approach. This covers all areas (requirements analysis, system architecture, software development, documentation (minimum context views and key concepts), testing). React on important changes as fast as possible with an iterative approach (for your customer or for you). Of what I do not mind is e.g. an enterprise system architect, that writes the architecure into stone, whether well or badly as the first waterfall phase and dogma. In general, however, the more responsibility an individual employee can assume (for example, sub-system architecture and development, etc.), the faster, more motivated and qualitatively better is developed (if this is not the case i would say there are other problems). Take your time at least for ad-hoc testing. If you do not spend time you get (occording to a statistic) 30 errors on 1000 lines of source code (cummulated later really hardly to find). System testers will never find them all. As I said, software is a pyramid and is always influenced by all sides (top-down, bottom-up etc.). Everyone should develop an understanding that additional work (out of plan) make a plan invalid. A plan adjustment is not a criminal offense in software development. When the customer does not know all requirements from the beginning, the initial plan does not know all the tasks from the beginning. I also find narrow-minded to say that features generally can not change. I can remember some figures in my mind that in an average project has 20% of the requirements change within a year (I would not call it a feature creep). Some similar dogma are for example related to the holy interfaces. If it is / or should be necessary to change an internal interface – just do it. A lot and good changes can not be comfortable, sure. Maybe in some projects you really have to distinguish between product development and product maintenance.

              PS (good Tipp): Never say complex when you mean complicated in front of your customer! It indicates a poorly developed system that is hard to maintain!

              Greets

        • And I would add doing more up front analysis and design. Use cases, scenarios, and some UML are important for systems that have have some real complexity to them and you are not just adding features to exiting functionality. Of course you have to use your common sense on not doing too much UML. And I would agree, get rid of these stand ups and sprints. If you respect your employees you will get quality products that will be delivered in a timely manner, etc.

  333. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! | The Muir Beach News

    • Haha – Woman! Get of your high horse!
      I see myself as somebody that truly believes Agile and perhaps Scrum (if done correct) works.
      But even I clicked away after the first alinea… that is a bucnh of horse-sh*t and people posting this give me more understanding why most people here are so anti…

        • Curious into the “comment behind the comment”. I’m not a Scrum Master so what is that you are saying?
          Just to make sure: my response was not on this article but I fully subscribe what Dave was saying about the link he shared.

          • I was in software engineering for over 30 years and saw many design methodologies come and go. A side note – don’t misinterpret my quote of years in industry to mean I think I know it all or that people new to the industry could not have great ideas and input. On the contrary, I learned it was in the best interest of whatever project I was on to listen objectively to everyone. I quote years simply to demonstrate I have seen quite an evolution in software engineering processes. When I started, the Edward Yourdan book describing the ‘Yourdon structured method ‘(aka the big orange bible) was just coming into vogue. That was followed by several other methodologies including waterfall, iterative development (my favorite), RAD, etc. There were always issues with the methodologies, mostly with the way that management tried to distort the process in favor of schedules. All would work iff (if and only if) done correctly. The frustration felt by software engineers was always with management.
            Now along comes agile/scrum being sold by consultants like hot dogs at a baseball game. Sold as the solution for all and every problem with software design. This is the first time in a career that spans over 30 years that I have heard such frustration from such a multitude of software engineers and it is always leveled this time, not at management, but at the methodology itself. The only people have seen or heard that like this cancer were either managers, scrum masters or junior engineers. I have seen careers of myself and many friends, all either very experienced or people with less experience but very sharp, all having in common tremendous talent, destroyed. I have seen many, many people who don’t know a ‘for(i=0;i<n;i++)' from their a$$ who thrive in this environment, all the while producing software of what I would call shabby quality. And, if the process is questioned, the answer is always 'you ain't doin it right'. Either agile/scrum is so hard to implement correctly as to be a guaranteed disaster or the process itself is garbage. Either way, toss the trash out and get back to what works, if for no other reason than the tremendous antagonism from the software engineer community.
            As to agile/scrum I do know it's a lot more satisfying to sit, retired, and write about this stuff than it was to work with it.

  334. Pretty decent original article – although I don’t necessarily agree with all of it. I’ve been involved in agile transformations for 9 years now. My observations are:
    1. Processes work under certain scenarios, fail under others no matter how well intentioned the practitioners. Scrum is a process – therefore it will fail under some scenarios. Waterfall is a process – it will succeed under some scenarios. (It tends to fail under more scenarios than agile processes, but not for all scenarios.) Building a house requires a different process from building an apartment building.
    2. People matter (I know – thank you Captain Obvious) – I’ve seen people who are not at all agile deliver the goods, and I have seen the agile philosophers fail miserably. I’ve also seen the opposite.

    The one thing that I think might be contentious is that, there is a strong tendency within agile enthusiasts (not all!) to value “being agile” more than delivering. The counter argument will be “But I value working software and that adds value”. Yes – they say they value working software, but any deviation from the agile process potentially gets the “But this isn’t agile” response. I don’t think of this as being much more different than waterfall enthusiasts who believed that the stage gates and checklists were more important than working software.

  335. Pingback: Crossing the Equator 1: From Tech Blogging To Fiction – Michael O. Church

  336. Pingback: Week 14 – CS373 Spring 2017: Scott Farrior

  337. hello Scott Farrior, if your not saying he is correct, then which part do you disagree with? I know you may be using a figure of speech, but i’ve been in this business quite a while and I find his laid out arguments quite accurate. It may be that as time goes on that people in college will lose touch with what worked in the past. Especially if colleges don’t teach the history of programming and the methodologies and types of programming that have been around and evolved(not always for the better). Do they teach about the “the Three Amigos” and the “Gang of four”? Do they teach about how in the US (for example), how corporations lobbied the US government in the late 90s/early 2000s and till this day, to enable outsourcing, etc. to reduce labor costs greatly in IT?

  338. Agile collapses on anything beyond the obvious 2- to 3-day fixes or added features when team members are racking up points for the sprint to make their metrics look better.

    It’s often impossible to put credible time estimates on backlogs that are poorly blocked out during grooming on projects that only the owner is aware go way beyond two weeks into months. Often the product owner doesn’t appreciate the technical scope of specific changes in a planning session, severely underestimating the mechanics underlying a change.

    Software management seems to be abjectly disconnected from how its reliance on metrics are poorly served under those conditions.

  339. Many of the criticism in the comments are boiling down the logical fallacy of justifying a thing because *some of its side effects are beneficial*.
    “But Scrum made us release more often and this is really good!”. No, releasing more often is really good, and that is one practice sold *alongside* with Agile/Scrum. Merging very often is good. Having tests are good.

    But do these justify the bad habits that are *forced* down? E.g. piling tech debt (we have it), fighting about any technical stories (check), having to document every day (check – sometimes we had to record hours spent on sub tasks as well) meanwhile I have NO idea what the scrum masters and product management is doing And whenever we start to customize something, an idiot comes as and we have to go back to the book. Example: once our life started to become easier when splitted unfinished user stories. It went fine, but then some higher up manager decided it’s not scrum, so we can’t have subpoints. Why? Because of the book.

  340. I was thinking the same.. Very well written, it’s been few months my company started working agile way with two week sprint. I see myself losing interest sharp downhill, it’s been months i didn’t get to do R&D or develop something complete. All we do is rush to make small stuff work.

    • Unfortunately, from my own experience, welcome to the ‘rest of your career’. I feel your pain having had the same experience and I wish I could say it gets better, but it doesn’t. For me, it got worse. Experience and special skills became seen as ‘evil’ and ‘bad’ because the entry level engineers (read cheaper to hire) didn’t understand the technology (SQL and COM for example). In the past, people with the special skills and experience would mentor the new guys and help then learn the technologies. Emerging technologies would be explored and tested for future integration into the product. But that takes time and doesn’t fit into a 2 week scrum ‘story’.

  341. We are creative. We are a digital marketing agency. We build websites that shine and stand out in a quickest and easiest way. We design world class web, graphics & apps. We are a team that have experience in building and promoting web pages. We can support your business.

  342. I think the most important take away from this article is that Scrum/XP is not engineering. Engineering should always start with a system engineering phase. This is the phase that defines things like the requirements and architecture that will live for a long time. This is the phase that nails the parts of the system that would cause the highest cost if they were changed down the road and make sure that does not happen. There are tools to do this like modeling, prototyping etc. Engineering is not based on the whims of a confused customer. If you have a confused customer, part of the systems engineering process is to first make the customer not confused. Scrum is great for building a website that already has a well defined architecture, since there’s not much to get wrong there. But that is a fairly small subset of systems being built.

  343. Interesting article, but many base assumptions about how Agile works and what it entails as a fixed process. Firstly Agile isnt any one fixed way to do something, and more importantly it should still contain _all_ of your normal Software Engineering processes. If there is no foresight in the backlog about the development process then this isnt the fault of Agile, this is the fault of the software engineering practices to develop and review the backlog.
    Same with the assumption that sprints are 2 weeks – sprints can be as long or as short as needed. This again is more about engineering oversight and not the process itself.
    An earlier responder pointed out all the processes that have come and gone through the decades, and that most of them work quite well if you have a team and company that works together to follow the process – this is the real truth. Process is rarely at fault.
    I have seen teams do amazing projects with Agile, and I have seen them fail with Agile. The core differences between the two – team work, communication, open and transparent execution, and skills sharing or multi-tasking. Like _all_ processes a single software developer or team member can halt and destroy any project.
    Its like any team sport, if the team isn’t working together, it doesn’t matter how hard the others work, it can spoil the entire group effort having one person working against the team (or for themselves for instance).
    One thing I do think Agile has over many processes is transparency. If the team see’s it for what it is: the ability to see and determine what is happening in the project at any time, rather than a way for the business to track some weird kpi’s, then it helps teams (good ones) work much better and with much more confidence. But thats my experience, I know lots of people hate it usually because they prefer working as a “silo worker” and thats fine, they shouldn’t be in teams in any case, but dont blame Agile for human problems.

    • No problem with agile, it’s scrum that is the joke. Engineers have been doing agile for a long time, but after the systems phase. There is no scrum solution for large systems. Systems decisions cannot be made based on what can be delivered in the next two weeks, the system is bigger and deeper than that. Once the “system” is designed and verified/validated, then agile can be used to adjust the critical path based on changing customer milestones, while still making progress toward that bigger systems vision. It’s important to note that stakeholders are key to success. Subject matter experts with deep knowledge of the business domain must be highly involved. Without SME’s, then yeah, you might as well do scrum and throw darts at a kanban board with vague user stories. Maybe the customer will find some value and feel the need to continue to fund the project, maybe not. Again, for building a website or web app, all you really need to be concerned with is understanding the business logic and UX since the architecture is a piece of cake. But, engineering say the flight software for a Boeing 767, in the context of the entire airplane “system,” probably not so much.

      • Just to add an additional point to your comment (with which I agree). You said “Subject matter experts with deep knowledge of the business domain” and I would add “Subject matter experts with deep knowledge of the technical domain”, for example such as a SQL SME for database design and optimization. These levels of expertise are critical, but were deemed ‘not good’ when my company implemented agile/scrum. The reasoning was that, if/when these SMEs were no longer available (transferred, quit, died, etc) that the remaining team members wouldn’t be able to maintain/continue the project. Also that the tasks these SMEs performed didn’t fit the 2 week time frame and ridiculously small increments scrum demanded (such as system/framework design/validation). So design/implement to the lowest common denominator. Insane? Yes! But it happened none the less.

      • Yea, given the way that the IT business is going, I do feel nervous thinking about the critical systems being developed where lives depend on the quality of the software. It’s one thing if a web site crashes, compared to a airplane.

        • As to an airplane, yes, very much concerned here. There is a growing dependency on computerized flight systems and data. Reference AF flight 447 crashed due to pilots being confused by erroneous info from a blocked pitot tube. Flight software became compromised and it hit the ocean in a flat spin, shattered on impact. Many newer pilots have trouble flying the airplane without computer assistance. Fly-by-wire depends wholly on correct digitized information and the translation/actions, made/performed by software and firmware. Leads to another question. Anyone developing firmware with agile/scrum? I can think of nothing so poorly suited to that type of development as firmware. I hope the answer is ‘No, we do not use agile/scrum for firmware”. Or for design/implementation of flight control systems.

  344. What a refreshing read! I hate Agile with a passion, and couldn’t really put my finger on why until I read this. Constant scrutiny of work output. This creates anxiety for me, which triggers my depression, which lowers my performance, which… you can guess the rest.
    And as for open plan offices… getting dinged for having anything non-work related on my screen at any time, taking breaks (how dare you?!) and a lack of personal space. All the above adds up to a demeaning and depressing experience. I am an older guy, and very talented, but I don’t fit this culture at all. Sadly, there are few places left that don’t embrace it…. 😦

    • I feel your pain as the your observations match what happened to me. I wish I could say it’s going to get better. It eventually killed my career and led to an early (forced) retirement.

      • I’m glad you’re retired and happy! I’ve managed to get a job without the curse of Agile for now, and am working on my escape plan, selling science fiction books on the Kindle.

        • Good luck, I wish you well in your new position and your exit plan. As an aside, I have recently tried using Kindle (instead of the printed word) for some smaller publications and have been pleasantly surprised. I may soon graduate to doing most or all of my reading via Kindle so maybe I’ll see you in the future.

          Once again, may you have great success.

  345. Typical short-sighted technical person who doesn’t understand that you have to actually sell something, not just build some over-engineered POS that never gets completed. “It would be great if it weren’t for the users…”

    • It is true that some organizations need to perform the endless code red known as scrum indefinitely because the lazy staff won’t actually do what they are supposed to do on their own.
      Sadly, micromanagement can not be avoided with a lot of developers, especially y-genr’s.

      • First off that is bs and you know it. But even it would be so it still does not work. Making people be constantly stressed does not increase productivity unless they are doing something very simple. With complex task stress decreases productivity severely because you become more prone to make mistakes. And yes those employees will produce more but it will be garbage. Also Agile is slavery pure and simple. Normally you would be paid on the outcome of your work not on how many hours you worked. Wit Agile you may have incredible output but all that matters is how many hours you work. For instance if a task required 4 weeks but I found a way to complete it in 3 without sacrificing quality I could have that week to do almost nothing. But with Agile it does not matter the quality of the product or how much output really comes from your work. All it matters is that you work all those 40 hours as a nice little slave. And I know you do not understand this because most managers are narcissistic morons that cannot comprehend the simplest concepts of real life.

        • ” Normally you would be paid on the outcome of your work not on how many hours you worked.”

          Which reality is this, where this is true?

          In my experience this has never been the case for IT projects. The reality I saw is the following: you are asked for a high-quality deliverable, but you are getting time and money for a low-quality deliverable.

          But hey, at least you are only responsible for a deliverable, that is, Developers are only responsible for providing a piece of software according to some specs, while they don’t have to care about weither their software integrates well or not.

          So what do people do? They fill the time available, micro-optimising their work to their own specific standards and then they either pass of a piece of software that has never been seen, let alone being used by a non-developer nor has it been installed in a production-like platform.

          Thus some typical problems are:
          * the code is compiling and (probably) has a perfect code quality (at least it saw some refactorings so far) but it fails acceptance tests when passed of to a tester
          * every single bit of behavior of the code is configurable, but the later user does not understand how to use the software since the user interface is to complicated
          * every method of the code is documented (as much as APIs are concerned) but there is no end user documentation and integration is a simple README file, targeted at other developers)
          * the code works fine from a functional point of view, but does not pass performance tests or misses basic scalability features

          So, while you might have one work free time in development, people in test and integration try to understand your work and get it up to running. Maybe they’ll be successful, but in many cases they won’t and then they will come back to you: very angry and with some contempt they’ll ask you to fix stuff and possibly run into discussions about weither or not the software fulfills the spec and if or if not you could have known about the integration requirements.

          Not saying that the behaviour of that people is justified, but since you are telling a story of how awful working with agile is, while the past were sooooo romantic, I guess you never experienced situations like that?

          • Not so much. Because we had well documented specs and when the customer was unclear we just asked them what they meant or how they want x functionality to behave and give them the options from which to select.About the testers again they had the specs well written and if it was a problem they could always ask us what was the proper way for things to function or could even make suggestions if the time table for implementing them allowed it.
            About acceptance tests if those tests are dumb and usually made by managers then who cares about that? Some things just have requirements that cannot be removed without sacrificing functionality.
            About the user interface being too complicated I saw this only on 3rd party software (like SAP) not on software made by the company I worked for before Agile. Usually the testers would provide feedback in such cases and a talk would happen between the devs and the direct manager about the best course of action.
            About performance and scalability test before agile we tried to optimize everything as much as possible so if it did not passed those tests it usually meant it could not be done without messing up with the functionality. We had some code outsourced to china for some reason that had this problem, but not on our code.
            Your argument is bad and I call bs on it. I already mentioned “without sacrificing the quality of the code” yet you choose to just ignore this part.
            And I did not experience situations like that except when the manager’s ability to do their job was piss poor at best.
            Oh and I almost forgot we did care abut how well the software was integrated. Because otherwise it was returned to us and we had to work overtime for refactoring it.
            Stop being such an Agile evangelist and accept that things were better before this cancer took control of the IT industry.

            • I’m not an Agile evangelist.

              And you should really stop being so rude to impress a seal on somebody and calling out their arguments or ideas to be bullshit just because they don’t fit your worldview or perceived reality.

              If I’m an evangelist at all, then I am a collaboration evangelist. And I have a certain understanding HOW agile methods are *supposed* to help on that front, while perfectly understanding where they fall short because of inherent flaws (like not providing solutions for everything) and because of wrong-doings (that can be a sign of inherent flaws, too, but are in most cases dysfunctions in the collaboration between business-side, developers and the other people involved.

              The sad thing is: those dysfunctions have an effect, too, even when not doing Scrum. But the difference is, that some people are more and some people are less affected.

              The interesting thing with your arguments is:
              1) What you describe seems like good collaboration that had no flaws and should have stayed forever. Makes me wonder why anyone should have had a desire to change anything or put differently: if your perception of the reality is different from the rest of those companies.

              2) As a matter of fact: Every signee of the agile manifesto is a software developer or has been involved with software development, including some well known people like Martin Fowler, Dave Thomas and Robert C. Martin. It surprises me that your assessment seems to be that those people wasted their time in describing, writing about and advocating a solution for a problem which mere existence you deny.

              3) Interesting enough that you deny any responsibility for situations where it has been contrary from what you’ve described, telling that it would have been the managers fault. So in your opinion, if a bunch of people fail to work together properly, in order to achieve a shippable e.g. usable product, it’s the fault of just a few persons that have to pay for the bill but should otherwise go out of the way?

              4) Interesting, too, that you consider yourself to be in the position to state that all non-passing acceptance tests would be dump, yet you fail to see that there might be the possibility that while a manager might not know anything about programming, he might very well be an expert for the customer requirements. Have you ever considered that?

              Sorry man, I’m somehow under the impression that it might be because of people like you, that some other people in your environment had a strong desire to change something.

              Have you ever considered to be part of the problem?

              Best Regards,
              Patrick

              • 1. greed. they closed all the projects that were constantly making money and tried to get into a new project that was supposed to make the managers much more money. And of course this failed bad.
                2. I would not call them developers. Their method of writing software based on their own statements sucks. They have declared they never test their code or double check anything in it. The Agile manifesto was written while they got together at beer and they never revised it until years later when people started complaining. So is the product of drunk irresponsible devs. And this is based on their statements. They said they did those things not me.
                3. no. In my opinion a manager has a few very important tasks: #1. to make sure all requirements are balanced. you do not promise the client a 10 years project will get done in 1 month or that you can provide the software in time without providing the necessary hardware and software resources to them. Neither you give your devs 10 months to complete a two weeks job. Of course to be able to do this you have to have programming skills yourself which most MBA’s do not. #2 to mediate conflicts between programmers and between programmers and customers in a fair way without taking sides. (well you can be slightly on the side of the customer but not to the point of treating the dev as a slave) #3 to provide clear specs on the project and supply realistic deadlines for both the customer and the devs.
                That is in my humble what managers should do. That is it and nothing more. Not what goes today as management. And yes it is the manager’s fault because he is the one that ultimately decides who gets promoted and who gets fired.
                4. well yes I have considered that. Have you ever considered that maybe the customer’s demands are sometimes (many times) unrealistic and being a spineless manager and promising things you cannot deliver and then blaming the devs shows you are incompetent? Also I never saw one manager with no software development skills being able to successfully manages developers. That is because you must have an approximate idea how much a task should take. Most MBA’s have no idea about the difference between a 50 minute task and a 5 months task.

                And yes I did considered it to be part of the problem . And is part of the problem because some people think they know more about programming than people that do programming and then make demands according to their narcissistic illusions.

                And sorry for being rude but apparently is the only way some people today will even take you seriously.

                • Let’s start with your remarks about business people: I am fully aware that there are some bad behaving, clueless people out there, that try to impose unrealistic deadlines and constraints.

                  That is a serious problem.

                  It has nothing to do with whatever method you use. It is a serious problem on it’s own and all people working for such guys, would be better off just taking their suitcases and leaving – vote with your feet. But their is a great BUT to that point, which I will come to in a minute.

                  With that out of the way, let’s talk about the rudeness: No, being rude is exactly the way that will make other people stop taking you seriously. It’s leading to people stop talking WITH you and instead talking ABOUT you.

                  Sorry, but your writing very much communicates: “Hey guys, you are all stupid, narcissistic and don’t have a fucking clue about anything, but I DO. So go the fuck out of my way, throw all your money at me and let me do.”

                  If you’d communicate with your managers or customers in that way, I’d have a hard time to believe that anyone would have an interest to talk with you, let alone taking you serious.

                  If you think that any manager HAS TO be able to, I tell you something: Managers are just human beings like you and me. If you are rude with them, expect them to be rude with you. If you treat them like idiots, expect them to treat you like an idiot, too.

                  That is where the BUT comes into play: Even if there are cases of assholes in business or on customer side, it’s not the rule.

                  There are people with needs and it might be the case, that you are not aware of them. In fact I often faced a reality that people in management as well as in dev has a total lack of understanding of the other sides needs.

                  So the BUT is: if you are pointing fingers at business people, then you should really be sure, that you are not showing toxic behavior yourself and be aware of your own responsibility.

                  That is:

                  1. Treat other people (including business people, customers and other areas of focus) with respect and stop assuming they have bad intensions.
                  2. Try to understand and serve the customer needs, because (well) you know where there money for your pay check comes from?
                  3. Try to understand and serve the needs of other people in your company, because (well) they
                  might not know the things you do, but if they weren’t there were no business and thus nobody who’d pay your check.

                  If any side does NOT behave in that way, it’s toxic for the collaboration. If any side does behave in that way, Scrum will not work.

                  • 1. respect is earned not given by default. i give respect to those that deserve it not to every one i meet.
                    2. it depends . If the customers pays for doing a task but then changes its mind and wants 10 more things for the same amount of money and in the same amount of time (which Agile condones and supports) I do not find it ok. And I do not find myself obliged to serve such a customer. You want more stuff to be done ? Pay me!
                    3. That is servile slave behavior. You do not have to have someone pay the checks for you. You can associate with other devs for instance and cut off the middle man. This way you get paid for the product not for the hours worked and not the amount some clueless manager thinks you are worth.

                    And now I have a few points of my one:
                    1. it is impossible for a MBA or anyone with no experience in software development to asses the work of a dev or how much it should take. It is too complex for this to be possible.
                    2. rudeness by most people today is seeing as being assertive. Why can a boss be rude to me and I cannot be rude back? I am the one doing the work after all.
                    3. while I do not communicate with them in that exact way Agilists bring one to the point you get mad because they speak stuff that is so stupid and they cannot understand basic principles of human psychology a four years old understands. Also I do not accept crap for customers. Unlike most managers today I treat them as partners not as masters. If the customer is being unrealistic and making this type of demands I tell them right off. If they still maintain this attitude I invite them to find someone else. And they usually give up on the attitude.
                    4. “Managers are just human beings like you and me” not really. Most are narcissistic and cannot see when they are treated as idiots. They usually think you are friendly to them. I often got positive results from treating managers as idiots.
                    5. “There are people with needs and it might be the case, that you are not aware of them” I do not care about their needs. We are not buddies or anything.We are business partners. They have to tell me what I want. I tell them how much it will take and how much it will cost. If we can reach an agreement fine, if not try somewhere else!
                    6. “if you are pointing fingers at business people” I am not pointing fingers at anyone. There is a saying: “Know thy self!” Everyone should know their limitations. Also some time ago managers where promoted from the ranks of the works. Each manager was a dev that got promoted because he was very good at his job. Now people that are good at their job not only do not get promoted but the people that are worst of the job get promoted or even worse people that have no idea about software development. You cannot lead a business unless you understand how i works. But people today think they can and you have gigantic companies hold together just by loans and commercials. Yeah go promote that! Is very realistic….

                    • Sorry, guy, I don’t really know how to tell you that without being insulting (partially because of my limitations), but your problems seem *partially* home made to me.

                      It starts with your assertion of respect. If you are unable to respect people for the way they are or at least ACT like you respect them, without assuming bad intentions and all that thinking about them being stupid or narccist, the relationships between you and those people will always be flawed.

                      You are speaking about basic psychological principles, but I’m not really convinced, you are aware of them yourself. One of them is that we are all subjects to some biases, one being what’s called the Dunning-Kruger-Effect: the tendency of human being to overestimate their own ability, while underestimating the ability of others.

                      There is no point to be mad, when people are less competent than you

                      It might be that they are not even aware of it. In fact it might be telling more about you then it’s telling about them. In particular since you are telling not to care for there needs.

                      But don’t take that as a judgment: I’m not a psychologist and obviously cannot tell what your personality is just by exchanging some lines with you about an emotionally charged topic. However, I can tell you that there is another bias: it’s called the “hostile attribution bias”, that is “tendency to interpret others’ behaviors as having hostile intent, even when the behavior is ambiguous or benign”.

                      Just saying.

                    • 1. expecting people to be respected just because they exist is stupid. A person earns respect by behavior, accomplishments, etc. Not just by being a breathing human being.
                      2. I am not thinking they are stupid and narcissistic. This is how they are and is based by observing their actions, decisions, statements, etc. It is not a preconception.
                      3. Every time someone critiques a group of people the Dunning-Kruger-Effect line is thrown in so I know a bit about it. I do not have a great impression of myself. I know what I can and cannot do. And if you believe that my ability to judge the nature of people is overestimated you are entitled to your opinion, but until you bring proof I will not accept it.
                      4. “There is no point to be mad, when people are less competent than you” unfortunately I have trouble staying calm when people less competent are making the decisions for me. (managers, employers). I find I have less and less tolerance for dealing with incompetent people as time goes by. It is a personal defect.
                      5. I never said their intention was bad. But the road to hell is paved with good intentions. For instance an incompetent air traffic controller can cause thousands of deaths. Does not mean he had any hostile intent. Being incompetent for the position you are in can cause great harm to others , the more important the position the greater harm. Not being aware of your incompetence is deadly.

                  • When someone squeezes his employees like lemons, he does not have to wonder if they do not think rationally anymore and lose respect because of their burnout (see burnout behavior). Not that I find this correct but i have an understanding for people that are just used to as lemons.

                • You should probably go and re-read what I wrote on my blog to get your facts straight.

                  I am interested in agile methodologies, yes. I do see some sense in them, compared to the crap I’ve seen in my career, and I do think there is something to *explore* and learn from. Yet, my focus is on improving collaboration not preaching for a certain methodology.
                  Heck, I’m even referring to DevOps, holocracy and the autonomy of the individual.

                  But I guess your whole research was limited to scan for some trigger words: Trigger word “agile” found, point proved, tab closed. Right?

                  • Haven’t read what you wrote, but I get the gist. That point kept coming to mind while reading the prant (post/rant): there is good stuff in user stories and CRC cards and revolving leaders on small teams as long as there is thoughtful, technically brilliant leadership overall and everyone on the team knows the true leader. (Tesla, SpaceX, Jobs’ Apple – easy one’s – I feel dirty for pointing them out)
                    But these are hard things to achieve – a true balancing act requiring constant gardening. I’m tired now of aphorisms and cliches and will go back to my Happy Scala Place.

          • These are beginners mistakes… Well for example i met the highly configurable xml GUI disaster antipattern already in 2001. Complexity management, Performance mngt and other non functional requirements and code metrics does nobody interests because of unrealistic deadlines often. It does not always have to be the developers fault. Our fault is that we have not already resisted Scrum earlier. Yes somehow we were stupid.

      • Just because computer science is complicated and you do not understand it (partly the developers themselves not) does not mean that we are lazy. I am not a couch potato and dont care about my job. Do you want to tell me that I have too little responsibility for my job? Do you want to avenge the bad employees and accept that no one has more joy at work? Harvest what you sow. Do you think all developers are stupid and lazy? I think more than 45% are not! The fear of losing control of the IT in the management is extremely high and they want to keep Scrum as long as possible until there is a better solution. I read about that ca. 2/3 of the Agile companies do know that something is wrong and they cant fix the problems. The fear is so high that they are to cowardly to allow the workers some more natural freerooms (neverending timeboxing rush sadness). The next step would be if the entire management is also Agile. But no freerooms in R&D (or lets say only &D) are much worse than in management. There is also no satisfaction for R&D when the whole management changes to Scrum. Stealing natural freerooms of your employees is stealing from yourself. Employees, who would not question Scrum I would never employ as an employer. Bad processes make employees dissatisfied. To say something different is ignorance and they should read some good management books. Without natural freerooms, there is a very high chance that a kind of dishonesty/indifference will be cultivated and this very subtle is my experience (kills always the intrinsic motivation). I believe the 16% of the top dev employees certainly do not choose Scrum as their passion. The IT is well known that it often tortures itself and does not get enough of it.

        Looks like that it took years for google to figure out whats already approved since 1980 by Hackman und Oldham.
        https://rework.withgoogle.com/blog/five-keys-to-a-successful-google-team/

        • Oh, come on, get your facts straight.

          You cannot point the finger at agile methods while pointing at Google for an ultimate source of what works.

          Google very much promotes the same values agile methods do: self-organisation, empowered and cross-functional, responsible teams. It might not be the process, but the Google methods would not work for you either.

        • I think google produces great products because the developers genuinely love what they are doing. I think when people love what they are doing, whatever development method they use will be successful. People who don’t love what they are doing will get bored, and not be successful, that’s were scrum comes in. It’s an infinite code red war room, forcing the team to trudge forward, even though no one likes what they are currently doing. I think management tends to like it a lot because in situations like this, scrum lights a fire under the butts of the developers so they are forced to not just do the work, but to excel as to not look like a slacker, even though they are loathing every minute of it. This is probably part of the reason that job hopping had started becoming prominent about the same time that scrum started to gain traction in the industry.

          • Yes, honesty must be reciprocal. Maybe because of the high expectations, it is difficult for some developers to be open and honest. But the leadership should not adjust their values ​​because of the bad behavior of the employees. Management has a higher responsibility. A leadership can only be respected if it is trustworthy and interested in its employees and take care of them. In a rather academic work environment the pure production-oriented personal strategy is not appropriate in my opinion. Job rotating works good in management or production or when reactivating unmotivated people but does not fit generally into software development i would say. Treat people the way you want to be treated (justified). Let the people threat you but dont change your mindset (Keep your values if you have some). Sounds maybe to simple but if there is a silver bullet then MAYBE this one if there is any at all.

    • Over engineered bs that never gets completed is better than under engineered bs that never gets completed. Like a typical big business shill you’re assuming that Scrum actually speeds things up.

      Neglecting tech debt, bugs and long-term systems engineering actually slows progress down immensely in the long-term, but this is something that the non-technical people who do all the talking don’t understand, therefore it is neglected under Scrum.

      Maybe if the people speaking to clients were engineers instead of non-technical “business analysts” who think every whim of the client is useful and insightful to the finished product, then the engineering teams would be able to discern which tasks need to be prioritized and which don’t. Without compromising the long term prosperity of the project.

      The only reason you think engineers have no concept of clients and users and time… is because the Scrum system makes sure we never face a client and hence never gain a holistic understanding of what we’re developing.

  346. 2017 seems to be a turning point where the dust has settled and development team members can finally voice an opinion. Those in failed Waterfall projects are out of the Scrum honeymoon phase and have had enough time to scrutinize it.

    Some of us have worked in places that have the right business culture and also do SDLC right (not Scrum, not Waterfall, but “something”) but there has never been a formalization of this effort to profess to the industry. I think Scrum is terrible, but it helped shake up software development organizations by explicitly offering an alternative that the masses can follow and then criticize, thus even elevating the conversation. It’s unfortunate that it comes with so many casualties.

    • The management experience over decades pointed out that engineers like the laisse-fair leadership style. But instead of a middle way, the laisse-fair became the personal strategy of the perfect system – the other extreme. Mangement has to reduce the expectations so that a long-term, sustainable and healthy solution can be found. Scrum should be abolished because it has harmed many people consciously or unconsciously. Some proposals have already been made. Greets.

  347. I found some interesting videos yesterday about Scrum and a short hint to the alternative way to continue in the first video.

  348. Pingback: I’m done with Agile | Hugh Chapman

  349. Agile is mainly about changing of mindset. Scrum is a tool, if you will use it properly and on right place (somewhere Kanban works better, e.g. Support/Maintenance, somewhere Waterfall works well, e.g. short term projects in very well known business area) then it will work. Imagine lumber, he’s got a new chainsaw but he try to use it as an axe as he used to work for the years. What will be the result???

    And Scrum of course is not enough. Try to combine: OpenUP for release/project management, Scrum for Iteration management and XP for daily engineering.

    • And the Agile mindset creates crappy software for anything that is not 90% visual interface.But of course this is how money is made on the backs of sheeple: the software we sold you does not work anymore? oh you have to buy the new version that costs twice as much and has all these useless bells and whistles. Repeat until the company goes bankrupt. Find/Start another one and start over.

  350. Only pigs (not chickens) such as Developers and Testers should comment and dispute – if Scrum, as it is actually implemented, truly does help then those that it most significantly impacts should praise or condemn it.

    Impediments don’t come up on the weekend because there’s no daily stand-up.

    Scrum Masters who have jumped into the industry because the “opportunity” (i.e. money) is so lucrative have no say unless they are the ones in the trenches with the hard deadlines and sleeves rolled up. Developer gone ScrumMaster; nope, you bailed on us and you know why…

    We all own the product, not one individual.

    Alternatives? You want alternatives? Empowerment – Teams: go back to the thing that worked for you (except, apparently, waterfall?) and stick to your guns, but also respect the other disciplines as they have bosses and lives too. I suppose we could formalize it with a document, conference, website, certification, but it’s a values-based process.

    The big dogs – Google, Microsoft, Facebook – They’ve got it right. They’ll appease the industry by showing that they do Scrum or Kanban or whatever the masses yearn for but internally they work on a developer-centric, delivery-oriented culture.

    @Ciprian and @KeepHappyAndThursty – Bless you guys for voicing this majority dissent. You are not alone.

    Whew, okay, done.

    Steve

    • Thanx Steve. But I could not help much. I thank “Retired And happy” for encouraging me to express myself with my bad English. Have been starting a second study in economics. Our teacher claims that the middle management will disappear more and more in the future. I think It only causes unnecessary friction and can save a lot of money if there is no more MM. Then PO, ScrumMasters (hard or soft) etc. would finally maybe disappear (for sure hopefully non technical MM). Devs could learn something more about the business and vice versa. Important is that Scrum (hard or soft) and Agility/Agile is not the same for me personally. If I only hear the word Scrum, then I am already sick. The problem is that even Agile projects can fail. I just do not hope this is another reason to switch back to Scrum in 10 years. Hey, you have to keep fighting. It was always the people and no one else who had fought for better conditions.

      The problem is that CEOs and the higher management just want to stay clean. For problems and sure also for other reasons, there are people in between in the pyramid without classifyng that. The biggest problem is that the middle management is trying to gain an existence right often based on unnecessary friction (Information separation, information accumulation, information retention, dirt work as lower emp layoffs). Certain management teachers claim that one is only a good leader when one is authoritarian / distant / superior and T-shaped. For me personally someone is a good which is honest/straightforward/no concealment/not “a means to an end” manipulater, no matter whether CEO or cleaning woman. Only that is important I think. It seems to me as if there were on both sides (bottom/top of the pyramid) maybe a fear of contact and also the conflicts of interest so far. Let’s see what the future brings. All good to you all.

      Fight further!

      • Thank you, that was much appreciated and I wish you good fortune in your life and career, may all things work as you wish and to your benefit.

  351. Pingback: Scrum Guide Sliders | Agile Out Loud

  352. This article is brilliant! I have for the last 20 years worked as a programmer and my love for the job is deeply hurt by the exact reasons explained in this article. It becomes almost impossible to find the creativity space to do things that is long term good. Instead to survive you need to follow the preasure of delivering short term business value. Most of the time being quick hacks and the technical depth is piling up.
    This needs to be spread and I will be a part of it.
    Thanks

  353. I fully agree and I am continually amazed at how often it is adopted by companies – with little research or proof of success – just because it’s the latest buzzword. It’s faith-based software engineering.

  354. Agilification is a symptom of marketing.
    The real diseas here is not the practice of Agile or scrum, but profiles that have nothing to do in consulting, especially IT consulting such as : commercial (sorry guys), digital fanatics (it’s actually part of MIS as for ebusiness and transformation). Most of these profiles are PR Com profiles and thsu they don’t even master ebusiness basics or MIS concepts…
    I won’t speak about commercial, for a seasonned consultant, we all know why Strategy consulting firms rely on their consultant for bid management and not on sales profiles.

    Regarding Agile and especially SCRUM, most of SCRUM Masters I encountered don’t even know that Agile and SCRUM especially as they promote it is a japanese creation… standardized by Schweber….

    The real issue with agile and other methods is commitment, that’s why most of the project fails…
    More than half of the projects fail and the reason why are the leack of financial commitment (budget), PM core competency (especially selling estimates, this is true for any kingd of projects), turnover (thanks for the outsourccing, it’s cheap, literral and dumb for it is made to cut costs and QoS), I can continue like this but it will be pointless.
    I endorse that matter of fact and I’ll hav the opportunity to change it.

  355. Factually wrong:
    – Agile is focused on short-term business value. Not True. Managers & organisations, however, possibly are.
    – In scrum you need to work as fast as you can. Not True. Scrum focuses on finding a long-term, sustainable pace. We work in sprints, but effectively should look at this as running a (team ) marathon.
    – Agile requires one-sided transparency. BS.
    – Status meetings in scrum. Not True. Harrrrd to get away from these, this is true, but in my opinion this is as much due to the learned helplessness and lethargic nature of many developers as it is due to pushy managers.
    – Business focus excludes technical/ architectural aspects. What about enables features in SAFe? This really is an organizational problem, nothing to do with scrum/ agile.
    – Scrum is for emergencies. Not True. Scrum/ Agile is based on the principle of Empiricism and visual feedback. That’s why we work in short iterations.
    – and focusses on terminal juniority, low autonomy and aggressive management. Please reread the SG.
    – You describe the scrummaster as a manager, but note scrum considers the scrummaster as *part of the team*, facilitating the team.

    Most of these are expressions of a dysfunctional org. The writer points this out correctly. However, nowhere in Agile you’ll find any of these principles; on the contrary.

    • Can you prove it is wrong? Because you just seems to me that you are in denial. Since most people that work with Agile and Scrum say that they are bad and this is how they are implemented is kinda a non-argument just saying it isn’t true.

      Also who the fuck considers a scrum master as part of the team? I doubt any true developer considers the scrum master as part of the team. The scrum master is a useless leech. Also about those principles try applying them in real world and you will see this is the only way they are applied. Many things are good on paper but not in the real world.

      Also you should search the word sprint in a dictionary. Sprints one right after another are never sustainable. You physically cannot have a sustainable pace for a marathon length using sprints.

      Also how can one make a plan for anything if it changes every couple of weeks. There is no architecture because there cannot be as the requirements change drastically every couple of weeks. What you are thinking about is what I called adaptive waterfall. Basically any change was accepted even late in development but the later it would be the more extra time and extra money will have to be spent. And the customer would thus avoid making unreasonable demands late in the game because he would not like spending so much more money. But with Agile is expected you can rewrite the whole project code in a week.

      And yes it does focuses on terminal juniority. Senior developpers do not like to be held by the hand like a kindergardener. Look at Kanban and Scrum and tell me honestly it does not treat devs like kindergardeners.

      • I absolutely agree! I don’t understand the point of a Scrum Master!? All the scrum master does is schedule meetings. You could have an admin do that.

        * Daily Standup or Scrum – Developers just give their status. The Scrum Master does nothing. This meeting is pointless anyways. If you have a good dev team, it’s not daily statuses are not needed. No one pays attention at this meeting.
        * Scrum of scrums – Each scrum team says what they did last week and what they’ll do next week. The Scrum Master does nothing.
        * Retrospective – Developers are forced to make up what went well and what didn’t. The Scrum Master does nothing. Developers don’t give a crap about this meeting anyways. You are not allowed to talk about technical issues. Only the scrum sprint process and did you correctly estimate story points.
        * Backlog Refinement – The Product Owner and Team Members run the meeting. The Scrum Master does nothing.
        * Sprint Planning – It’s up to the Product Owner and Team Members to decide what goes into the sprint and create 1-2 hour subtasks that later on turn out to be incorrect. The Scrum Master does nothing.
        * Demo – It’s up to the Product Owner and Team Members to decide what to demo and actually demo. The Scrum Master does nothing.

        • The Scrum Master’s job is to schedule meetings and then threaten developers who don’t output enough micro PRs a day. Their job is to read their little charts which snub developers who tackle long-term problems (such as networking and testing), whilst propping up developers who fix padding problems and change fonts. Wow, they put out 8 PRs this week and got 20 story points, even though each PR only changed one line! Incredibly productive!

          I’ve been on both ends. It feels equally shitty because whether your review is good or bad, you know it’s not a correct review. When the business inevitably fails, it’s always because they hired the wrong people. Everything is blamed on some dev. It’s never the manager’s fault and it’s DEFINITELY never Agile or Scrum’s fault. The Scrum Manifesto is the Bible, if it fails we’re just Doing It Wrong. There can’t be any problems with the premise of one-sided transparency, surely not.

          Refactoring is something you aren’t paid to do, it’s “voluntary”, because engineers who care about bugfixes and refactoring are considered idiots who don’t understand the complex and demanding lives of business-people. Engineers have to beg management for overtime pay if they want to do what they were actually paid to do: engineer.

          One place where I worked, a client wanted a minor and unnecessary padding change. So, we said we’d deliver. But our system was so fucked after years of Agile, it took an ENTIRE WEEK to dig into all that spaghetti code and find out where we needed to write “padding-top: 60px;” Even the senior devs couldn’t figure it out! THAT’S what happens when you don’t value the engineers. THAT’S what happens when your model of productivity rewards low-hanging UI fixes and punishes longer term system changes. THAT’S what happens when your “BAs” are asskissers who make your engineers dance around client whims like dogs chasing a kite.

          No one but the developers is held accountable for business failure. Managers think the solution is to hire more developers and break down the user stories into even smaller parts. Because taking a step back to fix the business’s real issues would violate Scrum and its 2-week sprint structure, and it would also mean the BAs can’t have the biweekly font-size-discussion meetings which justify their salary anymore.

          I’d like to say this only happens in my experience, I’d like to believe there’s a way out, but I hear the same story from so many other developers.

          There is a ray of hope though… I’ve worked in funded open source projects and I can tell you that if you’re actually Agile, you don’t need to impose a rigid micromanaging framework onto your employees to become Agile. I’m very young and it would be shameful if I ended up on welfare doing open source all day but a big part of me wants that after my terrible experiences.

          • Could not agree more. I’ve been on that side where story points were used to unfairly judge people. I worked in a place where any page that needed a Selenium change was routinely underpointed. I felt like I was getting more than my share of those.

            In my review I was told that I was “only” doing 80% as many story points as the team average. I tried to tell the manager that first, story points are not supposed to be used to rate engineers, and second, I was getting a lot of Selenium tickets that had been underpointed. He didn’t want to hear it.

            When I left one of my coworkers confessed that they were avoiding tickets that involved Selenium. I didn’t do that, so I was getting much more than my share.

            The other thing that gets no credit is mentoring. There are no story points for that. In fact, in many places, since engineers are judged against each other, that discourages mentoring.

            • That’s not the fault of scrum. What you describe doesn’t sound like scrum, but rather bad management that pretends to do scrum. That’s unfortunate. It’s hard to blame scrum for things that aren’t actually part of scrum.

              • Technically you are correct, and I tried to explain that to the manager, but he would not listen. You might say that he was abusing scrum. I say that the problem with scrum is it is easily abused. When a manager is presented with the idea of story points, the very first thing that will pop into their head is that it is an easy way to rate engineers.

                I just did some Googling around for “scrum story points engineer evaluations”. While some people recommend against it, others are completely for it!

            • I saw the same thing almost 10 years ago when my organization introduced scrum, sounds like it hasn’t changed much over the decade. Did you notice how the resident scrum evangelist has already started with the standard excuse? “that’s not scrum, you aren’t doing it right”

    • Agile doesn’t entirely preclude long-term value. But it is focused on short-term business value, because the frame of reference is always the short-term – what can be quickly achieved or evaluated. The shorter the iteration / longer the payback time, the harder it becomes to take one step back in order to take two forward.

  356. I come from a creative field of writing and recently joined a scrum team. Initially it sounded really organized and stuff. But in truth it is extreme micromanagement sold using fancy terms. Scrum is only good for micromanagers. It has no place in a creative team where everyone is trusted, respected and has the freedom to implement ideas.

  357. About Scrum and time estimates. Non-engineers somehow believe that Scrum will improve them. It doesn’t. When our company first adopted Scrum I was told by our product people who were actually very smart people that dividing a large task into smaller tasks would greatly improve our time estimates.

    I explained why that’s false by comparing it to a drive from San Francisco to San Jose in heavy traffic without Google maps. For those that don’t know that’s a stretch of road that could take you anywhere from 75 minutes to two and a half hours on a weekday. Dividing it into five mile segments doesn’t help. You simply can’t predict in which five mile segment you will hit a traffic jam.

    Programming is like that. You can’t predict which part of the program will give you unexpected problems. Which package doesn’t do what you thought it would?

    And yet these product managers could not understand this. And these were smart people who I greatly respected.

  358. I am wondering whether ‘agile’ is a ;generational’ thing. I am finding that a vast majority of people my age don’t seem to fit in the ‘agile’ organizations. I am of a generation (50sh, baby boomer) that believes in going to work to get things done, getting a personal accomplishment from doing it well and getting paid for it. Nothing else but nothing more either. I do not believe in slogans (just search the web for ‘agile slogans’ ) or titles (‘scrum master’, ‘project owner’), or any other artificial (or is it ‘religious?’) application of words over the real principals and goals of an organization or process. After a couple of years of working in an ‘agile’ environment I find it to be a lot of hot air and an extreme form of micro management. Yet all of the younger people think that Agile is the way to go because ‘nothing else has worked in the past’, hence any thought of doing things outside of the agile process (as interpreted by the particular company/department/organization) is blasphemous and dangerous and will result in failure,

    • GAS, very well said. I would add that it is also, in my opinion, the continued ‘dumbing down’ of software development that started in the 80’s and early 90’s with the release of Visual Basic. VB was advertised as the answer to all development issues. Software could be developed quickly and cheaply by ordinary people, even monkeys (maybe). Many companies were burned by the idea that you could create mission critical apps in a fraction of the time without worrying about resource leaks, threading, memory leaks, etc. VB eventually found it’s niche and then the next ‘cure all’ appeared in the form of Java. Suddenly Java was the answer. Operating systems would be developed in Java. Write once, run everywhere. Except it became write many times to run everywhere with many differing code bases. More companies burned by the idea of cheap, fast development times. I left the game after C# became the next religion. Garbage collection, for example, would cure all of those memory and resource leaks except that it couldn’t be depended on to release objects in a timely fashion. For brevity I am only listing a few of the issues but I think Agile is just the latest version of the quick, cheap development grail. In all fairness you might also be able to argue that the advent of Windows ‘cut and paste’ programming was the actual beginning of this too.

      So what do I think was the best tool to date? I loved unmanaged C++ and iterative development. I also think that software development is more akin to an art than a process. Small teams of experienced, focused individuals working in an elegant language could develop amazing software but it always took more time than management desired. And so we chase the grail. As an example, I write this post from a laptop running the latest Windows 10 monstrosity called ‘Creator Update’. Windows quality has steadily decreased since Windows 7 and I would bet that many of the issues are due to 1) offshore development teams, 2) some form of agile, 3) too many experienced developers leaving the industry because of (1) and (2).

      My .02.

      RaH

      • And to expand on your offshore theme, if they made ‘office space’ today (referenced above) the party and celebration scenes would have very different demographics. I’d say late 90s was the last time they could make that movie where it could be a comedy.

  359. It gives a chance to the completely incompetent to become “a scrum masters” and boss developers around, while having no idea, and having no need to know what is it all about, as long as he knows what’s story, what’s epic, what’s estimate, what’s post-it and dot. Scrum masters in training, scrum masters, scrum master coaches, and scrum master coaches coaches, it’s a whole industry, all of them sweating it out how to structure the stories, how to divide the stories in sub stories or tasks, what’s vertical and what’s horizontal, what color the post-it to should be, and what color the dot on the post-it should be, what board or wall it should go on. The actual work becomes completely irrelevant but the developers have to attend the meeting and keep their mouth shut while the “masters” are crafting the stories and the look and feel of the “scrum board”.

    It’s a new fanaticism. I bet that it was invented by the post-it company or Staples or what have you.

  360. Very interesting post. I’m mostly concerned with the emergence of “best practices” – which is rarely true. There are good practices when applied correctly, and there can be value in standardisation and shared knowledge/experience that is sometimes more important than direct appropriateness.

    But there are too many cases of people applying the same process or pattern because “that’s the way it should be done”, without considering what the problem, resources or desired outcome really are.

    Agile has a place. It can be good for “maintenance” of an established project, especially one that can benefit from continuous delivery (e.g. an online service). And by extension good for junior programmers – who you typically start off on such work.

    If agile was truly agile, then the process would adapt more to the task(s) at hand. Does it make sense to break every task down to the nth degree? Does it make sense to alway be focused on what can be achieved in one week? Two weeks?

    As for consultancies, unless / until agile is recognised as tarnished, then it will remain a popular process for them. Because they can alway market that it is something they “know how to do right”, and stories and sprints make it easier for them to sell contract development.

    It seems a lot like developing with blinkers on to me – it narrows the focus of a developer. There are some people that works well for. Just as there are horses that run better with blinkers. But look at any horse race, and not all of them are…

  361. I have been subscribed to this thread for a while, and it really distresses me. The original post is full of anger and misinformation. Most of the comments are, too. There are so many incorrect statements about what scrum says, what the agile manifesto says, and what scrum is, that I could not possibly respond to them all. And with the extreme anger here, it wouldn’t matter anyway.

    I practice scrum every day, in an organization where it works well and where the highly senior team working on it loves it. That’s because, despite all that you might read here, scrum is about improving communication, working on what is most important, and breaking down work so that you have frequent deliverables. This team is empowered to do great thinking and great work. Nobody spoon feeds them, unless you think high level requirements and priority are spoon feeding.

    It saddens me the extent to which scrum has been subverted by bad managers to extend the reach of their desire to micromanage. It also saddens me that all the complainers here have never taken the time to read about scrum and understand it. You’re all parroting the crap your managers have given you, and assuming it’s right. Scrum at its core is a framework, not a specific process. There aren’t a lot of rules, and it’s a quick read. Educate yourselves!

    The one thing I have learned is that because a lot (possibly the majority) of companies implement it badly, and use it as a tool to create bad culture, that it has gotten a bad reputation. It is true that implementing it well is difficult, and apparently that is a big problem for the industry. It requires commitment from top management, and it requires that managers be confident enough in themselves to allow the kind of autonomy that makes scrum work well. I have seen managers who couldn’t handle it.

    To me, waterfall was a total failure. I lived it for many years, and it is based on principles that I don’t think work well for most software development. There are two things I specifically think are a problem. First, the idea that you can fix requirements and time estimates for a big project and come out successfully at the end. Second, the idea of doing all the testing after all the development is done, rather than being highly iterative. It didn’t work, and because of it most projects back then were late, produced a lot of unwanted features, and were unresponsive to quickly changing market needs.

    Agile was a huge improvement over that. If agile isn’t working, then we all need to figure out why and propose something better. Whining about it really isn’t helping. Read the literature, get informed, and then advocate for yourselves to your management. Explain to them why they are doing it wrong, and why they would benefit from doing it better. If you really understand how it is supposed to work, it is easy to show why everyone in an organization can benefit.

    • Thank you for an intelligent comment. I have been very critical of Scrum which in the hands of poor or mediocre management is a disaster.

      I am a fan of AGILE. In my opinion Scrum and AGILE are not the same thing at all. AGILE is about dividing projects into the smallest possible deliverable. Scrum is about sprints and story points which are not part of AGILE.

      I am doing something right now which requires four different microservices. While the finished product depends on all of them, each can be written and tested independently. Doing each and then giving them to QA as they are done makes a lot of sense. Breaking them down and doing them separately is in the spirit of AGILE and has nothing to do with Scrum.

      To me that is how AGILE should work.

      OTOH, Scrum is a nightmare. I have worked at companies where the implementation was completely inflexible. At the end of every sprint, management would scold the engineers because we were releasing our work to QA at the end of the sprint and not evenly over the course of the sprint. What the hell did they expect? We were given requirements on the first or second day of the sprint. Most tickets required at least several days of design, coding, and code review before going to QA. How in hell were we supposed to give work over to QA before the end of the first week?

      I recall a sprint where I completed my work ahead of time. Having nothing to do I took a ticket off the top of the backlog that I thought would be included in the next sprint and started working on it. That ticket was not included in the next sprint. I was scolded, yes scolded, for taking initiative and trying to get ahead on the work.

      Storypoints are also a nightmare. I know that Scrum says they should not be used to judge the performance of engineers, but it happens all the time. The problem is that all storypoints are not the same. In one group, we lost three, yes three, UI people. Our UI code which we had inherited from other teams was a mess. The UI people would fall behind on their points and get judged accordingly.

      At another company some tickets required writing Selenium code which was always underpointed. I ended up with a lot of these stories. One of my coworkers once confessed to me that they avoided Selenium stories, meaning I got more than my share because I don’t dump hard jobs my coworkers.

      But in the end, under Scrum people who game the system are often rewarded while those that don’t are penalized.

      If these pitfalls are avoided, then I suppose Scrum might be a good thing, but the temptations to fall into them are great.

      • “I am doing something right now which requires four different microservices. While the finished product depends on all of them, each can be written and tested independently. Doing each and then giving them to QA as they are done makes a lot of sense. Breaking them down and doing them separately is in the spirit of AGILE and has nothing to do with Scrum.”

        That sounds more like waterfall than agile to me. If you were agile, each story would involve modifying all four microservices at the same time. Implementing and testing each microservice independently, and then integrating them at once is textbook waterfall.

        Having QA is not agile either. If your unit tests pass, you ship it to Production.

        Four small services and having QA test them sounds like good software development to me, but I’m skeptical it’s agile.

        I wonder if a lot of people out there are really doing some sort of version of waterfall, iterative, sprial, …, but think it’s agile because they are taught waterfall is bad, agile good. If my project is going well, then it must be agile!

        • Sky Coder, according to my experiences, not only the four microservices would have been put into the very same sprint (which is OK), but the integrating part as well, despite it depends on the microservices. At least it would have been, where I was working.

          • Yup! And if the team can’t do the change and QA within one sprint, they get berated. Just break the story up into two smaller stories. It’s so easy!

        • I disagree with this completely. I have never worked at a company that did not have QA. The AGILE manifesto doesn’t mention QA at all. It certainly doesn’t say QA is not necessary. This is far from a universal truth. If anything it illustrates how many people will say something is AGILE or not AGILE when there is no industry wide agreement.

          I’m not trying to criticize you. I do like your messages.

          I certainly write unit tests and test thoroughly before giving to QA. I am pleased to say that I rarely get anything kicked back by QA. But QA is needed. I have had QA people think of testing things in ways that I didn’t think of. A second set of eyes is good.

          Often related but independent microservices should be developed separately. Let’s suppose we have a new page which needs four microservices to be minimally viable. I have worked on the back end of such pages while a UI person worked on the front end. It makes sense for me to release each microservice when done so the UI person can work on the parts of the page that call that microservice. While the page itself may not be releasable to the customer until all parts are done, individual parts are testable.

          • I agree – QA is good. Unfortunately, many companies out there do not. When the developer’s unit tests pass, ship it to Production or the customer.

            I also agree with your approach to independent microservices. Unfortunately, the industry trend is the UI and backend microservice changes must be done within the same sprint. If it can’t be done, simply split the story into a smaller story.

    • “Explain to them why they are doing it wrong” – Sounds good in theory but at many companies (such as the one I worked for) it was usually the fast track to the unemployment line.

      “To me, waterfall was a total failure” – I used waterfall and, later, iterative successfully for over two decades. Developers complained about management pressure as relates to schedule but nothing like the uproar I have heard from scrum/agile.

      “the idea that you can fix requirements and time estimates” – Waterfall and iterative both allowed for requirements and timeline changes. Schedules were always being adjusted if changes and/or problems to the original design happened. I never worked on a waterfall or iterative project that finished with the original requirements and timelines intact.

      “all the testing after all the development is done” – Testing started as soon as there was something finished enough to test, always well before the development was totally finished.

      To coin a phrase – “If waterfall didn’t work for you, that means you were doing it wrong” Same for iterative.

      Agile/scrum may well have a niche for web based development or maintenance of a mature product but I’ve never seen it work well for large scale, mission critical software.

    • Of course, it could be that you were recognised as a strong scrum proponent, and as such, people that had issues with the process never tried to communicate that with you. I’ve worked with developers that have high levels of anxiety, and participating in a daily scrum is a real issue for them – although they are never going to come out and say that in any way to change the process. It may have had something to do with why they worked unhealthy hours.

      You said to read about scrum, I’ll quote from the scrum guide about what the daily scrum consists of:

      – What did I do yesterday that helped the Development Team meet the Sprint Goal?
      – What will I do today to help the Development Team meet the Sprint Goal?
      – Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?

      Saying what you did and will do has very little to do with communication amongst peers. And despite what the scrum guide says about only the development team is involved, practically, the majority will have line managers present, even when done “properly”. Yes, the progress towards a goal has to be tracked, and if it is being done with a physical wall, then it makes some sense to gather and collectively ensure that it is updated.

      What isn’t listed in the scrum guide is anything that would be useful communication for peers – what have I learned? What can others learn from? Or maybe just to say something “of interest” about their work.

      And the timing of the daily scrum is a problem. Interruptions have greater impact on productivity than just the (brief) window of actually occurring. Timing of meetings, how it fits into personal daily schedules, how people handle those interruptions, anxiety over speaking / what you have to say – it all adds up to favouring certain team members over others, in a way that has nothing to do with whether a person has the knowledge and expertise to be a productive contributor to the goal.

      If we want to improve the process, then we should start by recognising how the tool chain has improved, and how it can be used. For example, we can “watch” tasks in issue management if we need to know when something in particular is started. We can automate sending ticket changes to Slack channels, communicate across the team in Slack channels in a way that allows people some flexibility in how it fits to their schedules.

      Where people are critical, it’s not about the broad outlines of the agile manifesto. Very, very large waterfall projects aren’t a good idea. You want to break things down into achievable, and hopefully independent, goals. You want to validate/fail quickly. But it the broadest terms, there is nothing in the agile manifesto that prevents you from doing a bunch of one to two-month sized waterfall projects. A *short* waterfall project is not necessarily the same evil as a large one, and may be the most efficient. pragmatic way of achieving certain goals. And this is where agile as practised becomes an issue – because in the real world, it invariably means that people adopt a process and fit all work into that process (even if they tweak the process as they go – work is fitted to the process, rather than teams being truly self-organising).

    • I will go so far as to suggest that the OP has demonstrated that they are actively misapplying the principles of both waterfall and agile and is part of the problem. Neither methodology is prescriptive about what must be done by whom or when and both methodologies require that all participants buy into the same process/methodology and commit to common delivery principles or the organization is doomed to fail. Upon failure, if they blame the methodology then they did not buy-in and embrace the positive aspects of a given methodology to make their organization successful and demonstrate yet another example of where people blame the tool rather than look inward (self, team, or organization at large.)

      I have worked with organizations where a waterfall team was able to deliver more features and faster than a peer agile team but they also incurred a greater risk of missing committed delivery dates when things did go wrong – more importantly they sometimes carried too much WIP when the impediment may have been identified earlier in an Agile methodology. Likewise, within the same organization I witnessed agile and waterfall teams alike that did not properly apply their chosen methodology thus becoming a least competent denominator with poor delivery velocity often blaming the methodology or others for their own lack of commitment/responsibility/delivery. However, in the above examples, the methodology was neither the cause nor the sole reason for success or failure; adoption and discipline to deliver is the underlying key factor.

      The OP did hit the nail on the head in the area of responsibility; IMHO, when individuals hide behind a methodology and do not take responsibility for the teams’ results it suggests the team is not an effectively organized team be it as a result of misapplication of methodology/principle, lack of buy-in, ego, or any number of possible root causes of poor teamwork. The tool/methodology is not the problem, the organizations commitment, methodology adoption and maturity at large are the problem.

      A methodology doesn’t’ solve the problem, it provides a framework for common understanding, language and operating model which should provide better results, faster delivery, or reduced risk when embraced by all consistently

      • “I have worked with organizations where a waterfall team was able to deliver more features and faster than a peer agile team but they also incurred a greater risk of missing committed delivery dates when things did go wrong – more importantly they sometimes carried too much WIP when the impediment may have been identified earlier in an Agile methodology.”

        I agree it is a good idea to divide the work into smaller pieces and produce pieces that can be demonstrated if not actually delivered. By producing these the team can show that they are on target for a deliverable. This is all part of the Agile Manifesto.

        The problem is that Scrum goes well beyond the manifesto, and often directly violates the manifesto. The manifesto says nothing about sprints or story points. It introduces people who believe their roles are to micromanage the engineers. In this discussion both myself and others have mentioned incidents where we were rebuked for taking initiative and doing without first having it assigned in sprint planning missions even though that work fit in with what we were currently doing.

        One of the signers of the manifesto, Pragmatic Dave Thomas, has called the current practice of Agile “evil” because of the ways it has been distorted: https://www.youtube.com/watch?v=a-BOSpxYJ9M

        • “In this discussion both myself and others have mentioned incidents where we were rebuked for taking initiative and doing without first having it assigned in sprint planning missions even though that work fit in with what we were currently doing.”

          I experienced that kind of scrum-initiated micromanagement, too. One tries to improve the product, maybe even using some spare time – but the approach was not in the sprint, and you get trouble, even if it was planned for later and a ticket already exists. Company doesn’t exist any longer, I do not wonder, why.

        • “Scrum … introduces people who believe their roles are to micromanage the engineers.”

          If you believe that, you don’t understand scrum. Scrum introduces no such thing.

          Scrum is very much the opposite of what you describe. There are no micromanagers in Scrum. The team members are empowered to work on what they want, when they want, within the boundaries of the project.

          Scrum masters are not managers, and neither are product owners.The only boundaries are that it must be on something from a list of things maintained by the product owner (ie: they can’t work on a game if the team is tasked to create an accounting program).

  362. This is an inconclusive and factious post: waterfall is evil, agile is evil. But we don’t have alternatives! You insist on the psychological side of stressed and undervalued developer. I work in a company that use agile but this critical psychological situation doesn’t exist: there are juniors or seniors, product architects and product owners, etc…
    We don’t kill professional dignity of people.
    I’m sure that my company is not the perfection but I never seen your horrible world when we work in Agile/Scrum.

  363. There are all kinds of misused and misguided ways of trying to change to the new buzz on town. However, this does not root out a bad culture, a strong hierarchy with pennalism or a culture of prestige. What I see you describe has nothing to do with Scrum or Agile per se. The Agile and Lean philosophy points towards engaging, empowering and reinforcing knowledge workers to work in the way they know is best. Somehow you are describing situations where the business is not insightful enough and have no way of learning or improving. The double-loop learning is missing. They seem stuck with an implementation of a so-called Scrum and management seems contented at that. The methodology is supposed to foster a culture of transparency, trust and empowerment. Obviously, you have experienced company cultures where the ultimate goal of the change has not been known or envisioned by management. I am sorry. I am not convinced that you nailed the correct problem to the wall. The nail you hit was symptoms of bad culture not methodology.

    • The scrum framework is the problem. As Florian Haas already well explained it stipulates things that are nonsense (watch the video below or the long version). From my point of view, it supports this highly operative monitoring required in today real time operative business. This pure operative management in R&D is a sign of Porters industrial thinking and his devaluation of R&D on the same level as the production line. Abandoning R&D to the operations resulted often in poor R&D departments and in crowd of less experienced knowledge workers (example fall down of 3M). I have never seen a company where the transparency was not dependent on the status/silos and uni-directional. As long as objectives are based “just” on team efficiency, business value, value chain, need of the client etc. as long are creative knowledge workers just in the first gear. R&D should be always a part of higher strategies with space for innovations and trials and failures to improve learning. They have to be willing for this by their own intrinsic motivation and not to be forced by an external transparency that points always to their weakness. This will never work. The quality of the decision and the space to allow mistakes should be at the highest level in R&D. This will work only on a voluntary basis. Our stakeholders should not just take responsibility for the short-term quarterly growth. It is not enough when each think only of himself. Good values should not be used as a pretext but must be actually lived – however it starts at the leadership. Scrum is just pure micromanagement – nothing else. Nothing for innovative companies. Good to torture your bad teams and bad employees through the years? Not even for this…

      https://en.wikipedia.org/wiki/Micromanagement

    • Too often “engaging” means micromanaging.

      About “culture of transparency”, see Michael’s comments on “violent transparency”. It’s one thing to have good communication. It’s another to have your manager constantly looking over your shoulder.

  364. What to develop, why develop it; how to develop, whether what have developed have is worth the capital and human labors, and have desired and proved values. All of these basic questions have to be answered regardless to the methodologies. Waterfall, Agile and any other methodologies answer these questions differently. Principles in “Manifesto for Agile Software Development” actually make sense to both Waterfall and Agile as long as they make them happen using whatever practices. But I think Agile has more comprehensive practices than Waterfall.

    • Well you can really say everything has its value as long that it does not cost our life. But someone can think its valuable but it is not. Not always the fastest will survive but the one with multiple strategies (that cares about strong and weak signals). As Minzberg mentioned its often not the official “valuable” strategy that won the race, no its the weak signal developed that came up and did the run. Or some other development that will be thrown away or maybe not.
      http://facilitatingimpact.blogspot.ch/2008/07/mintzbergs-5ps-of-strategy.html
      But in 2017 I really do not want to start the discussion why waterfall is good for software development. And I will end with a citation. The author Malik mentioned that scientists and engineers work in a different way from that of other personnel. Because of the nature of work, scientists and engineers encounter new problems again and again. Such knowledge workers are not personnel in the usual sense (Malik, 2015, pp. 77–78). (Malik, F. (2015). Navigieren in Zeiten des Umbruchs: Die Welt neu denken und gestalten. Campus-Verlag.)

  365. It’s borderline amusing to watch the efforts of “business people” (umbrella term for all managerial tiers of folks who haven’t produced a line of meaningful code in their lives) trying to fill the technological and communication (and, probably, IQ) gap between them and software engineers.

    The “business people” never cease to surprise with their level of creativity in inventing useless / meaningless / harmful tools for the sole purpose of justifying their own existence. As one professor I had in college succinctly put it: “Beware of the stupid. They have a rested mind.”

    Agile + Scrum (which, BTW, in a certain East European language means…ashes) is their latest fad. Their latest beloved “creation”. It will vanish (at least in its current abusive and idiotic form) same as Flat Earth Theory eventually vanished (which was yet another example of something promoted by idiots with too much power).

    • I agree with your comment. Am I to guess you are from the Balkans my friend? It actually means ashes in at least 3 east european languages : romanian, albanian and bulgarian and probably other languages of our friends and neighbors. My suspicion is that the term comes from when vlahs and the bulgarian united to form the bulgarian empire. But yes it is fitting to name that methodology ashes!

    • “(and, probably, IQ)”

      I don’t think Agile + Scrum is the root of the problems you have encountered working with others.

  366. I have to say I hated Agile at first. We adopted it in full and followed it religiously. It was terrible. But we wanted to test it out before dissecting it. Now we have an “agile like” process that has shown a vast improvement in productivity. But it wasn’t the process changes alone I had to take on to make it work.

    We are a small team in a large corporate enterprise and are lucky enough to be primarily autonomous. We do get some business mandates handed down but for the most part our primary goal is identify bad process and build tools to streamline it. Like most people our time has its own row of cubes smack dab in the middle of the people we build tools for. I hate it and most of my guys hate it to. So I made some changes with my directors approval.

    Planning meetings you have to be in the office. It involves lots of whiteboards and open discussion. Other than that work where you want. If we have a planning meeting or an emergency meeting of any kind we cancel the daily scrum. No point in multiple interruptions in a single day. Our daily scrum is rather organic as well. I try to hold it to 20 minutes but if imperative information must be hashed out we take the time to do it. And anyone not directly involved is free to drop the call. And the time of the daily scrum is ever evolving. Right now its at 3:00 pm because we put it to a vote.

    Another drastic change are our sprints. They can be a week long if we just want to knock out some annoying bugs or a month if we have quite a few related features we want to push. The whole planning process is extremely organic. I want all my guys to be involved in how the project proceeds. Thankfully my director lets me tell him no when I know more important background work needs done before i deliver his fancy new widget.

    I’m the senior developer of the team and also act as the “scrum master” if we can still call it that. My goal is to make sure all of my guys are full stack developers. Some of them are great at API while others are great at UI. So I often switch roles around. If I’m taking lead on the UI i will pull in one of my guys who is lacking in that area to assist. And we sit down and review his pull requests together. Some day i want to make it to director and so i see it as my responsibility as senior developer to make sure one of my guys can take my place when that day comes.

    These are just some quick examples of how we made Agile work for us. Taken at face value and following the doctrine was a terrible experience. But i do value that experience because it gave us a baseline to work with. Now we operate as a well trained Shadow IT Unit.

    • Thanks. I think the key to doing AGILE well is flexibility, as you have discovered. Too many mangers see it as a way of micromanaging the engineers, and demanding that the engineers meet a tight schedule.

      In my opinion Scrum and AGILE are simply not the same. The AGILE manifesto says nothing about sprints or story points. I like the principles of AGILE. I like the idea of breaking up projects into minimal viable pieces and minimal testable pieces. I dislike the way Scrum is too often implemented which not only goes well beyond the principles in the AGILE manifesto, but often violates them.

      • Actually is one of the problems Agile causes. Splitting tasks that much causes software to be extremely inconsistent, full of bugs, extremely expensive from the pov of resources. In one word, crappy software. Think what would happen if each piece from a clock would be produced by someone else. It would not work properly or maybe not at all because they would not fit well together. Is the same with Agile software. The parts of the software does not work well together.

  367. Agile can be just as complicated as any other method, especially on large projects. It’s a constant back and forth between time to market, and the technical debt that must be accepted when doing agile. Get either of those wrong, and things don’t work out well. That’s why there is always a sense of urgency and uncertainty with agile. Developers jobs have been made harder because they are not allowed to build something that is correct, like they were taught in school, they must build something that is good enough with built in deficiencies that is assumed will be refactored sometime in the future. Mess up the precarious balance between the product quality and the technical debt and you have a situation that is no better than a waterfall failure. The waterfall failures are due to incorrect requirements, an agile failure is from runaway technical debt which requires scrapping and rebuilding the whole system.

  368. We have just started to implement Agile processes around our ever evolving weekly continuous delivery release cycle to our web-based application. Some random thoughts below.

    Technical debt will build no matter what process is used. Technology changes at such a fast rate it is inevitable. Better ways are always around the corner.

    I see Agile as a vehicle that encourages communication and accountability at all levels. People that are not social will not be accepting of the Agile concept by nature.

    • Scrum is about micro management. From what I have noticed is that most people with in depth experience don’t like scrum. Read all the posts above, and I know some other links where the same type thoughts are expressed.

      The general consensus is: “Agile/scrum may well have a niche for web based development or maintenance of a mature product but I’ve never seen it work well for large scale, mission critical software.”

    • Very good example. Both Agile and this are applications of iterative development. The way the ones you mentioned do it is the good implementation, Agile is the bad.

      • I should have provided a quick summary of the article:

        * They do 6 week releases. (They used to do 3 months)
        * For a feature, they have a to do list in one place. It it not broken up into themes, epics, stories, and sub-tasks.
        * They do not track time.
        * They rely heavily on asynchronous communication. No daily scrums, backlog refinement, sprint planning, sprint review, retrospective, scrum of scrums, scrum of scrum of scrums, …
        * When interaction is needed, they use Skype or Hangout.
        * They are mostly remote. No war rooms or open offices, sorry ‘agile work spaces’.
        * They have QA! That’s right, testers.

        I’m not saying everyone should follow Basecamp. Just pointing out that there are plenty of alternatives to Scrum.

  369. Pingback: Why “Agile” and especially Scrum are terrible – Michael O. Church | XLAgile

  370. It’s a well known secret amount Scrum Trainers that developers absolutely hate Scrum! My God do they hate it! This blog is spot on. The blog also really bad for my business. I’m really glad there aren’t many blogs like this one!

    When I first started galvanizing dev teams into Scrum, within the first 2-3 months, well over half the team would leave. But now, most jobs are Scrum, or some sort of Agile, so developers have no choice. It seems like after about a year, the devs give up and accept Scrum. It’s just the way things are now.

    Why did I get into Scrum? The $$$ of course! Now that I have years of experience converting companies, and run my own consulting, I’m pulling in close to 300k a year. I could easily retire in my forties. But it’s just too much money to quit!

    • I can’t decide whether you are 1) telling the truth, 2) stirring the shit pot or 3) trolling. Anyone want to have vote?

      • My bet is he is trolling. But what he said is mostly true. Depending on his position the money part might be not accurate but the rest is completely true. Then again scrum masters do jack shit so any money is a lot of money for them.

        • Yes, the sad part is that it is mostly true. Experienced developers leave if they can and the consultants/trainers (if you could call them that) make a ton of money teaching the crap.

    • I appreciate your candor, and both applaud as well as condemn you.

      Devs may end up winning – the industry gets jacked by this lunacy and reduces the supply of engineers and driving up salaries. You just have to survive the catastrophe.

  371. nice rant, and now that you’ve vented your spiel about bad business practices, what do you think of Agile & Scrum when done properly and not half arsed?

    • Seems like I have sensed a theme in this blog. The people who actually do the work (developers) universally hate agile/scrum. This is met with scrum proponents (mostly scrum masters) bemoaning that it’s because the agile/scrum implementation is just not being implemented correctly. Maybe, just maybe, agile/scrum is actually a cancer that destroys development cultures. Maybe, just maybe, it actually IS being implemented correctly. Maybe, just maybe, there is no correct implementation where the world is rosy and developers are actually happy with agile/scrum (cancer). Maybe agile/scrum is not well suited to most, if not all, feature rich, mission critical, software development. Or flight control software. Or firmware.

      A caveat – it may be well suited to web development where the UI is not nearly as rich as that of a feature rich, mission critical, application. Where the underlying data transport is XML instead of SQL Server. Where functionality is more limited. It may also be well suited to the maintenance mode part of a mature product development cycle (aside from major redesign or bug fix).

  372. Scrum doesn’t work because of human nature. The system itself is against how the creative human works (note ‘creative’ something the business people will never understand). In all shops that I’ve seen the best and brightest leave first when Scrum happens. Of course I asked: Why?

    Because everything becomes drudge work that gives no satisfaction. The most interesting part of software development is the research phase where you have to think of different solutions and choose one and when it gets implemented and works you get a sense of accomplishment. By breaking everything down to the smallest part and distributing the work across the team there is no sense of ownership thus no satisfaction. You just implement stuff that was decided for you. Also, due to the nature of sprints there is always the need to do it as quickly as possible without contemplating other choices and without being too forward thinking. There is no choosing on what to work, no choosing of the order in which to approach the problems etc. ‘Just ticket after ticket after ticket’ as Michael says. Of course I’ve noticed the bad programmers or juniors that don’t want to be bothered to think love this system and as they are the majority of course I have no chance of winning. Also team leads that aspire to be managers also seem to love it since it allows them to micromanage and appear heroes to their managers, thus increasing their chances of being elevated to the, of course, superior rank of a manager.

    I work at a company for 8 hours a day and at home for 3-4 hours every day after work on my own project. I always and by that I mean absolutely always am at least 3-4 times more productive in the 3-4 hours before sleep than I am in the full 8 hours at the company. Open space interruptions, status meetings, being switched from one task to another and then back again etc. take an immense toll on my productivity. Home alone where I can focus I always destroy everything that I do at work. Not to mention that my personal project is many times more complex than what I do at work. By every measure, features implemented, bugs introduced and fixed, lines of code whatever you want to measure, I am much better at home when I am tired than at my full time job. This should scare managers but they just don’t care as they will never realize how much unproductive an open office Scrum operation is.

    How can we fight this stupidity that is Scrum? Any suggestions? I am 28 years old and I do not want this to be my whole life.

    I also couldn’t help but notice that quite a few people in this thread are fellow Romanians. I see the low quality Scrum outsourced shit is not pissing off just me. If I am not alone in this then maybe there is a chance we will get rid of this cancer of the industry.

    • I feel your pain. This is not just happening in outsourced areas – it also happens every day in my home country of America. I remember when I saw how this was taking hold in my healthcare IT job one day and had the thought “my career is over”. And it was, although in my case I was 63 before it happened, so I can only imagine how a talented young person must feel. The problem is, as you alluded, that management absolutely loves the shit because they can micromanage and feel in total control. I think it may take seeing software development fall flat on it’s face because of poorly written, buggy software. A good example is the Windows 10 ‘creators update’. Maybe you could end up marketing your own project and start a software company that is structured correctly. Anyway, all the best and good luck to you. My hope is for things to get better for you.

    • There is no fighting it. The only way you’ll know it’s over is when the lucrative agile training business starts to go away and all the agile training companies shift to teaching the next silver bullet methodology.

      • Agreed

        @rob, @disgruntled – I see hope as there are more posts challenging Scrum than there are advocating it – the snake-oil well is running dry.

        @retired – perhaps in a year or two you may come out of retirement?

        Let’s try to hear more from developers that love agile and scrum (Remember, this came from supposed developers).

        Steve

    • Great reply.

      How do we fight AGILE/Scrum? AGILE/Scrum has a few good things and a lot of bad. We get rid of it by identifying these and by convincing management to keep the few good things while tossing the bad.

      I think we need to ask why management likes it and why engineers hate it. There are some good things about AGILE. It creates some major problems, but helps solve some problems that have plagued the software industry.

      A major problem has always been identifying failed projects early on. A large percentage of projects fail. Even worse, the failures are often not apparent until the project nears completion. Many projects that don’t fail fall way behind schedule. Again, it does not become apparent they will be very late until the end.

      AGILE and its use of milestones is good at showing problems in a project at an early stage. There is an emphasis on producing minimum viable products. For a web project this often means releasing individual pages instead of releasing all web pages at the same time.

      It doesn’t even matter if the MVP is useful on its own. It is something that can be shown to management and customers so they can see if it is what they want. It is something that QA can start to test. It shows management that the engineers are not completely off track. It gives management the chance to see if things were left out of the design or if things in the design are not actually needed.

      If the milestones are missed it gives early warning to management that the project may be late. This lets them know if they need to add resources to the project or to reset expectations. It even allows them to decide to cancel a project if it will run too far over the estimates.

      None of the above has anything to do with story points, sprints, or tickets.

      Now, the bad. I agree that under Scrum engineers lack ownership. Scrum masters, product people, and others see it as a a way to micromanage the engineers. I’ve had product people tell me that Scrum makes overall time estimates more accurate. The way to do this is to divide things into smaller and smaller tasks. This is absurd of course. They think they know how to do our job better than we do.

      I think we get rid of the cancer of Scrum by convincing management to keep the few good parts and get rid of the bad.

  373. How do you like this for a software development methodology?
    My boss: You know C#?
    Me: Uh…no.
    Boss: Learn it. You know how to calculate (a hard military problem that prudence dictates shall remain un-described) ?
    Me: Uh..no…
    Boss: Get started. Figure it out. I’ll talk to you in 30 days.
    30 days later:
    Boss: What have you figured out? Start at the beginning. Leave nothing out.
    …Back and forth with questions, answers and comments for 15 minutes….then,
    Boss: Ok, keep at it. See you next month.
    30 days later:
    Boss: What have you figured out? Start at the beginning. Leave nothing out.
    Lather. Rinse. Repeat.
    Result: 8 months later my project was an outrageous success.
    Best job (and boss) I ever had.
    Mike R.
    p.s. He trusted me because we had worked together 5 years previously on another project.

    • Some may say “That’s because it’s just you.” but replace “Me” with “Engineering Team” and “My Boss” in some places with “Engineering Manager” and “Product Manager” and it works exactly the same.

      The software is ready when it’s done.

      • Steve – “The software is ready when it’s done.” Nicely said. I heard this for the first time over 30 years ago and it’s just as true (100%) now as it was then.

      • Retired and Happy, Thanks for the comment. If I ever get into a management position, his example will guide me. I knew he was counting on me. I knew he didn’t have the time to interact me with me too much. I couldn’t let him down. That’s great motivation.

  374. I am a BA who works across a number of teams, and I definitely believe that Scrum promotes mediocrity. It always amazes me how the points given to similar stories varies so wildly across teams – and because I am a non-technical person, it is very hard to argue. It definitely appears to me that for (some) people, there is a huge temptation to ‘over-point’ stories, which means you can pull in less stories to a sprint. Why work harder than you have to, when you can look like you are doing a lot of work (at least points-wise) to management?

    And the amount of points teams decide on for each sprint is spurious, to say the least. It seems to me that you can commit to X number of points for a sprint, based on absences and resources etc, but it is usually an amount that does not mean that everyone in that team has to work particularly hard. And if all the work is finished early for the sprint, there is always “research” to be done. Not many people seem inclined to pull something off the top of the team backlog into the current sprint.

    Perhaps it is our implementation of Scrum that is the problem – we definitely have a very ‘hands-off’ manager. He is an Agile zealot, and believes in team self-determination (a cornerstone of Agile), but that allows for a lack of accountability and underperformance. It appears to be more important to observe the myriad Scrum “ceremonies” and stick up mountains of little bits of paper on walls than actually do too much work.

    And try to suggest ways to improve the Scrum process to a Scrum zealot! It’s like challenging the gospel to a born-again Christian. I have definitely felt in the past that questioning the process, or even making suggestions about improving the process, was seen as being ‘anti-Agile’.

    I certainly do not think the days of Waterfall were better, but I also do not believe that a blind faith in Scrum is the answer either.

    • “And the amount of points teams decide on for each sprint is spurious, to say the least.”

      Management is not supposed to rate teams and developers according to the number of points they accomplish, but they do. I was once criticized for “only” accomplishing 80% of the team average in points. For many of our tickets we had to write Selenium tests and those were being underpointed. I told my manager that I was getting more than my share of tickets with Selenium tests, but he didn’t care. I later learned that some of my teammates were avoiding stories with Selenium tests, so I was getting more than my share.

      I don’t dump harder tickets on my teammates so I got screwed. This is an example of how Scrum invites people to game the system.

      • A rebuttal may be a “blame-distribution” that any process is corruptible, however Scrum is counter-intuitive to how people and businesses operate that it is a flawed design to begin with.

        “You’re doing it wrong” doesn’t fly anymore; maybe it did the first couple of years while we were trying to establish an informed opinion, and now we all know better.

      • Gaming the system is the obvious rebuttal but it’s simpler than that. As a great developer I want to be rated by great code, great solutions and great accomplishments. Story points are about as useful for determining that as LOC, It doesn’t translate even if you’re honest. People love playing management by the numbers games and it’s pre-Scrum. I remember as a department head being asked to introduce KPIs and I quickly put my foot down. I came up with KPIs, that wasn’t a problem. The intention of those was to have basic counters to go by to measure efforts, detect problems, etc. I made it abundantly clear however that under no circumstances was I going to have a system in my department dependent on these for a sole measure of performance of employees and pay reviews with the exception of relevant cases where it can map. Most of the development work and situations don’t map. Something that might map is the number of candy bars you sold. People over rely on statistics where it doesn’t make or give a clear picture. Such as how many features did you implement? Jenny received ten intermediate features to implement all of which were small. Bob got a large difficult feature to implement. Both completed their tasks. Jenny, you’re promoted. Bob, you’re fired.

  375. Pingback: Why I Didn’t Do It – Michael O. Church

  376. At the “Fachhochschulen” they teach us that a strong hierachical organisational structure no longer a future in the existing form. No matter what sector you are in. Instead of the pyramid the future of a modern organisation is the organisation of processes (Prozessorganisation). The old structure with their operative islands are outdated. I have it well explained in my book but have not found a much better source right now.
    http://www.businessprojectmanagement.de/download/folie22/
    The reason why the leaders are looking for better system is because they have recognized that the “Prozessorganisation” gives a much better vertical integration (value creation) that fits todays customer needs (at the end “our” needs). But – the customer satisfaction and the employee satifaction ist strongly correlated. In this future “Prozessorganisation” we need a kind of software development prozess that is less about controlling and watching (also no PMs = SM etc.) and more satisfiyng. There must be a place for indivudual trial and error, creativity, thinking, self-reflection. There must be a place where people are not treated as a product or a commodity. I could reach to that point that i changed to weekly standups instead of daily. My line manager is still bugging me often (that he can justify himself by who knows in SOS) every day but well – what can i do more – lets see. Our company knows that they have to change the culture otherwise there will be hard times in the future.

    My advice: Figure out the values that were discussed as a part of the normative management and check then if that normative values fits the culture (horizontal fit). Possible question related to: Values, distribution of profit, reinvest profits, risk agreement, growth plans, market performance quality, ownership, taking into account social relationship or employee goals, agreed leader style, customer orientation weighting, employee weighting, performance weighting, cost orientation, innovation weighting, flexibility weighting, time weighting, technologie weighting etc..

    Check also the product strategie of your company: Differentiation, Cost Leadership, Fokused strategy (They may lead to different values because of the strategie if they think about it).

    Find a way to the top management and start asking some uncomfortable questions to them :-), just make it more transparent!!! This will help to create an iterative mission statement that maybe can change the culture! Resistance are comming mainly from senior line managers.

    For a future without Scrum – but our sector has really to find a new prozess, otherwise Scrum or kind of Scrums will not go away… i do think so..
    greets

  377. Pingback: Continuous Development - Starcore Labs

  378. This article is so true, I would swear you looked over my shoulder for 6 months.

    I recently left my position I held for 12 years, as a senior developer who had earned the respect and trust of the small company I worked for, was the “go-to” guy, and gave the company profitable applications that quite possibly saved them from going under.

    The company was sold (by the retiring boss) to buyers funded by “venture capitalists”. They were comprised of two far-too-young-to-be-experienced-enough CxO’s who previously worked day jobs like the rest of us.

    And then in came Scrum…

    I have never, ever, sat through a worse 4-hour meeting than the one our new CTO gave us on our new development methodology. Phrases like “We will have discipline and there will be nowhere to hide”, “Pain is weakness leaving the body”, “You will f**k up and we will know who is responsible” etc etc

    We took on scrum and started on rigidly fixed two-week interations. Everything slowed down to a crawl. Our customers who we’d already taken money from got revised release dates for their work and they were livid, some threatening to leave, some threatening to sue. That’s without writing about the new contracts they were being given (2x to 5x uplift in pricing).

    Creativity was the first thing that went out the door – everything was decided by committee, which resulted in most work being dumbed down so the less technical members of our team could understand it and therefore work on the ensuing User Stories. The time we spent actually doing the programming was severely decremented by the time spent “being Agile” in {insert name of Scrum meeting here}.

    Work was fragmented into small pieces, each of which had to be documented individually before being allowed to be checked in as “Complete”. This resulted in the end product being like a patchwork quilt – you can see the obvious seams, both onscreen and in documentation.

    The CTO constantly watched the {Scrum Management Software} and rang us up (Skyped us actually) if he didn’t like something we’d put in there – on one occassion he rang up our Manager whilst my colleague was still typing the Description of the User Story because he “didn’t think the Title was descriptive enough”.

    I suffered badly because of the working enviornment I found myself in and I knew I had to get out. I interviewed for two positions within a few months of each other – I got offered both within 24hrs of interviewing, turned down the first one because I thought it wasn’t right for me, and snapped up the second one.

    I handed in my notice shortly after a new User Story hit the Product Backlog “Integrate our {Scrum Management Tool} with the new HR software”.

    It was this article which made me realise what that last phrase truly meant and helped me say “Yes” to the job offer. I now work for a fantastic company, worlds apart from the fiasco I left behind.

    So I’d like to say “thank you Michael”.

    • Thanks for this. Regular feedback is a part of Scrum, but regular feedback often becomes regular nitpicking or constant criticism. At the end of a sprint I once had a few days with nothing to do, so I looked through the backlog, picked a ticket I thought would be in the next sprint and started working on it.

      The ticket did not make it into the next sprint, but no harm, no foul you would think. Nope. I, a senior programmer, got criticized for “getting ahead of things”. The message I took away was, “Don’t take initiative. Always play it safe. Don’t act according to my best judgment.” I found this criticism ridiculous. That was just one of several problems that led to leaving the company.

      • The same thing happened to me. I could usually work through the ridiculously short tasks assigned to me in a sprint so I fixed several other (unassigned) tickets that were directly related to what I had been assigned. They made me remove my changes from source control, returning the code (and product) to it’s unchanged state. I was also publicly berated in one of the sprint stand up meetings. I was also a senior developer at the time.

      • rufriedman commented on Why “Agile” and especially Scrum are terrible.

        “That’s not scrum. That’s an a$$hole micromanager calling his bad behavior “scrum”. This just makes me sad.”

        Indeed, that’s sad, but, alas, this is how scrum is very often (not to say “usually”) implemented.

  379. Best article I have ever seen on Agile. Thank you Michael for writing about the dysfunctional oppressive counterproductive toxic misuse “Agile” bandwagon jumped on by those who lack common sense, or a soul, or both. No matter what anyone says, the author Michael is incredibly astute to bring to light the soul-less damaging behaviour that Agile Dictators have been getting away with in corporate environments for years. Finally, someone has said what many of us thought but kept silent about out of fear of these corporate Agile Dictators mis-using their power even worse if we dared to speak up about the serious problems with the way Agile is usually applied. Thank you Michael!

  380. You’re doing it wrong – everyone here who gripes is clearly doing it wrong.

    The problem is that you just don’t get it – it’s about being customer oriented and pivoting quickly to the changing environment. You “seniors” that talk about deteriorating architecture are not nimble and agile-oriented.

    To those who don’t understand the way of the business world – fly a kite with your concepts of intellectual property, meritocracy, and employee retention; if you don’t like it then go start your own business.

    I’m certain us entrepreneurs will do just fine without you moaners of sustainability.

    Agile is the reed you chose for me to beat with you with so quick moaning and demo something production-ready that will impress me and my customers…God made the universe in 7 days, I give you 10 business days (14 including the weekends!)

    Steve
    /s

    • I wasn’t sure if that was sarcasm or bullshit until I went back and read some of your previous posts.

      It’s sarcasm! And well done, too. We need some sort of ‘tone of voice’ emoji

        • That’s the crazy part – I spewed out statements that would never make sense to any software engineer prior to scrum/agile and it was difficult for you to discern the sarcasm.

          It was also meant to provoke complacent engineers but I wonder how many would say “Steve’s got a point on that post.” :S

          Steve

  381. I often have believed that Agile methodologies were invented by a company run by an incompetent CEO that needed a software methodology to validate their dysfunctional leadership.

    • No it was written by ex developpers turned managers.One day they met, got dead drunk and wrote the manifesto. Later instead of making sure they did not write something stupid they published it and forgot about it for years. That is what they claim. And it makes some sense as it seems something written while drunk.

    • I like the AGILE manifesto. Long before it was written, I was separating my work into phases that were each deliverables so the customers could comment on them.

      I contend that Scrum is a corruption AGILE and is often completely anti-AGILE. Dave Thomas, a signer of the AGILE manifesto basically says the same thing in this video:

      The manifesto even says, “Individuals and interactions over processes and tools”. Scrum OTOH is all about process, schedules, and tools that track tickets instead of being about people.

      • Scrum is called Agile because relative to waterfall it is but indeed it’s not really that agile in general. It’s like calling a slug agile because of a beached whale.

  382. Spot on! Having worked on multiple Sc(r)um projects in many roles, I couldn’t agree more with this article!

    This Scum menace has to STOP before it chips away many technology careers.

    • While I enjoyed the spirited discussion, I’d rather see something more concrete: a list of companies that don’t do agile. That way anti-agile people like many here can make decisions without wasting an interview. People who believe in it, can keep doing it. Practical results will tell. This way it’s just pain and suffering for everyone, people who have to work unhappy and people who have to work with unhappy people. Companies should know this is a big deal for many engineers and advertise themselves as agile-scrum followers or not, or clarify in advance whatever methodology they follow.

  383. Pingback: Stuff The Internet Says About Agile #1 – Anonymous Blogging About IT

  384. Pingback: The Time I Ruined Programming – Michael O. Church

  385. Pingback: Stuff The Internet Says About Agile #2 – Anonymous Blogging About IT

  386. Pingback: The World Beyond Words – All Else Is Halation

  387. Pingback: Back – Michael O. Church

    • Nobody survives scum. Either, you find another company with a different working process than scrum, or you become assimilated and become a “scrum master” or something similiar yourself.

    • Your post is a very refined rebuttal; mine tends to be a lot more primitive and I hope I do not detract from your response (see above).

      There is a false dichotomy – your either with us (agile, manifested as Scrum) or against us (Waterfall). The truth is agile exists without the processes of Scrum, Kanban, XP, etc. It has been around for several decades, and the top tech companies would balk at these manifestations of an agile practice (I’ve seen it, they don’t do this shit).

      The fallibility of Scrum is it’s corruptibility – the designers were naive to think that a controlled experiment would thrive in the real world. It has clearly failed as 3 key signatories of the Agile Manifesto have denounced their effort.

      Dave Thomas – March 2014 – Agile is Dead (Long Live Agility)
      https://pragdave.me/blog/2014/03/04/time-to-kill-agile.html

      Ron Jeffires – May 2018 – Developers Should Abandon Agile
      https://ronjeffries.com/articles/018-01ff/abandon-1/

      Martin Fowler – August 2018 – The State of Agile Software in 2018
      https://martinfowler.com/articles/agile-aus-2018.html
      (Martin admits to being part of the Agile Industrial Complex)

      I have posted this before, and I will repost it until the followers will follow their leaders.

      • I find your comments interesting. I’ve seen people who hate scrum use these same arguments before. Maybe my reading comprehension sucks, but I’ve never found those four articles to be denouncing scrum. At least, not in so many words.

        What I take away from them is they they suggest we stop doing the commercialized, glamorized version of scrum and stick to the basics of agile. For example, here’s a quote from the Ron Jeffires article:

        > But if you can reliably select work to do over the course of a “Sprint” or “boxcar” or whatever
        > your release train conductor starts calling the time period, and accomplish that work,
        > packaging it up in a running, tested, integrated, ready-to-go new version of the system,
        > you’ll be equipped to do the best it’s possible to do.

        That sure doesn’t sound like he is denouncing scrum, but rather more like he’s advocating for it. Only by “it” he’s referring to the essence of the manifesto and not some packaged up overly commercialized version of scrum.

        The fact is, many teams and individuals have been highly successful using scrum. I think that proves it’s not totally without merit. It’s also a fact that many teams and individuals have suffered under scrum. That comes as no surprise, because nobody who has a proper understand considers it to be a silver bullet. Like every methodology, it works for some teams and not for others. I would argue that for the teams that fail, it’s not that scrum itself is to blame. Rather, there’s some sort of dysfunction on the team — either team members who don’t work well in that environment, managers who don’t work well in that environment, or companies that don’t support teams that work in those environments.

        • I don’t doubt that _some_ teams have been highly successful using scrum, but I do say that the numbers are not in favor of Scrum success.

          It does work for some teams and not others, yet it was both promoted and adopted as the cure-all for poorly run companies and projects. I think that, at worst, it squandered a potential opportunity for developers to influence the SDLC but Ken Schwabber and Jeff Sutherland naively evangelized it and it _has_ made things worse for developers on the whole.

          (Funny story, every 5th sprint will yield a nice burndown chart to which people praise it “See!?! It works!)

          This article might be more aligned with the dangers of Scrum

          Ron Jeffries – Scrum is not an Agile Software Development Framework
          https://ronjeffries.com/articles/018-01ff/scrum-not-asd-1/

          Now, before you cherry pick some quotes from this article (which doesn’t say that Scrum is anti-Agile and tries to salvage his reputation saying it’s a “good place to start” ) I’ll quote the following:

          “Scrum itself, in my view, is a good thing. It’s not the best possible thing, as we’ll discuss a bit here, but used as intended, I think it is helpful to organizations and generally harmless to people. Used poorly, Scrum can be harmful to people, especially to the “Dev Team”, while still remaining helpful to the organization. That would be bad.”

          Given that 100% of the 4 companies I’ve worked for have perverted this process suit the needs of the PO, I would argue (albeit anecdotally) it’s success is in the minority.

          It boggles my mind that _no other knowledge worker_ monitors its work like software engineering yet engineers have convinced themselves that micromanaging each other is the right way to embark on a creative endeavor. (Would you consider a board that PO’s use to track progress of their research and development of a story?)

          So, I still argue that Scrum’s fallibility is what makes it a terrible go-to-methodology for any/all development, which is how it is promoted.

          (Cue the “stop complaining and provide an alternative” rebuttal)

          • Steve, you seem to have a lot of misconceptions about scrum. For example, you wrote:

            “(Funny story, every 5th sprint will yield a nice burndown chart to which people praise it “See!?! It works!)”

            I’m not entirely sure what you mean by that, but strictly speaking the burndown charts are only for the team. There’s no requirement that they be shared beyond the team and PO. In no way does it show that scrum works or doesn’t work, it’s simply a representation of what was done versus what was planned. I doesn’t necessarily correspond to whether the team is underperforming or overperforming — it could just be an indication that the team sucks at estimation.

            “Given that 100% of the 4 companies I’ve worked for have perverted this process suit the needs of the PO, I would argue (albeit anecdotally) it’s success is in the minority.”

            And therein lies the rub. Your teams weren’t doing scrum if they perverted the process to suit the needs of the PO. That is at least arguably not the fault of scrum. It’s the fault of a bad PO, and no methodology can survive a bad product owner or manager.

            While it is true that it’s easy to do scrum wrong, that’s not necessarily the fault of the methodology itself. It’s easy to drive a car into a ditch and flip a car, but that doesn’t mean that a car is fundamentally flawed. A bad driver can find their way into a ditch no matter how many safety controls you put into a vehicle.

            Later you wrote:

            “It boggles my mind … engineers have convinced themselves that micromanaging each other is the right way to embark on a creative endeavor.”

            Since neither scrum nor agile have anything to do with micromanagement, I don’t see what point you’re trying to make. Scrum is the very opposite of micro-management in the sense that no manager tells anyone on the team how to do their work, or how long the word should take. A manager presents a vision of a product to be built, but it is entirely up to the team how they plan to build it.

            The next sentence says:

            ” (Would you consider a board that PO’s use to track progress of their research and development of a story?)”

            I would consider using a scrum board to track the PO’s progress if they were working on a team of POs that was working together over an extended period of time. A scrum board isn’t designed for the work of a single individual, though it can be. It’s a bit of overkill, but it can be useful for someone who has a hard time organizing their work.

          • “It does work for some teams and not others, yet it was both promoted and adopted as the cure-all for poorly run companies and projects.”

            Thank you and this is key. It has been promoted as a way to overcome bad management, but if anything, it makes bad management worse.

      • Thank you very much for these articles. I love Dave Thomase’s comments on this. The Ron Jeffries column left me scratching my head with statements like this: “Build your skills until you can create a new fully operational version every day, twice a day, multiple times a day.” Huh? If he means you should be able to make user visible changes everyday, then no. Just no.

  388. Very good, I agree on all the major points. Maybe waterfall isn’t quite what you thought, it had feedback loops even in Brooks’ “The Mythical Man-Month”.. As some others have brought up you can bring in some good points from Extreme Programming that count heavily against Scrum. In retrospect even the Agile Manifesto was just a primal scream by some spoiled coders without the social skills to succeed in a wider organization. And that’s what the whole IT/coding field has turned into. Virtually every project is carefully guided to failure. You mention only very briefly “technical debt” which is basically how a “scrum master” measures the time until the project implodes. And I’ve walked out of interviews when it turned out they had “open office” environments, which about 80% of places now do.

    I’ve taken my last position in an Agile/Scrum environment. Actually, for various reasons I was exempted from most of the sprint disciplines in my last gig, as was appropriate, but that was me and the rest of the team wandered around like cats on medical catnip, which was apparently just what the “management” considered good and proper. The team members were pretty good individually, but with such gross mismanagement they moved at about 1/10 the speed they could have achieved and never addressed a growing list of critical problems.

    For much of the team this was their first big project, and the senior guys, well, a lot really only knew Agile/Scrum so I’m not sure what that seniority did for them.

    And hey, add on top of this “data science” and you have the recipe for utterly dysfunctional organizations. And did anyone mention “DevOps”?

    • “Data science” requires a rant of its own, since it’s usually watered-down machine learning, trumped up to sound like something only PhDs can do when most of the actual work only requires high-school statistics.

      As for DevOps; at its core, DevOps isn’t a bad idea. Encouraging developers to think about operations and operations people to use development tools to automate their work seems like a great idea, no? The problem is that most companies use “DevOps” as a synonym for “ops” and an excuse to make developers carry pagers. But the original core idea isn’t bad.

  389. Pingback: Lessons from having a nontechnical line manager – Power Word: Real Name

  390. Articulates extremely well how I perceive Agile after my first three months in the environment.

    For something that eschews process there is a lot of process.

    And the religious aspect (if it works it’s agile if it doesn’t it’s not agile enough) has not passed me by.

    My question is this. Can anyone point to a project which adhered to Agile/Scrum and yet failed *as a result*?

  391. Pingback: Technological Unemployment: Yes, It’s Our Problem Too – Michael O. Church

  392. The Agile manifesto is great, but Agile/Scrum/Kanban/XP in most companies is complete bullshit. Agile is getting things done quickly where you want to get some demonstrable functionality up and running. Rapid prototyping – look at the cool shit we can show or VP or show investors. Agile encourages rapid and flexible response to change. In most products I’ve worked on where we used the agile/scrum method of development, we also had some pretty loose requirements as is often the case. Requirements volatility is pretty much baked into Scrum as it is a key principle. Fuck your “user stories” too. First, you still have to pick your technology stack before you know all of your requirements which could put you in a world of hurt from the beginning. No worries, we will go with what we know. Next, you got your fancy application moving along in sprints with loose requirements. They throw in some more features and “user stories” and you adapt and get it done. Agile baby! Then you learn you need to support multiple languages which you didn’t account for so you have to re-factor a shit load of back end and front end code to support double byte characters, but you get it done. Then you discover that the entire application needs to be super secure so you have to re-factor in things like HMAC, AES 256-bit encryption, key management, etc, but after many more sprints, you get it done. Then you find out all of this big enterprise application you’ve been developing needs to also support mobile devices, natively. Fuck me. You can say what you want, but even a waterfall approach would have gotten this done in half the time because you would have flushed out all of these requirements from the beginning.

  393. Pingback: Big Reputation: the Mark of the Beast, Macho Subordinacy, and the Masculine Fourth Turning – Michael O. Church

  394. I really have to laugh at all of those that say ‘Agile’ doesn’t work and ‘Scrum’ doesn’t work.
    You all exhibit a fundamental lack of understanding of Agile and Scrum. Not only that you all use Agile and Scrum interchangeably. they are not interchangeable.
    Agile is a set of practices and principles that describe a way to develop software to deliver value early to the customer.
    @Andy Fields. Dave was one of the original signatories of the manifesto for software development and pushed for the people to be the heart of the project. The manifest says: “That is, while there is value in the items on the right, we value the items on the left more” so yet again you are misinterpreting the manifest (as are most of the people who are trying to beat down ‘agile’.
    Let’s next look at waterfall….Winston W. Royce is accredited with the first formal description of the waterfall model in 1970 . Royce did not use the term waterfall he presented this model as an example of a flawed, non-working model; which is how the term is generally used in writing about software development—to describe a critical view of a commonly used software development practice. So, we have an expert on process describing a flawed model and this was misinterpreted as “the way to develop software”.
    So you guys saying agile doesn’t work means you cannot think differently, those saying scrum is crap means you are incapable of being professional and delivering a small piece of working software in a few weeks.
    Just to let you know – I started my career as a COBOL engineer, moved to C development, from there went to Java development and from there to Python development. I have worked in ‘waterfall’, ‘spiral’ and ‘agile’ frameworks and each has it’s benefits but needs to be applied in the correct contexts. I have worked on disastrous ‘waterfall’ projects and equally disastrous ‘agile’ projects both for very different and very similar reasons.

    • Hi Jim

      Just short – it is nice if work in a company that has a good culture and values. Gongratulations! My interpretation is that the missinterpretation you mentioned became a de-facto standard of the masses. And the values are not important at all. The velocity does not necessarily have something to do with professionalism, but it could be an indication. If you have a task which you can not deliver in two weeks, that does not mean that you are not a professional. As i can remember in at least 3 other companies i was we got only crap from external work contractors which used the “professional” scrum prozess. Maybe they did the professional planing poker not good enough. In these days where business does not know anymore what software development is i would also not work anymore as an external contractor as i did it before. because i do not want to meat the unrealistic deadlines and work until 10 pm just to get the contract. I quit another race that drives maybe people into burnout one by one later or sooner. Hey i am professinal and i am fast blabla. I have an employment contract and not a works contract like external staff. If i am an external i would now choose a work order/assignment for new developments that i never did before and would choose a work contract for software customizations. Because they are regulated differently by law in our country and software development is handled like you do a SIMPLE art work or building a ladder to the next floor. This is not so bad if everything you/they estimate will be correct. Otherwise you will just pay a lot of penalties. Thankless pitiful job in these days of cooperate naive “violence”. And by the way i do also a good job beside scrum.

      some other well know and interesting resources just to remember again:
      https://www.linkedin.com/pulse/scrum-makes-you-dumb-daniel-jones
      https://age-of-product.com/engineers-despise-agile/

      Phun:

      • Thanks for your reply.
        I have been lucky enough to work in some companies whose ‘culture’ was good and the engineers and most of the other roles were very open and willing to embrace change. The business worked hard to be as transparent with the customer as possible, not overselling and not compromising on quality. The engineering teams mostly worked in scrum, the ‘ops’ teams mainly used Kanban and it really worked well.
        On the flip side I have worked in very traditional organisations and no matter what processes and frameworks were implemented, it was a train wreck however, this was down to mindset (culture) and the fear of middle management of becoming unnecessary (they already are unnecessary, they just haven’t accepted it and do everything they can to sabotage).
        Having worked in engineering for almost 15 years, I have spent the last 6 years working as a facilitator and coach – yes a Scrum Master and have seen teams flourish using Scrum and I have seen companies say they are ‘doing agile’ but what really are is a cargo cult : https://www.youtube.com/watch?v=dVZ9bPRTiIA
        The point I am making is that for some projects agile is not the correct way to go and for some projects it is. Regardless of the project, it is PEOPLE who are doing the work and this is the main factor in the success or failure….

    • Since you mention me by name, let me point out several things.

      First, you mention “Dave”. I assume you mean Pragmatic Dave Thomas. If you are going to invoke his name, you should find out his opinion on the way Agile is currently practiced. He is very unhappy with the current state.

      As I have written, I like AGILE. I like the idea of dividing work into minimum viable products. I was doing this before I ever heard of Scrum. I am a big fan of releasing things, getting feedback from customers and changing course depending on feedback.

      I like the fact that AGILE is “fast fail”. Since engineers are putting out changes on a regular basis, it’s easier to see if those changes are what the users wants. It’s easier to see this early on.

      On the other hand, I consider Scrum to be crap. In many ways it violates the AGILE manifesto. At the very top of the AGILE Manifesto it says, “Individuals and interactions over processes and tools”. Scrum is all about process frequently at the expense of people. Several of us have had experiences where we were actually reprimanded for using our own judgement and working on tickets before they were formally assigned. Too often it is about micromanaging the engineers.

      Maybe you’ve spent all your time at shops where they respected the engineers and showed flexibility in the way they implemented Scrum. Lucky you.

      And yes, I constantly hear the argument that the problem is places that abuse Scrum. My experience is that Scrum is easily abused.

    • And one more thing. You criticize US for using Scrum and AGILE interchangeably. As you see, I know very well they are different. It’s not just the people here that use the terms this way. It’s universal. It’s the Scrum masters and managers that do this too. So, please go talk to them.

      • Yes, I have criticised those who have used agile and scrum interchangeably. Saying that they are different exhibits a basic lack of understanding.
        Agile is a set of practices and principles, scrum is a framework. It is not that they are ‘different’. Scrum (as it is known now) predates the ‘agile manifesto’ (correctly referred to a The manifesto for agile software development) by at least 6 years.
        Many other frameworks, methods and mechanisms predate the agile manifest by many years – XP, Crystal, DSDM (Atern), RAD the list of frameworks go on. These frameworks implement the practices described by the manifesto – why? because the 17 people who wrote the manifesto are the people who defined the frameworks and were/are leaders in the field of computer science* (catch all term used very loosely in this context). They got together and extracted the most successful aspects of each of the frameworks/delivery methods which became known as the manifesto for agile software development.
        I agree that scrum masters (the majority whom have done a 2 day course and are ‘qualified’) and “managers” (again a term I use loosely as most could’t manage a piss up in a brewery) use the terms interchangeably and therein lies the problem.
        It’s no wonder those creating software are sick and tired of agile and scrum when they are faced with inexperienced ‘scrum masters’ (an insult to my profession) and managers who make to whole experience worse and companies who say they are ‘doing’ agile because they have Jira and do a ‘stand-up’.
        The last point is the most common – companies who are ‘doing’ agile – they are not only not ‘doing’ agile, they are not doing anything because they are lying to themselves and their customers. They are bastardizing a very effective method by which to deliver *quality* software and replacing it with an even worse product than what ‘waterfall’ delivered (sometimes).

  395. The best explanation on what Agile/Scrum actually is in the software industry. It has never been productive and never will be. Software engineering at the end of the day is an ART that requires knowledge of COMPUTER SCIENCE. And an activity such as this cannot be forced via scrum. Scrum/Agile in my opinion has stalled software productivity and ended software CREATIVITY.

    • Your comment adds nothing here. The criticisms of agile/scrum are well thought out and accurate at this point of time.

  396. Pingback: Scrum is dead - Lead your business team or be leaded

    • really dude

      from your site
      “Kombo Frameworkd is an agile methodology that helps to deliver higher quality products at the same speed, using daily iterations of 5 hours.”

      maybe you should take more than 5, so you can remove spelling mistakes.

  397. Pingback: Interesting Links for 20-05-2018 | Made from Truth and Lies

  398. jesus fucking christ this comment section makes me realize that the problem are devs… people you are fucking cancer

    • Keeping commitment regardless of personal costs is something stupid we face in our industry more and more. Ignorance, devaluing and insults will not solve the problem, but maybe wins with resistance or without. I admit it that I should have been stronger and endure more and complain less. but still it is a wrong turn thinking that you can put something complex (human) into any theoretical scheme (see for example elitist recruitment processes). And we do not all belong to the “happy” 14% of the A types employees that every wants. One can remove all the 86% so the world gets better (ironic). But I am thinking about if i want to live in such a society. A lot of us forgot from where we got the money. It is not primariliy from our employer! We got the money from our customers! We just want to be empowered to make the customer happy. That is all what we are asking for. And we do not have to do everything ourselfs – no no. Just let the people be as they are. This is the only way to get the best our of them. Only then are they ready to give everything. Do you understand? Its so simple…

      Greets

    • exactly, all the comments from the scrum masters. The criticisms of scrum are very well thought out at this point.

  399. Reblogged this on The Order of SQL and commented:
    Not sure if I agree with everything here (there has to be *some* transfer of ideas and priorities from the biz folks to the techies), but this is some very powerful, entertaining, and cogent writing and thought that is very refreshing.

  400. What I think is most valid about this is that it gets beyond the discussion of whether agile is good for ‘business’ and is willing to address the impact it has on staff. What is good for business is quite often not good for people – and it seems to me the appetite executives etc have for agile is partially driven by a fear that programmers, engineers etc are increasingly in demand, as workforce demographics change in ageing populations, with tightening flows of labour thanks to Brexit and the US administration, etc. To be frank, by maintaining this ‘juniority’ you mention, enforcing an anti-intellectual culture of fear and surveillance, and commoditising these roles to the maximum, I think a lot of companies see agile as a great way to suppress their wage bill. That’s also why in spite of all the car crashes (and I’ve seen a few myself) firms continue to swear by it – ultimately its the purest distillation of ‘capitalist’ economics, in that it enables employers to maximise profits by paying their staff less than the actual value of their labour.

  401. Worked on a complex project (real time, distributed, mission critical for the organisation, national security hook-ins). Successfully delivered in 8 months using traditional approaches (delivery manager, architect, tech leads, test leads, business and system analysts). System worked fine for a year, handled several tens of millions of cases (being careful here with the wording, it’s all secret stuff). No problems. We won some industry awards and a domain award.
    Management decides to rewrite the system using new tech some salesman sold them. Decides to use Scrum.
    “Scrum master” comes in and rather than respecting the past success of the team tells them they are all dinosaurs that don’t want to change.
    All the senior people quit – delivery manager, architect, tech leads, test lead, analyst leads. Go off to other jobs, mostly higher paid.
    The Scrum-run project has now been running for over 2 years, still not in production, despite having access to all the artifacts that the previous project had delivered.
    My experience is that Scrum and Agile are a scam promoted by third-tier people.

    • A good, concise explanation of what the agile/scrum culture accomplishes, perhaps the best narrative I have read. Well said!

    • I often read articles from Scrum proponents saying ‘Scrum works’. That isn’t good enough for me. Lots of things ‘work’ but are not effective.
      I can choose to walk from LA to NY. That will ‘work’, guaranteed. If I travel light (‘agiley?’) with only a credit card and a raincoat, I can probably walk 30-40 miles a day. Establish a steady velocity. Have a stand up every morning to review progress and look for blockers. I’ll get there in around 90 days. Walking works! You don’t need all those heavyweight transport processes!
      Or, you know, I can catch a plane and get there this afternoon. True, that uses complex processes and equipment, and requires trained specialists, and costs more upfront. But what is the cost of the 90 day delay?
      So saying ‘Scrum works’ is nowhere near good enough for me. To convince me to use Scrum, you have to show me that it is actually more effective than design-led methods.
      And in the closest thing I’ve heard of to a controlled test, Scrum crashed and burned.

      • Scrum does work if you look at it so as to see it working. So for example if I want to say if a car works I going and look at a car on a road. If you’re going down a narrow lane a bicycle will work but a van won’t. If you go and look at a car on a muddy field which is realistically like a lot of dev scenarios then you might find the car particularly functional.

        The argument has always been that Scrum beats waterfall which in truth, tends to be the case a lot of the times where business cases really aren’t suited to a by the book implementation of waterfall. In practice though Scrum doesn’t actually replace waterfall. It replaces disorder or rather even more agile systems which you’ll typically find in a development shop. The two aren’t really comparable except the descent into disorder tends to come from people just doing what the business needs and surprise becoming quite agile. It can be a hundred times better or worse.

        I’ve seen this first hand. A developer shop where work is being contracted to singing it’s praises and claiming things like their switch to Scrum a while back will cure all ills but nothing happening. It took months to produce a very specification for a very simple API that I was able to do the same as in a day but also to a much higher quality and standard. It also took them years to do something that would have taken me two weeks and they were never able to get it right in the end, it flopped. It was definitely a hundred times worse at least, that was measurable. That’s anecdotal but I’ve seen it play out in a lot of places. In most cases the problems people have aren’t anything to do with anything Scrum can provide. Chances are if they were bad at what they did last they’ll be bad at what they’ll do next. This is fixing things with labels which isn’t really fixing things.

        Scrum is great to look at and take some inspiration, things to consider, ideas, suggestions, etc but it breaks down if done by the book. It’s a prescribed system that’s not that adaptable so if used as anything other than a set of guidelines or an example then it tends to defeat its own purpose. It’s popular because it’s easy to learn and then naively apply by rote.

        The by the book implementation of Scrum today is strongly driven by development shops which aren’t inhouse but it’s also quickly being absorbed everywhere in house despite that.

        The things is media agency type stuff the less you deliver while keeping your customer happy the better. It’s all about find the minimum that’ll keep the customer happy and do that. If you have a really efficient developer that does twice the amount then it’s just giving away development work that wasn’t needed. It’s given two for the price of one. When you realise this and look carefully at those promoting Scrum you start to see this coming out of the wood work.

        I’m sure as you’re quite aware though inhouse this is a complete disaster. Quite often catastrophic. Scrum is problematic enough if you interpret and apply it too rigidly but when it’s also studied through the lens of those practiced in it and experiences but from very different business situations with opposing goals then you’re basically going to find yourself a fly asking the spider for directions.

        The best systems are always kind of bespoke based on the situation incorporating bits and pieces from all around as applicable as well as adaptive over time as the situation changes. Sort of like combined arms or taking out individual tactics (ingredients) from strategies (recipes) and recombining them to create a dish catering to the specific tastes you’re confronted with.

        I hope this gives some insight as to why Scrum is not only a questionable beverage to begin with but has gone sour. My take is that I’d like to avoid Scrum like the plague but that’s not an option as it also means avoiding most employment opportunities in the trendy and fashionable area I reside. My only recourse is to master it and take control of it so that at least it’s not left entirely in the hands of incompetents.

  402. Pingback: Personal experiences with agile: 16 comments, pictures and a video about practically applying agile - stratejos blog

    • > There is discussion on slashdot about agile. I can’t find a single post where a developer has something nice to say:

      You must not have read more than one or two articles. This is from maybe 1/3 of the way down the page: “When all that happens, and I know that’s not often, Agile can shine. I’ve seen it, and I’ve really appreciated it. I get how it can go terribly wrong, but it can and does work, if the environment allows it.”

      You are right, though, that there’s a lot of negativity on that slashdot post. It’s slashdot, which means it’s full of negativity on just about every subject, and mostly populated by coding cowboys. I suspect the intersection of the set of people who use agile and the set of people who contribute to slashdot is extremely small.

      Agile certainly isn’t a silver bullet. However, data seems to show that teams which embrace the agile manifesto can be very successful.

  403. A ++ , pun intended. As a recent job hunter, I came across many job descriptions where one of the requirements is “must have experience with Agile Scrum.” Hiring managers love to use tech buzzwords because it makes them appear to know how programmers work… all the while, not realizing that Agile Scrum is just another fancy word for micro-management in its extreme state — and a term that makes programmers run for the hills. You might as well make the process of development part of an assembly line mindset. I would rather eat nails than become a corporate robot. If I wanted that sort of job I’d probably be in a factory making the same widget 100 times a day every day. And for management that are tech-stupid, well it’s the only way to control those seemingly lazy and slow programmers – who will ironically become lazier and now apathetic as well.

  404. Pingback: Product Owner et Scrum Master : comment sauver une relation parfois difficile ? - Le blog des Thiguys

  405. COPIA are specialist providers of workflow solutions and innovation to professional services organisations, particularly in the healthcare and legal industries.

    COPIA provide full implementation (install, configure, support and training) for professional workflow solutions;

    Dictation / Transcription Speech Recognition Workflow transcription management Olympus – Philips Dragon NaturallySpeaking Lexacom

    Copia provides support and training from our Offices located in Adelaide and Sydney CBD. Support and training is also delivered remotely to many country locations Australia wide.

  406. On the spot article! I am a Lead Test Engineer working with a very highly reputable company and what the article says is correct. In fact not ONLY correct, it’s pretty disgusting of how the IT industry has turned into. Our client wants us to be “Super Soeedy” – what do I mean by that? To put in simple words let me give an example. Let’s say the client gives the project a deadline date of 2 weeks to get the work done, but the workload itself is 6 weeks! So, as a lead engineer I am trying to rush of my work and I miss very important stuff in my work and Then the client says why it was delivered late the product? Well because we want to provide a great quality but you guys the client keeps on messing everything up. On top of that, working until 4am in the morning is pretty abnormal and not getting paid for the overtime work is even more terrible.

  407. I find most of the Agile Scrum concerns to be incredibly common misunderstandings. So I have written an article titled “AGILE SUCKS and other myths” on linkedIn and invite everyone to respond to those ideas. Worthy of note: I have included references that explain the misunderstandings along with formal explanations for how Agile and Scrum address that concern. I wrote it that way so people won’t simply consider my response a subjective retort.

    https://www.linkedin.com/pulse/agile-sucks-other-myths-steve-mcdonald

    • Scrum makes opportunists and fanatists (that comes naturally with principle, dont get me wrong there are really good ones outside scrum) from most managers and thats a fact for me personally. However, they do not understand that exactly what they want to avoid will return later. In that case bad software qualiy has often to do somthing with bad management and not just with bad or stressed software developers. I agree to follow principles it is much easier than to make concrete decisions. Nevertheless, decisions of opportunists do not respekt principles. They sacrifice deeper responsible with cheap one. Above this by the way, in a lot european countries are very naively dutiful because we have been raised that way not to questioning things due to the tayloristic doctrine of the past (MOC does mention it also: see scientific management). Scrum and also Agile in most cases are used for undisciplined, not trust-worthy teams (whether they are or not, depending on how they are rated and understood). Scrum/Agile stands also for discipline, efficiency and transparency notwithstanding that there are much better approaches for both sides. Corporate lean already failed 3 times since 1990 because of this mixture with the taylorisms (abuse, micromanagement and burnout complains). In my opinion timeboxing with enforced increments do not belong at all to sustainable software development. Clear aims, visions, feedback and priorities are important of course. A human organism which can self-organise and knows how to work efficient should not be a victim of tayloristic processes. The disappearance of taylorism is in my view the future (as lean tries since decades). There is nothing more efficient. Its really hard for me to separate noun-Agile from taylorism.

  408. Agile DOES NOT solve anything for you.

    Agile DOES make you faster, more transparent and more flexible. But if you deliver CRAP now you will still deliver CRAP doing Agile; only faster, more flexible and more transparently. Do with that what you will. You can still drive a race car like an old lady.

    Agile is a means to an end. Nothing more. If the end is not clear, Agile will not make it clear for you. In that case work on your Vision and your Purpose first before anything else.

    If my only experience would have been failed agile environments I would have been the same as OP, but once you’ve seen it click into place, you think differently.

    • Thank you for your honest words. That sounds like a survival strategy for me. My problem is driving a race car like an old lady is like cheating the system somehow. Thats dishonest for me and will change my loyality to the company. Not only that – there also a lot of other issues that will follow (waste on all levels also managment is cheating the higher mngt). In addition there is always a purpose/End for our company – the deadline promised to the customer. The problem today is that IT services are no longer as important as they were 15 years ago. Offshoring has made it possible that every shine has beed lost to work as a software developer. The destruction of the influence and the power of the employees, I was taught in management, unfortunately belongs to the task of the management. The same thing we probably will happen to the new data scientists in a few years also. Because you can also offshore data analysis.

      But according to the newest Agile report – the figures are frightening for me if I interpret that correctly. Only 12% of the 1400 companies responded that they have a high level of competency with agile practices. Everything is made business compatible. Adapted to the tayloristic system especially Scrum. I only hear a lot of suffering under Scrum. No matter how convincing the arguments are. Here the report… you may know already…

      • LOL, “4% Agile practices are enabling greater adaptability to market conditions.”

        4% isn’t very good. I guess the other 96% isn’t doing Agile right.

        • > 4% isn’t very good. I guess the other 96% isn’t doing Agile right.

          Take out of context that doesn’t look very good. The summary phrase that goes along with that number doesn’t seem to match what the number is showing, and I’m not sure you’re drawing the right conclusion. That number is from a graph showing agile maturity, and shows that 4% of teams that use agile have the highest level of maturity. Another 12% are one level below in their maturity. 84% are at or below a “still maturing” level. So, it’s not so much that 96% aren’t doing it right, it’s just that they aren’t doing it perfectly. And yet, the report shows they are still having success even without mastery.

          Those numbers seem to fall in line with how scrum is defined by the official scrum guide, which is “simple to understand, difficult to master”. Although the report is about more than just scrum, the largest percentage of respondents used scrum.

          I would be interested to see a similar survey for waterfall practices. How many organizations can claim mastery of waterfall? I bet the number is no bigger than it is with agile. Clearly some teams have mastered it, but we also know that many, waterfall projects fail in one way or another (or in multiple ways). Gaining true mastery of a technique is difficult no matter what the technique is.

          That same report says that 98% of respondents claimed they had success with agile projects. I think a 98% success rate speaks pretty highly of agile, especially when 84% of those successful projects did it in spite of not having full mastery of agile. In other words, you don’t have to master agile to be successful with agile.

          Like with most technologies it’s not a silver bullet, but the data seems to support that it can reap real, tangible benefits.

          • Could it maybe be that the 84% are cargo cults then? Well we do not know this. Yes, but in addition i think this includes only companies that wants to be agile and therefore participate in that survey. But software engineering was already successfull before scrum (Sommerville, I.: Software Engineering, 10th edn. Pearson, (2015). But I think a problem for this 84% lies also in the power structures of a company and/or in the strategy. Companies that needs to have the cheapest offer must follow the strategy of operative excellence. The only question is how long will this strategy work. Good employees always form a kind of shadow organization and do not follow our slow scrum process perfectly to keep the business running. I think only someone who has a real sense of responsibility is a good supervisor. Those who have no sense of responsibility can become complacent and dangerous. This stupidity is very hard to change. The beginning of all responsibility is the path to wisdom. The good thing about responsibility is that, in spite of thinking that all people are stupid, responsibelity does not allow this. The question is are supervisors more convinced of the stupidity or autonomy of their employees. If they are not autonomous they have simply to learn it. Everything else than a daily micromanagment process is ok for most i think. In design thinking you dont do time-boxing for years and never end it. And we do not need antoher ugly MVP shopping venture! In design thinking and other business books they also use time-boxing for creative tasks for small results. They do not even have to be good and not even done. At least there is no scrum master control freak trying to break your neck if you can exhale. It is ok if you have to time-box your short-timed exam. But who wants to sit in a exam for the whole day every day/months/years and do time-boxing? If you have to keep deadlines, then please without this Scrum timeboxing control freak wachting over my shoulder.

            Do not feel attacked. I just say what i think. Where the responsibelity starts for me “PERSONALLY” (Proverbs 9:10).

  409. > Could it maybe be that the 84% are cargo cults then?

    I don’t think we can draw a conclusion one way or the other based solely on the data provided. My gut reaction is “no”.

    > in addition i think this includes only companies that wants to be agile and therefore participate in that survey.

    Correct. the survey was asking people who use agile if agile is working for them. This isn’t a general purpose survey of all development organizations and all methodologies to pick which one is best. If an organization has never used Agile, they probably aren’t represented in the survey.

    > But software engineering was already successfull before scrum

    Sure, and farmers were successful before tractors. I’m not sure I see your point.

    > At least there is no scrum master control freak trying to break your neck if you can exhale.

    If you have someone that you call a scrum master who is acting like a control freak, then they aren’t a scrum master. I don’t see how you can blame the methodology when you have incompetent people. If you go fly fishing with a baseball bat and don’t catch any fish, that doesn’t mean that fly fishing is fundamentally flawed. It simply means that what you call “fly fishing” isn’t actually “fly fishing”.

    The definition of “scrum master” means that they have no control at all over the development process. They are there to facilitate and coach. They are not in charge of hiring and firing, or choosing stories, or assigning work, or setting deadlines or priorities, or architecture, or development, or testing. They are a ringmaster, there to make sure things run smoothly. If they are an impediment then they are not a scrum master, no matter what your organization calls them.

    > But who wants to sit in a exam for the whole day every day/months/years and do time-boxing?

    I agree: who would want to do that? That is not what scrum is. I know you or others complain when we say “you aren’t doing it right”, but again, you’re waving a baseball bat and calling it fly fishing. Like most endeavors, when you do something wrong, it’s not going to work as well as when you do it right.

    It seems like you’ve been on a team that said it was doing scrum, without actually doing scrum. I can see how that would lead you to hate the process that you think is scrum, even though it’s not scrum. If you go out on the lake with your baseball bat and think you’re doing fly fishing, it’s understandable that you will learn to hate the thing that you call “fly fishing”.

    • Hello, sorry I can not talk about good or bad Scrum right now or good or bad Agile. I agree that when something is good but misused, that it does not have to be talked about badly. But you cant master scrum. Because when you start with the process, you will loose your employees loyality already and will never mature as long micromanagent is established. And its just like subtle control. When Scrum is just a means to and end – to optimize people. At the end, the people are just a means to and end. What comes out please read:
      https://hbr.org/2015/10/why-companies-are-so-bad-at-treating-employees-like-people
      https://hbr.org/1986/01/the-new-new-product-development-game

      Since the NATO conference in 1975 were the term software engineering came from and the software crisis started with the book from fred brooks (MMM, software project manager at IBM) our field inveted not only waterfall = farmer since then.

      • > But you cant master scrum. Because when you start with the process, you will loose your employees loyality already and will never mature as long micromanagent is established.

        Your comment doesn’t seem to make any sense. Scrum is most definitely not micromanagement.

        • Even if my trust in the company would be high enough (one sided from “buttom”) – Scrum is still micromanagement because it fits simply a couple of criterias and experiences (also with “good” Scrum when i try to imagine that).
          https://en.wikipedia.org/wiki/Micromanagement
          The fact that the rituals (e.g. Standups) are forced suggests that primarily stay-in-power management concepts lie behind and they belive, that peer pressure will make the sublte control possible. There where the peer pressure “fails” – the management has to intervent (another case for cargo cult – still maturing). Everybody can foresee how this “game” can also be played with a lot of shock experiments. Besides this, I find it not very positive the word peer pressure. On the other hand peer pressure can also exists in a laisse faire culture. If the Reporting allegedly is not passed on to the higher management, the likelyhood which such Infomationen (structured and unstructured data) simply does not become and end to itself (whether well or bad Scrum) is high. And this only for the means to an end to squeeze the employees like lemons and less because the management likes it that the employees can organise themselves. Loyality related please see for example recent comment from: (JB | June 4, 2018 at 5:14 am)

          Greets

          • > The fact that the rituals (e.g. Standups) are forced …

            You still seem to misunderstand what scrum is. Scrum does not force a team to do stand-ups. Certainly they are recommended and a valuable part of the framework, but a scrum team should be empowered to decide for themselves if and when they do the stand-ups. They are a best practice, but strictly speaking they are not required. If they don’t provide value, you should be trying to figure out why they aren’t providing value and either fix them or stop them.

            You seem to be pretty angry about the concept of peer pressure. Scrum does not dictate nor encourage peer pressure. The only thing similar in scrum is the fact that a team works _together_, but to call that peer pressure is a bit disingenuous. I think it’s only peer pressure if you have a dysfunctional team.

            I think what has happened is you were on a team with very bad management, where your methodologies were loosely based on scrum but which definitely weren’t scrum. You’re now using this bad experience with something like scrum as justification for disliking scrum.

            To be sure, scrum is not a silver bullet, and not for every team. However, to claim it is micromanagement and beset with peer pressure means you were never using scrum properly. It’s like you’re blaming the hammer when if fails to do a good job with screws.

            > If the Reporting allegedly is not passed on to the higher management,…

            Scrum does not require any sort of reporting to higher management. Any such requirements are coming from your higher management. It’s hard to fault scrum for your company’s policies.

            • Page 12 Scrum-guide: The Daily Scrum is a 15-minute time-boxed event for the Development Team. The Daily Scrum is held every day of the Sprint.
              Page 19 Scrum guides: Scrum’s roles, events, artifacts, and rules are immutable and although implementing only parts of Scrum is possible, the result is not Scrum

              Peer pressure is a term used in the concept scrum: (re-post-it)
              https://hbr.org/1986/01/the-new-new-product-development-game
              https://www.scrum.org/resources/blog/new-new-product-development-game-using-scrum

              I know whats going on in business analytics processes but i have to study now. I saw you are a software developer. I accepts your statement that you like true agile. But scrum is still not true agile for me. Greets

              • > Page 12 Scrum-guide: The Daily Scrum is a 15-minute time-boxed event for the Development Team. The Daily Scrum is held every day of the Sprint.

                The scrum guide also says this:

                “Scrum is not a process, technique, or definitive method. ”

                and this:

                “The structure of the meeting is set by the Development Team and can be conducted in different ways if it focuses on progress toward the Sprint Goal.”

                So while it may be true that the scrum guide says the rituals are immutable, it also states that the structure of the meeting is set by the TEAM, not just the scrum master or some other manager. That’s why it’s called the scrum GUIDE not the scrum REQUIREMENTS.

                Certainly, if a team is not yet fully mature in its scrum ability then the standup should be done, but the ultimate goal is to increase the productivity of the team. If your team is more productive using something other than scrum, you should be using something other than scrum.

                > I saw you are a software developer.

                Yes, I’ve been a developer since the late 80’s. I also have a CSM and CSPO certification, and have worked on both highly effective and not-so effective scrum teams, as well as teams that worked in a traditional waterfall methodology.

            • Yes, Scrum does force daily standups. The Certified Scrum Trainer was very clear about this during my training. Scrum has mandatory ceremonies – daily standups (scrum), back log refinement, sprint planning, sprint review, and retrospective. You must do all the ceremonies or you are not doing Scrum! We have a Certified Scrum Master who’s job is to enforce the team holds these ceremonies and attends.

  410. Good comment from GOTO 2015 • Agile is Dead • Pragmatic Dave Thomas youtube video

    David Connelly
    7 months ago
    This is one of the very best lecturers that I’ve ever heard on the subject of IT. I may do a response video or write to the speaker to thank him. It’s outstanding. I would offer one small criticism, however. Now, this is a personal opinion but I happen to think that the phrase ‘Agile’ is basically a toxic phrase. By the way, I agree with every word the speaker said about how it has been commercialised, turned into a noun etc.

    If you accept my proposition that the phrase ‘Agile’ is now toxic then having people clinging to the phrase (perhaps in a subtle and considered way) isn’t really going to help. There are several videos on YouTube with people talking about how Agile is dead/finished/rubbish/whatever and ALL of them come with the caviat (along the lines of) “we need to back to the REAL Agile… the good stuff”.

    I think that’s a mistake. I think we should declare failure with the whole thing and go the totally opposite direction. I’d like to see the Agile movement go up in smoke. However, in order to do that, I don’t think that we can afford to play with semantics. Regardless of how well intentioned, brilliant and well thought out the manifesto was – we should be dropping the phrase completely.

    I have SO MUCH MORE to say about this but I think I should really make a video. It’s a huge topic. Anyway, thank you. Great video. Really great. I loved it!

  411. Disclaimer, I’m an old dude. I remember the days when programmers just coded, when you had to use man pages because Google didn’t exist. I’m only looking into Scrum now because every job I see says “Agile”. Good Grief Charlie Brown. Last company I worked for decided to become Agile and what that meant to them was all of us developers had to work faster with a whole lot of meetings….I don’t blame scrum or any other practice. I blame management, especially those who have never worked a day in their life as engineers and have no concept of what it takes to build a product . We engineers work in spite of our managers and/or BS processes. If only we can remove management, we’d get work done simply by talking to each other. Engineered teams are the best. No offense to the managers reading this, but it’s never the engineers who decide to implement these processes.

    • Yes, most shops seem to use Scrum these days. When I interview I try to figure out if they are abusing Scrum or not. One week sprints are a huge red flag. That tells me the manager is an absolute control freak who can’t even wait two weeks to harass people about late tickets. I ask about flexibility. What if someone finishes their tickets early? What if they are “late” and a ticket slips? One of the most irritating things that ever happened to me is when I completed my tickets early. I then picked a ticket out of the backlog – and was scolded for it!

      Some places use “Kanban”. I have never worked in such a shop, but it sounds much less controlling to me. There are tickets, but it is my understanding that people complete one ticket and then take the next one off the backlog.

      • Yeah, completing a story early is just as bad a completely a story late. Developers learn quickly to greatly overestimate their work, then work slowly throughout the sprint, so the story can be completely perfectly on the last day.

        Kanban sounds like a “to do” list. Make a list of what you need to work on, and do it. Stuff I’ve been doing since grade school. I guess you slap a fancy name on it, “Kanban”, and now consultants can charge a fortune to teach it to companies.

        • > Developers learn quickly to greatly overestimate their work, then work slowly throughout the sprint, so the story can be completely perfectly on the last day.

          I’ve never experienced that on any scrum teams I’ve worked on. Maybe I’ve been lucky, but the teams I worked on were all staffed with professionals that used story points for exactly what they are good for, which is estimation. Once the sprint starts, points become mostly irrelevant, and everyone always worked hard to try to finish early rather than on time or late.

          When looking back through all of the complaints about scrum in this comment section, it seems that almost in every case, the fault isn’t with scrum but with managers who simply don’t understand scrum. Doing scrum definitely requires good leaders. Or at least not outright bad ones.

          > Kanban sounds like a “to do” list. Make a list of what you need to work on, and do it.

          I think that’s a pretty good description. My understanding is that when you finish a bit of work, you simply take the next task from the top. And while it is a bit like what you did in grade school, I think that’s the point. Some things simply don’t need complex methodologies. You just need to roll up your sleeves and get busy.

          I personally haven’t seen too many software projects that work well that way since software development is fairly complex, but many other types of projects fit in that groove. IT and customer support are good examples — just work a ticket, finish it, get the next, finish it, get the next, and so on.

    • Scrum is partially to blame. The problem is everyone is converting to Scrum. At this point, managers don’t know why they are converting to Scrum, just that everyone else is Scrum, so they need to convert too.

  412. Hi Michael, You’ve put my thoughts into words!

    Also, thank all the software engineers here who speak out their thoughts about this sick methodology so I do not feel alone. I am a software engineer with 15+ years of experience. I enjoyed reading this article and the comments which criticize this sick methodology.

    Hope all the bad quality software created by this methodology will kill this methodology soon.

    Reblogged this article on Linkedin.

    • > I enjoyed reading this article and the comments which criticize this sick methodology.

      You seem to have a fundamental misunderstanding of scrum. It’s not a methodology, it’s better described as a framework. Its some recommended best practices for doing agile development.

      It is not “sick”, it’s simply a way that works for some teams and not for others, and one that requires discipline to implement well. Just because you had a bad experience personally doesn’t mean the framework is fundamentally flawed.

      I’ve been in software development since the late 1980’s, and I’ve never felt more productive and fulfilled than when I have been on scrum teams. Perhaps I’ve just been lucky. I’ve been on teams where it no doubt would help the team improve, and I’ve been on teams where it would no doubt be an impediment. I’ve also been on teams that would probably benefit from scrum but which simply aren’t suited to using it.

    • Yes your thoughts are shared by most engineers. Only people making money off of scrum (including scrum masters and consulting companies selling this stuff) will defend it.The people who came up with the agile manifesto in 2000 said the biggest mistake they made was to not keep ownership of it. They just came up with it and put it out there.

      • > “Only people making money off of scrum (including scrum masters and consulting companies selling this stuff) will defend it.”

        I don’t think that’s necessarily true. I think I could also make equally specious argument that the only detractors are people who make money using some other methodology.

        I don’t presently make money off of scrum but I will defend it because I’ve seen it work extraordinarily well. I think it’s a fantastic way for some teams to be productive. It’s not right for every team, and it’s difficult to do well, but evidence clearly shows it works for some teams.

        Like everything else in software development, it’s not a silver bullet. It’s a tool, and with all tools, there’s a right way and a wrong way to do it. And also like most tools, when you use it improperly you shouldn’t expect stellar results.

        • Why do the guys who developed the agile manifesto not like what agile/scum has become? Have heard Dave Thomas, Bob Martin, Martin Fowler, James Coplien, others criticize it. Also heard Grady Booch criticize it (he was with those guys during the creation but wasn’t there for the signing).

          The author of this article does a great job exposing it. I talk to people alllllll the time about this. Dude nobody likes it that I know that does computer science type work.

          • > Why do the guys who developed the agile manifesto not like what agile/scum has become? Have heard Dave Thomas, Bob Martin, Martin Fowler, James Coplien, others criticize it.

            I don’t know. You’ll have to ask them. You seem to know about some specific criticism, can you provide links or quotes? I can’t read your mind to know which criticisms you’re thinking of.

            Though, to be honest, I can see why some people don’t like what “agile/scrum”* has become. In some ways I agree when you talk about it in such broad terms. It could reasonably be argued that it has become overly commercialized and overly filled with “expert” consultants. Many of these “experts” are doing scrum very poorly and are losing sight of what agile development is all about. That’s not the fault of the scrum framework itself, except that maybe it makes it easier for people to call themselves an expert in something without actually being an expert.

            > Dude nobody likes it that I know that does computer science type work.

            Your personal anecdotal evidence is not sufficient proof. I know many very talented individuals and teams who not only like it, but embrace it. At this point in my career I probably know more developers who like scrum than hate it. My anecdotal evidence is equally as valid as yours, which means neither are proof that scrum is good or bad. However, I will argue that the fact that there are many, many teams that see great success with scrum proves it’s not fundamentally flawed.

            * “agile” and “scrum” are two different things, but since you used that phrase, I’m sticking with it for this post.

        • In your linkedin profile you wrote, that you worked almost for small companies. Did they do scrum maybe not exactly by the book? So you use the word Scrum and defend it and talking about Scrum even if the scrum guide tells you that its not real scrum what you use. And we have not denied that Scrum is good for certain Projects. You mentioned that Scrum is a prozess framework. A process framework provides the general principles for a process. It is the core if you will. A process implements the process framework, but it can have other tailored, unique or company specific components. That means that it can get just more worse than better often…

          If experiences is your argument until now, then I come also with mine. And my experience with scrum teams is that after four years (even small C++ projects that should take 1-2 years instead of 4-5) to one that was even not sellable after ten years. All efficient teams i was in were not scrum teams. And the most of the developers i know that really likes scrum are those who hide their responsibility and inexperience behind it. But as Ron said well he would blame the management for the mess and i think its more often the case. The fish always stinks from the head and this I never realized it this week again. Once in this “higher” committee you learn quickly politics is more important than ANYTHING else. It’s all about power and status and benefit thinking only. Who criticizes the comittee as an insider will be outside next day. They are living in a different world were anything they do is beautiful and nothing else. A good management does not need scrum to enforce the employees to be hyper productive (up to 800%) as jeff descibes in his book. Greets…

          • > In your linkedin profile you wrote, that you worked almost for small companies. Did they do scrum maybe not exactly by the book?

            I can’t tell if you’re responding to me or to someone else. I’m going to reply as if it was directed toward me.

            Some of the companies I worked for did scrum by the book, others a little less so. By far, the most successful teams I worked on were for a company that pretty much did things by the book. We had dedicated and experienced scrum masters*, dedicated product owners, each team had all the resources we needed (both people and things), we were all together in one room (designers, testers, coders, etc). We used physical scrum boards, we did morning stand-ups, two week sprints, retrospectives, planning meetings, timeboxed rituals, the whole nine yards. From my perspective, it was a dream setup.

            * as the teams matured we eventually got down to a single scrummaster for the whole company, but we started out with a ratio of about one scrummaster for every two teams or so.

            > So you use the word Scrum and defend it and talking about Scrum even if the scrum guide tells you that its not real scrum what you use

            I don’t see how you can draw this conclusion. How do you know what we actually used? I think you’re starting to make some false assumptions.

            > Once in this “higher” committee you learn quickly politics is more important than ANYTHING else. It’s all about power and status and benefit thinking only.

            None of that is the fault of scrum. It’s also not universal. There are many development organizations where politics doesn’t work its way down to the development teams. Much. I guess it’s pretty much impossible when dealing with humans to completely filter that out no matter who you are or where you work.

            > A good management does not need scrum to enforce the employees to be hyper productive (up to 800%) as jeff descibes in his book.

            On that we can agree. I have no idea how you measure the “up to 800%” number so I don’t necessarily agree with that specific point, but you are right that with a good manager and a good team, you don’t need scrum. Scrum can still be useful, but it’s not _needed_.

            • > …They (rituals) are a best practice, but strictly speaking they are not required.
              My false assumptions was related to that you wrote earlier….

              > None of that is the fault of scrum.
              Thats true

              > we were all together in one room
              This sound for me as an open plan office as i experienced they are very unproductive but a lot of phun for sure…

              > …it was a dream setup.
              In the beginning I was also enthusiastic about it but that has changed

              > 800%
              Its a value taken out of the book of jeff sutherland as he expirienced it (Scrum: The Art of Doing Twice the Work in Half the Time)

              • > This sound for me as an open plan office as i experienced they are very unproductive but a lot of phun [sic] for sure…

                They certainly can be unproductive. I’ve been in situations where they were. I think it depends on if everyone in the room is working on the same project, or if they are all working on different things.

                For this company, everyone in the room was on one team, and each team had their own room. It was both very fun and highly productive. I’m reasonably certain that our teams (and certainly the teams I was a part of) would have been less productive in a more traditional environment. Being in the same room — OUR room — was empowering. Without a doubt, that working arrangement was the best I’ve had in a 30+ year career.

                > In the beginning I was also enthusiastic about it but that has changed

                That’s unfortunate. If I’ve learned anything in my life, it’s that things change. Good things can turn sour, bad things can turn good, and life goes on.

                In my case, going from a scrum environment back to a non-scrum environment has made me appreciate scrum even more. I didn’t realize just how good I had it. I am aware that others have had the opposite experience. Scrum is definitely not for everyone. It requires discipline, and a genuine willingness to make it work.

                • You once had this experience in your 30 year career and I begrudge you that. My dreams do not have anything to do with enforced process frameworks. The free will and respect at work is more important to me than any framework.

                  There are tons of evidence that open plan offices are unproductive. And this not even with software developers. Took the first two from google. It simply depens on the task you are working on.
                  https://onlinelibrary.wiley.com/doi/10.1002/9781119992592.ch6
                  https://online.rivier.edu/open-office-layout-and-employee-productivity/

                  A tool that is only good for certain teams once in 30 years should not be sold like a screwdriver.

                  • > “There are tons of evidence that open plan offices are unproductive. And this not even with software developers. Took the first two from google. It simply depens on the task you are working on.”

                    Yes, I agree. It depends not only on the task you’re working on, but also the people involved. My experience pretty much mirrors that. I’ve worked in open offices that worked remarkably well, and others that were a miserable place to be.

                    > A tool that is only good for certain teams once in 30 years should not be sold like a screwdriver.

                    That may be true, but “a tool that is only good … once in 30 years” certainly doesn’t describe my situation at all. Scrum would have been a fantastic tool for most teams I’ve been on over those 30+ years. I’m willing to bet it would have cut _years_ off of the first project I was on, and resulted in a much better product.

                    However, I get what you’re saying, and I agree. Scrum shouldn’t be sold like a screwdriver. Again, that’s not the fault of scrum, it’s the fault of the people selling scrum. And yes, that’s definitely a problem.

                    • Everyone admits that Scrum can be abused very quickly. This was not that possible before Scrum. And now all expertes are surprised and sad about it. They say you need Scrum because the world is not perfect. On the other hand the imperfect world will not get it right to give a better environment for the most developers. Scrum is a big bazaar where you can cherry pick what you like and deny what you do not like for the people in power. I have to say they did not made the misuse difficult. Everything is allowed nearby the teams micromanagement in that process framework. The agile mindset becomes only how flexible the developers are and how to suppress them. But it is allegedly just a temporary state to the reeaaal agile transition for the developers until the management realizes that they will lose their status in an agile organization. Serving wtf. And where is the proof that Scrum really leads to an agile organisation at all? Its still just for everyone “evidence” based and a big playground. And the playground are the developers.

                      Here are some promises and assumptions that Jeff made in his book:

                      >The points controlling, verfification capabilities, deadlines, no costs overruns are no longer so important when using scrum
                      Wrong turn, they are even more important these days

                      >Scrum is a simple process applicable to everything (this is the reason why its not talking about software at all)
                      Wrong turn, I will not have a time boxed surgery under pressure

                      >Achieve goals under high time pressure
                      A possibly invitation for an imperfect world to pack more into the sprint or just a recommendation for a developer themselve – who knows

                      >Scrum solves problematic projects
                      Wrong assumption

                      >Working in a maximally productive way
                      Wrong assumption did the old man/lady that drives a race car

                      >Scrum improves the quality of your life
                      Hey SM by the way, when everything works fine in the future, you are not really needed anymore – maybe, but dont be afraid, this will never happen

                      >Customers are satisfied with only 20% of the requirements and didnt really need the 80
                      That would have been nice in the days of competitive players

                      >Scrum is not about the developers. Its about the customers and stakeholders
                      Really? First you have to care about your employees, than they will care about your customers. Its a simple and very known leadership rule.

                      >Fail fast – so you can fix early
                      Can also say: having success later instead of failing fast and wasting money, damage of internal and external reputation, more costs

                      >Quality comes from priciples: Plan, Do, Check, Act
                      Not necessarily. Can only be a small amount of quality over years or maybe even step backwards

                      >Better not hire slow people
                      Slow does not mean lazy, some are thinking little bit more and making better products. some are fast and make many mistakes and also good examples.

                      >Hire transcendet people that have a sense of purpose beyond the ordinary
                      Such people i know would not use Scrum

                      >Look for bad systems that lead to bad behavior or poor performance
                      Yes thats for sure only in some cases Scrum or in most? No the robots are not working correclty – i mean the brain of the developer has a malfunction or his attitude is wrong. He has the wrong team spirit. We need people with discipline and latitude to be willing that we can abused them…

                      >No assinging of tasks from above
                      Welcome to reality

                      >Do it right the first time
                      Welcome to reality

                      >Secrecy is poison
                      Welcome to reality, wake up..

                      But your belives in something that is much more worth..

                    • > They say you need Scrum because the world is not perfect.

                      Anybody who says that shouldn’t be listened to. Scrum is not a silver bullet. While I think it’s a very effective way to write software, it certainly isn’t the only way. Don’t trust people who speak in absolutes. Except when people tell you not to trust people who speak in absolutes 🙂

                      >The agile mindset becomes only how flexible the developers are and how to suppress them.

                      You must have had a truly awful experience to say something like that, because that is definitely not agile and definitely not scrum. I’m afraid you’ve been lied to if that’s what you were taught about agile.

                      I think we’ve beat this dead horse long enough. Thanks for a though-provoking discussion. I hope you’ve been able to find a way to work that makes you happy and productive.

              • We used to call an “open plan office” a “bullpen”. It was the most unproductive environment I have ever been in.

  413. @Bryan
    I am a very happy person i would even say felt the happiest in the country 🙂 I also do no need to participate at the standups since some time. I am very productive and a lead developer of a of a software and device we sell thousends of. This is the reason why i have the courage to open the mouth because most developers are considered as lazy idiots. Developers never trusted since years in the narrow minded views of JS. But thats not the point. The point is there are two scrum camps that makes money and one of them has maybe more truth than the other? Well i give a ssss to Dark Scrum and White Scrum or Blue Scrum and i find it not important to defend it. Start to care about the people and do not defend Scrum for who? Everyone should evaluate for themselves whether Scrum brings him something or not (people on teams). And the dead horse you mentionen still lives in many minds. Need to go..

    I wisch you also the bests. Greets.

  414. Pingback: Before Supporting Capitalism, Be Sure If You’re An Actual Capitalist – Michael O. Church

  415. Thank you so much for this article. Now more than ever, it’s great to see that not every developer needs to be handheld and not every team lead needs to be a yes man. Just wondering if you happen to know any companies that don’t subscribe to this nonsense? It’s been tough to find a job but agile is a deal breaker for me at the moment knowing that I want to find something long term, productive and sustainable.

  416. Amazing that this blog post has had more than 1,500 comments – mostly agreeing with the premise that Scrum is flawed. My manager is a Scrum zealot, who ironically doesn’t seem to take much head of the ‘Agile’ part of the whole thing – ie it should be adaptable to the individual workplace/situation. If there are enough of us feeling this way, why is this still so prevalent? Are we all afraid of speaking out at our workplaces for fear of suddenly finding ourselves out of a job? It’s also the nature of a lot of developers, in my experience, that let this continue – they are often shy and quiet, and not great at expressing their true opinions in meetings or to their managers. I’m sick of being the one at my work who challenges the process and the incredible amount of time wasted at pointless meetings.

    • This is because 1st not all comments here are negative about Scrum and 2nd this blog-post motivates primarily people who have a strong opinion to leave a comment. And this means primarily people who feel very bad about Scrum (I read a while ago that unhappy people are about 10 times as likely to speak their mind as happy people).

      As I’ve already written above (in old comments, years ago), I did a lot of Scrum in multiple companies and it always worked very well. We had pair-programming transferring a lot of knowledge, we had a great work atmosphere and we were very productive. And yes, we had time for refactorings and improvements (cleaning up of so-called technical debts).

      Fortunately, I never worked in an environment where the label “Scrum” was abused for sth. so bad, destructive and non-functional as it was described by Mr. Church and some of the commenters. Given the fact that I write software professionally for more than 24 years now (yes, I’m a programmer — not a scrum master) and I’ve never encountered bad Scrum (*all* my Scrum experiences were really great), I’d even say that at least in Europe, the bad Scrum is in minority.

      And yes, I worked for all sizes of companies — Scrum worked well in very large (a.g. an energy supplier with thousands of developers), medium (100+ devs) and small (20 or so devs) companies.

    • Hi, all new management and business textbooks contain agile aspects and time-boxing. Due to digitization, the customer is increasingly in the center (strategy is love but mixed with the fight against the competition). Faster response to change requires a time-boxed and quick feedback system. As a result, companies expect to be more productive as they find themselves in Silicon Valley. People with a lot of drive and ambition. All managers in a higher position simply have more power and can determine which processes to use. But I hope that Scrum hopefully dies out with his dominating waterfall Cargo-Cult. Interesting search trends on Google. Scrum is still a very hot topic and growing. But lean enjoys a lot more attention.
      https://trends.google.de/trends/explore?date=all&q=agile,scrum,lean

    • At this point I just don’t believe anybody that says they like scrum has done any kind of significant development where quality was key to their success. Scrum is a consultant marketing sceam. Outsourcing and h1b visas allow many companies to get away with forcing people to go along with this and keep quiet. Starting in the early 2000s IT as a career has really gone down hill.

      • This was my experience also. Interesting that most, if not all, negative scrum experiences are from experienced developers. People who know how to design, build and support what are, in many cases, complex, mission critical software packages. Packages that were developed, in many cases, on time and with acceptable defect counts. To those who would say that bad scrum experiences are from “doing it wrong” I would reply that I could say the same of waterfall and iterative methodologies. If it didn’t work, you did it wrong because I participated in many projects over a 30+ year career and the vast majority of those were successful. The difference between those situations and scrum is that I have never seen anything destroy morale or chase good engineers out of companies like this scrum/agile cancer has done/is doing. The only people who benefit, IMHO, are scrum masters and entry level developers. And it’s just another step in the ‘dumbing down’ of software development that started in earnest with VB 6.0.

        • ” The difference between those situations and scrum is that I have never seen anything destroy morale or chase good engineers out of companies like this scrum/agile cancer has done/is doing.”

          My experience is exactly the opposite. I’ve seen scrum boost morale, and attract and keep good engineers in a competitive market.

          Both of our experiences I think show that scrum (nor waterfall) is a silver bullet. They are different ways to solve difficult problems. What matters most is the quality of the individuals on the team. Good people can create great products in either case. I think scrum make make good people even better, but that’s not a universal truth anymore than saying waterfall can make good people better.

          For the record, my career started in the late 80’s. Without question, the scrum teams I’ve been on have been some of the best teams I’ve ever worked on. I’ve also been on extremely successful teams that had half a dozen programmers who all worked in dark corners and rarely talked to each other. A lot depends on the type of person on the team and the nature of the product being developed, as well as the willingness or availability of the customer to participate.

          • “When done right, scrum” – I could say the same “When done right, waterfall” or “When done right, iterative”

            Are you a scrum master? I ask because, at all the failed scrum teams I have seen, the scrum master universally thought that everything was fine and the problem was just those people who “didn’t do it right”. My point is still valid that I have never, in what is approaching 40 years, never seen this many software developers that thought a methodology was this cancerous. And I have never, never seen a scrum master or consulting company that recognized the problem. I also have seen disastrous architecture/software created by s technical writer because, in scrum, everyone can code. Then, when it fails, the writer is on to their next ticket leaving the mess to a more experienced developer who then is castigated because the product fails. I just don’t believe you.

            Scrum motto should be/has been “the beatings will continue until morale improves”.

            • Am I a scrum master? No. I recently gained a scrum master certification but I don’t work as a scrum master now or then. I’ve had the role of developer, architect, and product owner on various scrum teams

              “And I have never, never seen a scrum master or consulting company that recognized the problem”

              I definitely recognize a problem in the software industry, and in the greater scrum ecosystem. There are indeed a lot of problems with how scrum is implemented. There are large numbers of consultants and managers who have no idea what scrum really is and do a lousy job implementing it. I do see that as a fault of the scrum methodology, but a fault of the people who implement something that isn’t scrum but who call what they do “scrum”.

              ” I also have seen disastrous architecture/software created by s technical writer because, in scrum, everyone can code. ”

              I have no doubt if you were on a team that had technical writers writing code, that you would end up with really lousy code. That’s not a fault of scrum. Scrum doesn’t turn anyone into a coder. It doesn’t sound like you understand what real scrum is. Scrum is a framework, it’s not a silver bullet. It doesn’t turn writers or testers into coders, or coders into testers, or team leads into scrum masters, or anything else like that. It’s simply a way for a group of talented, motivated individuals to organize and prioritize in a customer-centric way.

              “I just don’t believe you.”

              I guess I have no way to change that. However, I can assure you I’ve been writing software since the late 80’s, and every single scrum team I’ve personally been on — and many that I have witnessed first hand — have been extremely successful, and the team members happy.

              I don’t know why you think I would lie about this, since I really have nothing to gain by doing so. I don’t make any money off of scrum, and don’t even use it in my current job. What motivation do I have to lie?

              “Scrum motto should be/has been “the beatings will continue until morale improves”.”

              It’s a shame you feel that way. I wish you had an opportunity to work on one of my past scrum teams. I think you would be surprised at how well it can work. It’s not for everyone though — I definitely know programmers who just can’t cut it on a scrum team.

              • In Scrum, all the team members are identical and can work on any story.

                Someone is a tester? Just have the tester pair program with a developer for a sprint and then the tester is cross trained.

                Someone is a technical writer? Just have the technical writer pair program with a developer for a sprint and then the technical writer is cross trained.

                • “In Scrum, all the team members are identical and can work on any story.”

                  No, that’s not what the scrum guide says. If that is what you were taught, you were taught wrong. Some people who don’t understand scrum may think everyone should be able to do everything, but that’s simply not scrum and it’s almost never an ideal team configuration.

                  The scrum guide does a pretty good job of making it clear the only requirement is that the team as a whole has all of the skills necessary to create the product they have been tasked to create. It even explicitly states there can be specializations: “Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.”

                  You go on to write: “Someone is a tester? Just have the tester pair program with a developer for a sprint and then the tester is cross trained. Someone is a technical writer? Just have the technical writer pair program with a developer for a sprint and then the technical writer is cross trained.”

                  Sure, you can do that, but the tester and technical writers will still not be able to write high quality software, any more than we could expect a software developer to adequately test the software or produce a good user manual. Writing software, testing software, and documenting software are all highly specialized skills.

                  If you have a manager or scrum master who thinks this way, they don’t understand scrum, and your team will likely fail. They won’t fail because of scrum, they will fail because of bad management. This sort of thinking is exactly why scrum gets a bad name. People are calling certain things “scrum” that simply are not part of scrum, and when they fail they blame scrum.

                • YES, happened to me many times. I love your user name as, when younger and in better shape, I managed to bicycle to work more than driving. Be careful, I noticed that driving patterns had gotten very aggressive by the time I stopped riding, and that was decades ago.

                  • Sorry, I must elaborate. I was victim of having to clean up after a ‘cross trained team’ butchered code many times.

              • Ah, I get it. When the “that’s not scrum” mantra gets old it’s time to whip out the “maybe you can’t cut it on a scrum team” mantra.

                My points are still valid. Scrum/agile, either the myth or the reality, is apparently so easily corruptible (a major flaw) as to make it useless. And, when it does fail, it is never because the methodology is flawed, it’s always the fault of the one who is the implementer. Beautiful! There are ever present scapegoats so the cause may remain pure.

                Name any other methodology (just one will suffice) that has chased so many experienced developers away from companies. That has so completely destroyed morale. That has resulted in the momentous decline in software quality. That is so universally hated by developers.

                In a post recently, BicycleDeveloper said “In Scrum, all the team members are identical and can work on any story.” YES! And this produces some of the sorriest code quality on the planet. Ever notice how the “cross trained tech writers (and others)’ never seem to have to try and make their code actually work? How that is usually left to one of the other team members. This happened to me many times. When I pointed out that the code, as designed and written, would never work properly, I became the problem. Something about not being a team player. Bad attitude and all that.

          • who are you and who do you work for? you have a biased agenda. i don’t trust your motives int this forum. Most people in this forum don’t trust you either.

      • “At this point I just don’t believe anybody that says they like scrum has done any kind of significant development where quality was key to their success.”

        I have! I worked in an organization that has an industry-leading product in the e-discovery field. Quality is paramount there; the software licenses cost in the tens of thousands of dollars and the software is used by virtually all of the largest law firms in the world for their most important cases.

        When done right, scrum really gives the QA people a chance to shine, and to actually make a difference in the quality of the code. With few exceptions, the QA folks on the scrum teams I’ve been a part of were much happier and productive than on non-scrum teams, and the developers were much more appreciative of QA. QA is an important and integral part of scrum.

        • Dude, nobody in this forum that I have seen agrees with you. I don’t trust your motivations here. Scrum is a marketing scam pushed by consulting companies. WHO DO YOU WORK FOR?

          • I believe Bryan Oakley’s experience and that he’s genuinely trying to help because he has seen the positives of agile/scrum – this is what the agile/scrum founders believed!

            I have experienced waterfall and agile to see how both extremes are detrimental to software engineering.

            Conversely, I have also experienced non-waterfall/non-agile at its best; proper discipline, training, experience, and coordination will prevail any software project.

            Steve

            Agile Manifesto Signatories Regret:

            Dave Thomas – March 2014 – Agile is Dead (Long Live Agility)
            https://pragdave.me/blog/2014/03/04/time-to-kill-agile.html

            Ron Jeffires – May 2018 – Developers Should Abandon Agile
            https://ronjeffries.com/articles/018-01ff/abandon-1/

            • Steve, thanks for posting those links. That article by Ron Jeffries was excellent. I especially like the section that begins with “No matter what framework or method your management thinks they are applying, learn to work this way:” – that is most excellent advice!

          • You’re blind. I already wrote many times the same: Scrum can work very well and I’ve actually never see it fail as described by the author and many commenters.

            But in your hate on scrum, you think everyone who has seen it work well is a liar. Well, I could say the same about you: You are a liar, because my personal experience is totally different: I have worked for over 24 years as professional software developer, many of which using Scrum — and it was always in a functional, motivated, productive environment. None of the highly qualified devs (including me) saw a reason to be pissed and even leave.

            And who the hell are you? You demand from someone else to tell you who it is, but you don’t tell yourself. So what’s your real name? Where do you work? Don’t want to answer??? Well, honestly, I don’t want to know! But maybe asking you starts a thought process in your brain…

          • GordyH, are you asking me who I work for, or are you asking “C++ software engineer”?. It’s a bit hard sometimes to see who and what you’re responding to.

            I work for a very small software shop, it doesn’t really matter who. We don’t use scrum or build products used by scrum teams, and we aren’t consultants.

      • Yes, the survey is a bit one-sided. Its the way it is and the survey is also from a tool vendor. But its the only one and biggest one I know. I am working hard on my thesis now. So i am off for the next time/months. Greets

    • Wow! That survey really is one-side. It’s almost impossible to answer negatively. No wonder everyone thinks Agile is wonderful. All the surveys are biased.

  417. The article mentions time estimates as one of the problems with Scrum. I’m reminded of one project that I worked on that shows the problem with this.

    I had a ticket to upload thousands of rows of data to an API on a certain CRM. I read the documentation that told me that the API would automatically do the retries for me and report back any rows that could not be updated. Wonderful. Or it would be if the APIs actually worked that way. They did not.

    The APIs would randomly report back row locking errors on hundreds of rows, but not report the IDs of the rows that had not been updated. The APIs would tell me which rows succeeded but not which ones failed. So now I had to go back and re-architect the whole thing. I would have to program the retries that the documentation promised me would be handled by the vendor.

    If I had known this when I started my time estimate would be 2-3 times what it was. My sprint was blown and management was looking at me, because well, I was the one who had made the time estimate. So what if the documentation was a pack of lies?

    A huge reason why management loves Scrum is it give them the illusion that it solves the age old problem of time estimates. It doesn’t.

    • “If I had known this when I started my time estimate would be 2-3 times what it was. My sprint was blown and management was looking at me, because well, I was the one who had made the time estimate. So what if the documentation was a pack of lies?”

      Without knowing more details, it sounds like scrum might have really saved your bacon in this instance. In traditional waterfall you would have quite likely made the same estimation error, and possibly built a very large schedule that was at least partially dependent on your original estimate. As you made your way through the project, your schedule would have been thrown seriously out of whack and caused potentially lots more problems. This might have required the whole team to stop what it was doing so that it could re-plan.

      At least with scrum, you learned about your estimation mistake in the length of a single sprint, and you were able to account for it in your plans going forward. That all sounds like a good thing. It sucks that your manager thought you perhaps blew up your sprint, but scrum doesn’t guarantee that sprints are always effective. The advantage here is that you were able to learn of your estimation mistake early, and your team had an organizational safety net that prevented this mistake from ruining a several month long plan.

      “A huge reason why management loves Scrum is it give them the illusion that it solves the age old problem of time estimates. It doesn’t.”

      On that we can agree. Bad managers are a problem no matter what methodology you use. Scrum doesn’t solve the problem with bad estimates, though it tries to supply tools to help. Scrum is somewhat based on the premise that estimation is hard and that bad estimates happen. It makes the problems more transparent, and gives you an opportunity every 1-4 weeks to improve your estimation techniques, and to make multiple small adjustments instead of making a single large adjustment in the middle or near the end of a large project.

        • Seems to be the same with you: You don’t listen, either. Your personal anecdotical evidence is the absolute truth for you. Seems pretty religious to me.

          I totally agree with Bryan: Scrum can shine and it can suck — totally depends on many factors, most importantly on whether you do cargo-cult-scrum without understanding anything of it, or whether you do it right.

          But to religious people like you, there’s only one absolute truth, so stating that I’ve seen Scrum work very well in all teams we used it, probably is blasphemy to you. And note: I am *not* a Scrum Master, but I’m an ordinary (though very experienced and talented) developer working in the field for 24 years.

          • Don’t think he is being religious, Just stating what I have also heard numerous times. SCRUM is a awful practice. Also, I have also heard the original agile manifesto guys regret not keeping ownership of what they produced and they don’t like what agile has turned into.Open office, micromanagement sweat shops.

  418. The author has summarized known issues with Agile/Scrum. But these issues have not stopped the software industry from adopting these kinds of processes. I think one would have more success with running a software development organization as a research and development organization, rather than a 2-week widget factory lane. The main obstacle to that approach are know-nothing, wheeler-dealer managers who largely dominate companies.

    • It’s the soup du jour process at this time. The idea is to turn software development into what is effectively the same as an automotive assembly line. Since good software requires a large component of creativity, and estimating the time required for this creative genius is hard to do, what ends up happening is that no developer wants to be the one that holds up the assembly line, so they just develop their software to the bare minimum of elegance. In this scenario, each sprint produces product with more bugs, more technical debt, and unhappy developers.

      • “what ends up happening is that no developer wants to be the one that holds up the assembly line, so they just develop their software to the bare minimum of elegance. ”

        That is not my experience even slightly. On the teams I’ve been on, and the other teams in the same organization, creativity has soared. I’ve never been on a scrum team where individuals did the bare minimum. Not even close.

        It just goes to show that it’s not the methodology that is good or bad, but the people. People can do poorly with scrum, and they can do exceptionally well. Same with kanban, same with waterfall.

    • Software production will never be the same as hardware production. Software is not a widget that you produce on an assembly line in large quantities. You produce one executable and copy that executable in large quantities. Scrum/Agile might make sense at Toyota where you don’t produce one Toyota and then apply a copy function on it as many times as you need it. But to take a Toyota assembly-line idea and apply it to software is insanity. And it is done all the time.

      • Well said @QA – I thought you were going to go the other way and say “Because it’s not hardware, we are flexible and can change so it makes sense to apply Kanban to software.”

        To your point, they’re looking at the WRONG PART of Toyota – it should not equate to their manufacturing assembly line but rather their automobile design team that must creatively design engines, aerodynamics, aesthetics, etc. These teams are most certainly not standing up during their daily morning routines and tracking their work as micromanaged tasks.

      • Fundamental problems in s/w development are not that different from that of other disciplines of engineering. There are even notable commonalities between problems in s/w development and entirely different trades such as law or medicine. These problems stem from the challenge of collaborating a group of intelligent people to work towards a common goal..

        But in all other disciplines, we will not see senior lawyers or doctors listening to junior scrum master doctors or scrum master lawyers 🙂 They would find it a joke if a junior doctor/lawyer comes to a serious legal or medical case and ask doctors/lawyers to stand up and explain what they have done and what they are going to do, how they can be faster, better etc. 😉

        In s/w development, somehow this nonsense was hyped by certain consultancies such as thoughtworks, which may have had their own vested interests (Michael was very accurate in pointing out the role of consultancies and bodyshops in hyping up the agile).

        • Thanks. There’s another reason I think why Scrum is so tempting to management. The first is that it’s “management made easy”. Divide up the work, assign story points, and now you can rate the engineers by story points. Right? Except of course that doesn’t work.

          The second is that managers often don’t understand what engineers do. They don’t like having to trust engineers to do the right thing.

          There are some good things about AGILE. Note that I said “AGILE” and not “Scrum” which are not the same thing by a long shot. If you don’t believe me, look up the AGILE manifesto which downplays process. Scrum is process on steroids. And view the video by Pragmatic Dave Thomas, a signer of the AGILE manifesto: https://www.youtube.com/watch?v=a-BOSpxYJ9M

          Minimum viable product and frequent releases are a good thing. They show management that engineers are on the track. Too many projects drag on without management even knowing that they are in trouble. They let product people make adjustments after seeing the real product. They let them decide if features are not needed or if others are.

  419. If someone put Poop on a plate and gave it to you with a spoon and told you it was Chocolate Ice Cream, would you know enough to know not to eat it? And if you didn’t, would you eat it and then say “Chocolate Ice Cream tastes terrible!” ?

    No replies please.

    • I had to reply…I like using the saying “Some people have to touch fire to know that it’s hot.”

      It sucks when it’s management/leadership and they make you touch it (or in your analogy, make you eat it)

      Let’s sustain your analogy:

      “Eating this ice cream will increase your productivity.”

      “I’ve tried this stuff before, trust me it’ll taste awesome eventually”

      “You didn’t serve it right”

      “At least it’s not cow vomit; you guys used to eat that and see where it got you? This chocolate ice cream is way more superior than cow vomit.”

      “Why don’t you guys like how it tastes? Your not giving it a chance.”

      “Why are we doing this?” asks the developer, “Because it allows us to change the type of poop we eat every 2 weeks!”

  420. In general I agree with the sentiment. The article describes the point of view of the effectiveness of Scrum from a developers point of view within the scrum team, but only briefly touches on the customers perspective, the business drivers and objectives that influence the customer and does not consider financial and time constraints at all.

    For me as internal IT of a non IT company and a customer of IT suppliers, if it is between Scrum and Waterfall, Scrum wins; especially for projects where my stakeholders don’t know what they want, I have a restricted timeline/resources, and little freedom to experiment. Ideally (in my opinion) a team of developers working on product or platform should not be using either methodology, but more importantly be invested in a shared product vision. The trouble is I can’t do the latter with transient contracted resources who I did not individual choose and did not choose me. Also my customers don’t care about what I ideally want as a supplier beyond money and time, as nor do I with my suppliers.

    I am not saying this is a good thing, but I dont think there is a solution the author of the article does not propose a solution either.

    • Agile can be a good thing and in my opinion has always been used in certain circumstances. But scrum is just another process that is frankly not any better than the old spiral development. Scrum also seems to make the developers unhappy. With agile, there is no need for management since the developer is building the product directly with the user. Scrum introduces a product owner, who is suppose to be interacting with the user, but many times they are just a liaison to upper management. So now you have a situation were there is as much, or more process required with the downside that the developers feel they are being micro-managed and feeling that they just need to “make it work” so they will have something to show at the end of the sprint demo.

  421. Thanks for this article. My office has just shifted to agile methods and workspaces, and after 10 years of programming I don’t want to do this anymore.

  422. Wow. This is the best tech article i’ve ever read. Every sentence resonated. I’m just not sure if i’ve been victim to poorly implemented SCRUM or actually really well implemented SCRUM. It did somewhat make sense when applied to the rest of the engineers in my org and the consistency of the stack. HTML can map to two week goals, opinionated JS frameworks can too but i did webgl alone, and have never once had a goal i believed in. After every sprint people were happy and i was thinking that i just shot myself in my future foot, or only saw smoke and mirrors.

    I think having the “business” customer failed me, it felt like there should have been other teams, but i don’t understand if that is in line with Agile.

  423. Agile methodology and using devops for software implementation have lot of negatives when scrum is brought in picture. 1) Ultimately we all work with people and scrum and it’s 2-3 week never ending sprints cause more fiction within team than in non scrum environment reason being shorter duration and more interaction.
    2) everyone is measured for what is exactly happening..so pick useless story but atleast say something in stand up.
    3) there is too much anxiety pumped due to repeat initiate questioning of where u are.
    4) everyone in team wants to prove they have work even if useless
    5) the good stable software product is hardly anyone concern..design, refactoring takes a hit.
    6) for introverts specially open office plan cause too much anxiety alongwith scrum.
    7) developers asked to work on production support and night support
    8) lack of clarity what we are doing…whole focus is on story points..delivery…
    9) managers, scrum masters do a lot of politics by exploring team and pitting one against other.

    • None of what you wrote has anything to do with scrum, and everything to do with a disfunctional organization that implemented something that is not scrum, but is calling it scrum.

      It’s a bit like saying “meatloaf sucks, because it triggers my peanut allergy”. The problem isn’t the meatloaf, the problem is that someone gave you a peanut butter and jelly sandwich and called it meatloaf.

      I do agree that if you work in an environment described by those 9 bullet points, that sucks. No question. That is not scrum, however. Scrum doesn’t require open office plans, scrum doesn’t pit teams against each other, scrum doesn’t say anything about production support, and so on.

      Any methodology, whether scrum or waterfall or anything else, is going to suck when you have bad management that doesn’t know what they are doing, and/or you have team members that lack the discipline to correctly use the methodology.

      Scrum will not ever help a team of coding cowboys, but for a team of dedicated professionals, it can be a fantastic way to achieve peak team productivity. If you’re the type of person more focused on your own productivity rather than team productivity, scrum will never work for you.

      • Since most systems have dependencies between teams, it does pit teams against one another to a certain extent. It also pits teams against managers since management is deciding the make up of the teams, which means there will be an imbalance of resources between teams.

  424. Pingback: More wisdom | Remove the end justifies the means!

  425. Good one. Worst part of scrum is some scrum masters belief that product development and s/w engineering is a silly discipline whereby they can outplay a group of senior devs and architects with the help of some charts, scrum ceremonies and similar snake oil. No wonder, serious engineering companies have already given up/are moving away from this failed experiment

    • I joined a company. There were eight engineers who all reported to the VP who was a hands off kind of guy. We were told to refactor the code which looked like it had been written in 2003. We engineers talked among ourselves and started doing what we thought was best. We got a lot done. We got compliments from the VP on how much better the code was.

      Then we started doing Scrum and couldn’t do anything without getting permission first. Product people didn’t care about refactoring, so no further refactoring go scheduled. The next goal was to add Spring. We could never get that approved.

      Scrum is useful for micromanaging and squelching any creativity among the engineers.

  426. Really like the arguments against SCRUM. A little too emotional for my taste, but the content make sense too me. Anyway there is something important missing. What is the alternative? I can rightfully complain about anything, but it is of no use unless I propose at least a vague idea of how to do it better.

      • I think @gugglehupf was pointing out that the author didn’t bother to suggest anything. Identifying a problem, like in life, should always be accompanied by some solutions to the problems identified. Otherwise it’s just ranting, and frankly lacks maturity and professionalism.

        • Again, it’s like if you have to ask then it makes me wonder about your experience and education at this point.How do you think anything got done before agile came out in early 2000s. Even the people who developed the Agile Manifesto in the first place don’t like how this has turned out. They now regret not keeping ownership of it when they created it.

          • “Even the people who developed the Agile Manifesto in the first place don’t like how this has turned out.”

            I don’t think that’s accurate. I think they don’t like how the agile _industry_ has turned out, but they still believe in the agile manifesto.

            The problem isn’t scrum, the problem is scrum being run by bad managers, and being promoted by people who don’t understand scrum. When done right, just like with waterfall, and just like with lean, and just like with XP, and just like whatever makes your team tick, it can work for the right teams.

            Scrum isn’t inherently flawed, and can be an exceptionally good way for some teams to be highly productive. I say that because I’ve been on high functioning scrum teams that had few to none of the problems people mention here. You get out of it what you put into it.

            • To my point of view, the problem is not Agile or scrum, it’s capitalism.

              You cannot apply a manifesto that is all about worker’s autonomy in a context where there is a top level of the hierarchy (or unequal client-provider relation) that still wants to keep full control about what the workers are doing.

              This leads to have product managers and scrum masters being considered as chiefs, which is not what they were meant to be in Scrum. This leads to having sprints where excessive workloads are asked to the developers, while they should have been assigning it themselves. This transforms the principle of constant improvement in something that’s only about putting pressure on people with meaningless statistics, etc.

              Sorry to people who may think that this debate should not be mixed with political considerations. But to my point of view, working organization is the most political thing you can think of. And speaking of Agile principles without thinking about their incompatibility to capitalism, is just missing the point. And this is my explanation about why the ones that wrote the Agile manifesto are always to complaining about what is made from it : they need grow up one level of radicality.

              Each time I hear people complaining about how badly are the Agile principle understood and applied by people. I just want to answer that : “Do you really think that it would be in your boss’s interest to sincerely apply Agile principles ? Yes it would greatly improve productivity and quality. But don’t you think it would in the end totally undermine his own legitimacy managing you ? May be up to the point that you would think seriously about getting rid of him? If he let you self organize as you want, wouldn’t there be a point where you totally be able to leave the company and be a better competitor than him as he would have hard time replacing you?”

              And in the case it is a commercial domination, with an overpowered client that’s always messing things up and having stupid and unreasonable demands : “What do you think would happen if he did not ? If he agreed to let you define your own priorities, and answering his actual needs the best you can ? Don’t you think he would in the end depend more on you than you depend on him ?”

              In short, to me, these questions are all about power and self-preservation. It is self-evident that we are much more efficient when not disturb by these kind of hierarchy or that kind of clients. And this observation is not only true for computer engineering but for any kind of human work. But for them, this would mean letting go their own power, their own legitimacy, and that is the last thing they want.

              To my point of view, it is kind of the same debate as the one that was going two centuries ago, around slavery abolition. In the end, it had become blantely evident that slavery was totally inefficient economically compared to capitalism. But progress in this matter did only need to make this observation, it needed to grow enough power to overthrow the slave owner’s power, clung to their privileges.

              • Sounds great but when you sum up everything you said it all adds up to nothing. Lots of blather from the commissar about how capitalism is the problem. I worked with people who immigrated from Russia where the system you promote has been ‘de rigueur’ for decades. Funny thing is, none of them wanted to go back to that system, they all preferred capitalism. Funny how that works.

                Or maybe a socialistic society, like all of the ones that people are fleeing to come to America and it’s capitalism.

                Let’s face it, the big lie is that ‘capitalism is the problem’. Truth is that it’s the only system that works.

                • The people fleeing the Soviet system preferred 1970s–80s capitalism over 1970s–80s Soviet socialism.

                  Due to authoritarianism, conflicts due to nationalism within a multi-national, multi-ethnic union, and ideological rigidity, Soviet socialism failed. No one is itching to restore it.

                  We don’t have the old-style capitalism anymore, wherein you could drive into a new city with no connections on Wednesday, call some CEOs from your hotel room on Thursday, schedule a lunch interview or two on Friday, and start your new job on Monday.

                  If that was capitalism, then capitalism would still work. For a good 50 years or so, it did. But it fell apart and there doesn’t seem to be any hope of fixing it– it generated a parasitic, generational socioeconomic elite that now sabotages any political efforts to reform or regulate capitalism.

                  No one wants 2018 American capitalism. They want 1965 American capitalism; but that’s gone.

            • There is a different kind of agile process that has sprung up in the last few years. It’s used on large projects and it’s called scaled agile. Do a search on it. it is a nightmare with more process than all the methodologies I have used, including CMMI level 5. It creates a communication nightmare. Large to very large projects need somewhat of a command control environment, and water-scrum-fall is a suitable alternative.

    • Scrum is useful in certain narrow contexts (as the post mentions). Beyond that, the business should define the requirements and scope and stay out of engineering part. There is no need for micromanagement. Let the iterations be defined in terms of releases as communicated instead of inflexible 2 week Sprints. Within 2 weeks, 2 days are lost just for review, kickoff, retro etc. on top of dailies and other meetings.
      If you read between the lines, there are solutions as well

      • “Within 2 weeks, 2 days are lost just for review, kickoff, retro etc. on top of dailies and other meetings.”

        if you’re losing two days every two weeks on those things, you’re doing something wrong. At most, the demo is one to two hours (I’ve never been in one that lasted more than an hour for two week sprints), the retro is an hour, and the planning is 4 hours. The standups are barely a blip on the radar since they are only 10-15 minutes per day, and just about any team worth its salt should be talking to each other at least that much anyway.

  427. This whole article reads like a 13 year old girl whining that the school forbids her to wear make-up in school and classes are obligatory.

  428. Where are the solutions? This is an astute article, but it does not conclude with any solutions to address these problems. Even an “I see these problems but I really don’t know what the solutions are… yet.” would suffice. *grumble*

    • There is a logical fallacy in asking solutions for problems specifically *created by agile and scrum*. I have seen scrum process and inexperienced “scrum masters” standing in the way of proper technical and engineering solutions, just because of some artificial timelines created or because they are not estimable. Here what is the solution? Get rid of the flawed process and methodology as Michael suggests 🙂

  429. what an experience! Dr.mack is a wonderful spell caster, he has made my life complete again by helping me cast a spell to return my girlfriend and also make her to be faithful to me again. I was skeptical at first, but what a believer I am now, his spell really worked! my lover is now faithful to me, if you are also seeking for help to get your lover back? email dr_mack@ yahoo. com” Wow!!!!

  430. As someone who has worked on multiple successful teams at multiple companies, I find this article extremely nieve and narrowminded.

    First and foremost, no single approach is a silver bullet for everything. Processes have to be tailored to the type of work, and the working style of the team.

    However, none of that is relevant, as the author here states many falsehoods as fact. The definition of waterfall is incorrect (and ironically described as a “strawman”… So it seems they have created their own strawman by making up a new definition of waterfall). The motives and drivers of agile as explained here illustrate thank the author doesn’t actually understand Agile. And “There’s absolutely no evidence that any of this snake oil actually makes things get done quicker or better in the long run” simply means this author has never worked on a team to see the benifets of Agile.

    There is one type of developer that struggles with Agile. It is those who wish to be left alone, self directed, unquestioned, and unmanaged. In the end, they are not team players, they are independent “heros” who do not want accountability for their day to day working. They feel they do not need coworkers, or managers, and they are at their best when they go into a quiet Cor er for an indefinite period of time, with undefined deliverables and come back when they think they’re done.

    The author reads as if they are one.

    So rather than criticising the process and all those who adhere to it, consider for a moment that you have never actually understood, experienced, or actually followed the process correctly?

    Nah, that’s too much to ask. I get it.

  431. >>>There is one type of developer that struggles with Agile. It is those who wish to be left alone, self directed, unquestioned, and unmanaged. In the end, they are not team players, they are independent “heros” who do not want accountability for their day to day working. They feel they do not need coworkers, or managers, and they are at their best when they go into a quiet Cor er for an indefinite period of time, with undefined deliverables and come back when they think they’re done.
    —-
    The highest levels of collaboration in s/w development happens in Open source development. Industrial grade products such as Linux and Apache webserver are created by thousands of collaborators. Do you know that none of them actually follow scrum or not even any variants of agile? In fact, few of them even sit together in one room.
    Imagine the odds of coming up with those kind of products if you work in 2 week Sprints, estimate tickets and sit in an open office 🙂

    Many good Developers are often introverts, but that doesn’t mean that they are poor collaborators though. They can usually express themselves impressively while writing technical matters and while solving problems. By forcing them into some phony collaboration process, scrum actually limits their innate capabilities

  432. I think there are two different discussion going on here. One is Agile, the other is Business-Driven engineering which are not the same thing. All it means to be “Agile” is to follow the Manifesto and the 12 Agile principles which basically talks about empowering the team, delivering value and continuous improvement. If you are dong those things, that’s Agile. Whether you are doing that in Waterfall or in Scrum really is irrelevant.
    Agile doesn’t suck. All it is are simple ideas on the way to work. How people interpret it or apply it is what sucks because people do both of those wrong

  433. First, I want to thank you for sharing.

    Next, I would like to say sorry if I am misunderstanding your post, communication in written form can be misunderstood.

    I could say a million things to your post, but I would just like to say two things.

    1. GET OUT, you are on a sick project surrounded by managers, yes mangers not leaders and the project you are in will never remotely be anything agile an reap the benefits of Agile. Get out, you are wasting your time.

    2. Before you leave do this, print out the agile values and principals on a big post and placed them on the wall, and doing the day, every time you “violate” the basic rules, point at the wall and say, “We are doing it wrong!” and find a solution on how to do it right where the real worker and participate. I am sur you will be pointing at the poster more then 10 times doing the day! https://www.projectmanager.com/blog/agile-principles

    Good luck, I feel sorry for you experience.

    • Usual apologetics for scrum nonsense — you are not doing “real agile”. Maybe agile made you brain dump or so, otherwise you don’t get the point. Agile done right or wrong has a few characteristics which makes it useless..such as being dangerously short-term, micro planning of engineering work, lack of focus on RnD etc. Done right or wrong makes little difference here

    • Most of those principles are irrelevant since managers are not going to give that much freedom to developers because if they fail, the manager is on the hook to get the blame. In large systems, it doesn’t work at all because there are two many points of communication, and the noise overcomes the critical information and process gets as big as any other development method. Agile only works on small projects with no managers, and with the developer working directly with the user.

      • You are correct for the most part. Just let me add the following:
        Many Scrum Masters fail because upon their arrival at the site, their first instinct is to force change. Despite their presumed knowledge of Agile/Scrum (all derived from a 5 day course + certification) they completely ignore the main principles stated in the “Manifesto for Agile Software Development”. This manifesto clearly indicates that the basic structure model to be adopted should not based on processes and tools but rather it should be based on people. That means that the priority for a Scrum Master should be to encourage positive attitudes and behaviors. According to Agile, these behaviors should be Collaboration, Trust and Respect.
        Without good an positive attitudes no methodology or framework will ever work.
        The application of any methodology or framework in software development should be accompanied with a comprehensive understanding and empathy of the team that will be performing the project tasks.
        Scrum Masters should stop enforcing Agile/Scrum as a rigid method and should instead be encouraged to provide a flexible framework that will accommodate to the needs and wants of both the development team as well as the client.

  434. Yeah great. Sorry about the last decade of my career eh?

    Stuck in broom closets and open noisy floors. I got off easy compared to most of my colleagues, stuck in smaller closets shoulder to shoulder and force-moved way across town for a terrible commute so “everyone could be Together!”, “Doing Scrum!”.

    Being told that without this, I’d have no idea how to deliver, despite my excellent track record of doing exactly that all along.

    Answering to a brilliant but out of control manager for a couple years that could shout this fresh dogma at anyone in response to any argument, and use it to stamp out anything in his way.

    Afterwards, as Scrum continued its corporate dominance, more fun with an even more controlling self-appointed Scrum Master, while management stood aside as if just waiting to see who would be left standing at the end.

    So sure, after all that, let’s completely flip everything on its head now and my blind company that follows every young-looking fad at the drop of a hat can adopt the Next “big cool trend” overnight, whatever that happens to be.

    In closing I have the skeptical feeling that You will be first in line to sell whatever this next fad is very shortly, if you haven’t already started.

  435. Pingback: [Перевод] Где Agile ужасен, особенно Scrum — MAILSGUN.RU

  436. total bullshit article! where you fired from a transforming company because you didn’t want to give up controlling people? 😀 hahahahaaa

  437. “Like a failed communist state that equalizes by spreading poverty” Oh so the american neo-liberal agenda are not global poverty (and corruption) spreaders? What are you, a Trump supporter?

      • I find it quite amusing that the acolytes of these flawed/failed systems always blame the failure on the implementors, not the corrupt system. The dream of every manager/scrum master/commissar, somehow the guys in power never seem to suffer.

  438. Whether agile set out to be this way or not, the truth of the matter is that corporate has figured out how use it to eek out every last drop of productivity from the worker through micro-management at the expense of the workers stress levels and the now long gone work-life balance. Today’s scaled agile projects have more bloated process then the rational unified process and CMMI level 5.

    • This is (I think) a point I have tried to make all along. Agile/scrum, as a methodology, may actually have some good aspects, however, it is so easily corrupted by company management as to be worse than useless. Moral among most developers is at an all time low along with the quality of the software. It’s time to move on and switch to any other methodology that allows developers to be creative and productive.

      • I use the exact argument – The shortcoming of Scrum is that it’s easily corruptible, concocted in a controlled environment where every stakeholder was invested in everyone else and the success of the experiment.

        There are still a lot of fanboys – there is a generation that only has known Scrum with “ticket-blinders” and the will of the Product Owner as the way it’s always been.

        The Agile Manifesto is full of truisms yet people still can’t grasp those concepts.

        • We are in full agreement. I think I was retired (RIF) just in time (2012) and, since I was 63, just decided to tighten my belt a bit and stay out of the work force. All the positions required scrum and I just couldn’t (wouldn’t) fit that mold. It’s a decision that I have not regretted. As an aside, my favorite methodology was iterative development with a dash of waterfall.

    • I remember the Rational Unified Process (RUP) and SEI Capability Maturity Model (CMM) level 5! Back then, they seemed like mostly crap and a way for consultants to sell their services. But they pale in comparison to Scrum! Scrum makes RUP and CMM look lightweight! I now long for the RUP/CMM days.

    • It’s the choice of roles and activities that make it corruptible. At least Waterfall protected people with the process. By removing all these requirements, the development team can lead the process and do what they think is best for their situation.

      The following makes Scrum more corruptible:

      * Mandating that only one person owns the product and decides what gets prioritized and worked on. (The R in R&D disappears)

      * Mandating a demo where feedback is received on just completed “shippable” work. (Rushing to make that perceived commitment demo, and last minute changes to a missed requirement)

      * Focusing explicitly on sprints, stories and “shippable software” (This is how tech debt is created)

      * Concepts of swarming, full stack, and “no specialists” (Cogs in a machine)

      * Evangelizing use of the term “commitment” when in fact it’s a forecast – since the 2011 Scrum Guide revision (it was not meant as a promise to complete the stories)

      * Mandating velocity and use of metrics to evaluate throughput (pushes people to do more, emphasis becomes on PO prioritized work.)

      I agree with @C++ (I have worked at world class companies that balk at these processes – both Scrum and Waterfall), I would call my ideal process Asynchronous Iterative Development where each discipline (Product, Dev, QA, Docs, Ops) has their own schedule/cadence/methods, and coordinate to work towards a common delivery goal.

      3 of the original Agile Manifesto authors have acknowledged their failures:

      Dave Thomas – March 2014 – Agile is Dead (Long Live Agility)
      https://pragdave.me/blog/2014/03/04/time-to-kill-agile.html

      Ron Jeffires – May 2018 – Developers Should Abandon Agile
      https://ronjeffries.com/articles/018-01ff/abandon-1/

      Martin Fowler – August 2018 – The State of Agile Software in 2018
      https://martinfowler.com/articles/agile-aus-2018.html
      (Martin admits to being part of the Agile Industrial Complex)

  439. I’ve read the article and most comments twice now. My experience as a consultant is that implementing Scrum and Agile is never a silver bullet, but can be very advantageous when properly implemented. For me, ‘properly’ includes making sure that Scrum/Agile-rituals are not in any way hindering developers to build great software. If that’s the case, something is not right.

    2 Things that may inspire positively:

    1. A large international bank implemented Agile with the pre-condition that ANYONE involved in the scrum process (and it’s implementation) had basic software engineering skills (or was willing to learn those). That included management, Scrum Masters, coaches, etc. This was assessed externally (to cut out politics) and introduced with almost unlimited options to get training (for free).

    2. Architecture, long term planning and technical depth were frequently discussed across teams to avoid excess short term focus in sprints. It took us a lot of experimenting to figure out a proper knowledge-exchange-platform. Political dilemma’s and conflicting priorities weren’t solved with the introduction of Agile/Scrum, but at least everybody was equally informed.

    I’m sorry to read that so many of you had a bad experience related to this subject. I hope the above addresses maybe some of it.

  440. At best the thesis of this article is: “people can reduce terms like ‘Agile’ and ‘Scrum’ to mere buzzwords, apply them improperly (or not at all), and then be surprised that ‘being Agile’ or ‘doing Scrum’ didn’t work.” How insightful.

    This wouldn’t be a problem if the article was condemning this type of mindless hype, but instead just accuses people misapplying something is a problem with the thing itself. Next you’ll tell me that a used car salesman who sells someone a lemon means that cars are terrible.

    Venom aside, I love the idea of Agile/Scrum/DevOps/insert-related-buzzword-here: it’s just lean manufacturing (which is proven: small batch sizes, pull vs. push, owning the end-to-end “pipeline”, etc.) but applied to software and IT. As Sjoerd’s comment above says, it’s not a silver bullet (but why does it need to be?), the company and the people in it will be the ultimate predictors of success.

    Incidentally, I work for a company now whose teams use Scrum (and we work in an open office layout, by the way) and it’s great. The hierarchy is relatively flat, the people have both a professional work ethic but casual sense of camaraderie; we get a lot done, I learn a great deal in the process, and revenue is growing.

    In contrast, I used to work in an IT department where upper management just decided to just use “Agile” as a buzzword, but nothing changed in practice. Things where still very hierarchical and siloed, projects just got renamed “Agile teams” but work was still delegated by taskmaster bosses, there was no autonomy (or automation) or focus, people got burned out and left yet we never seemed to have enough money to replace them (I keep in touch with some co-workers who are looking to leave and they tell me nothing has changed.)

  441. I keep coming back to this article and re-reading. It still proves to be the best article I’ve read about agile. Agile CAN work (for small projects, for short periods, etc), but those are the projects that don’t need a ton of project management anyways! From everything I’ve seen it is highly likely for agile/scrum to not work well for anything more than that, as it is practically impossible to do well, it eliminates important documentation needed for support, demoralizes all the most knowledgeable people along the way, and is a consulting company’s wet dream in terms of taking all your money and never delivering anything good.

    A big problem is that it also obfuscates the fact that a project is failing or taking longer than it should because the business is so bought into it (micromanaging & violent transparency!) that they have skin in the game to declare agile/scum and everything done that way a success. I think that’s the root of the spread of this agile weed.

    The name sprint is apt, because sprinting can be a great way to get somewhere quickly once in awhile, but if you sprint 25 times in a row, you are exhausted and slower to the finish line than if you planned a bit better and figured out a better path, rather than running and zig zagging for artifical deadlines to get somewhere mostly in the wrong direction.

    • Could not agree with you more. And when you state “I keep coming back to this article and re-reading. It still proves to be the best article I’ve read about agile.” it is unfortunate. Because this was written 4 years ago (give or take) and companies going towards Agile/Scrum, not away. Which means we’re stuck with it for years to come.

    • Absolutely right. The Sprint analogy is so wrong & damaging, why didn’t they stick to the more neutral term “iterations”?

      The same is the awful term MVP (Minimum viable product). For me it shows deep disrespect for the customer: let’s see if the customer buys the MVP and after that we decide if we will improve it. It also shows laziness, not to deeply think about what the customer needs. It’s so unaspiring, other disciplines of craftsmanship would never survive with such an attitude.

      • Thanks for that. I agree with you about Sprints.

        Personally, the thing I like most about AGILE is MVP. One of the first projects I did as a consultant was to write sales software for a company that sold software to lawyers for researching legal cases. I knew very little about sales and I am certainly no lawyer.

        Their original requirements didn’t look right to me. I wrote mock-ups that I thought were better and they liked them. They asked for some changes which I did. I wrote my original version which they liked. It did not have everything they wanted. That came in version 2.

        They gave me some written policies which had to do with billing. I wrote the software that way, but they said that’s not the way they do it. It turned out that their own written policies were not how they actually did things. Nothing underhanded. They were selling to lawyers after all, but it just wasn’t the way it was done. So I made changes.

        In another case I was with a company. We did a project for one of the VPs. We got the requirements from our PM. The VP hit the roof when she saw it and I couldn’t blame her. The project did not do what she had wanted. After she explained it to the engineers, it was obvious the PM had screwed up big time. It was plain to see that what the PM had asked did not accomplish the goals of the VP. If it had been broken into smaller pieces we would have seen this much earlier.

  442. absolutely true, but the problem is project managers scrum is just a symptom. pms are so egotistical they think they can tell you how long a task will take due to their success in a limited scope. they also feel they are entitled to tell you how to work, what tools you use, even how you act outside of work in society. when you take your car in for repair you dont tell the mechanic how to do his job. this has become a problem since the 60’s i blame mostly on hippies, they are the original special snowflakes at large, the give me im entitled mentality now has created basically indentured servitude where the govt (another form of micromanagers) in entitled to 40% of the fruits of your labor (property) causing our best producers to leave. I dont feel i will ever return to the workforce because of this, sick a fork in me im done (being micromanaged for 20+ years and consonantly being defrauded as a contractor with no healthcare working 60+ hrs a week, my hands are broken requiring surgery which i cannot afford). I have injuries and use my own tools to produce, (due to this condition) yet every-time one of these scrum idiots gets in power they constantly throw away my snap on tools and replace it with harbor freight leading to broken tools and missed deadlines and broken employees. Have fun supporting me the rest of my life!!!!

    • Wow! It sounds like you’ve had an absolutely miserable career. You must have been dealt some terrible circumstances if you had to put up with all of that. Sorry to hear that!

      I’ve been in the software industry since the late 80’s, from companies with 5 employees to ones with thousands, and only once did I encounter a PM like you describe. Even then, he wasn’t a PM, he was a moderately skilled CEO/founder with an ego second only to Trump. I’ve worked a pretty solid 40 hrs/week my whole career as a programmer, except for rare occasions when something needed to get done. I’ve pretty much always received credit for the work I’ve done, and been fairly (and sometimes generously) compensated.

      Every scrum product owner I’ve ever worked for was a true servant leader, listening to the needs of their teams, and staying out of our way when we were on a roll. Though, to be fair, I’ve only ever worked full time on scrum teams at four different companies. In all cases, though, the teams were happy and very productive. I’ve had nothing but extremely positive experiences on scrum teams.

      To bring this back on topic, none of what you describe sounds like the fault of scrum. It sounds more like good old fashioned bad management and incompetence. Teams like what you describe are definitely not using scrum properly, if at all.

      • Good reply to this article.
        Like yourself, I have been in the IT industry for many years and like yourself I have worked with small teams and large teams in small projects and large projects made up of development teams collocated and offshore. On every single instance I have seen that is not the tool or instrument that is responsible for the success or failure of a project. It is how managers and teams conduct themselves.
        Agile instils the creation of a structural model that is not based on processes or tools but is rather a model based on people and behaviors.

  443. Many process aspects of Agile and Scrum exhibit the qualities of the Emperor’s New Clothes. Agile should be planning intensive. If it is not then it is not Agile, it is the institution of excuses for doing very little. Cohesion and visibility of the design do not come from these requirements to code merchants. The differences between Engineers, Developers, Architects, and Programmers is rarely perceived and is in fact enormous. Too many programmers cast as any one of the first three equals chaos. Programmers think from the inside working outwards. Professional Engineers, Developers and Architects think from the outside working inwards and get to where they need to be a whole lot quicker than the programmer. Try playing Simon Tatham’s (creator of PuTTy) netgame.exe from the inside working outwards on at 28 x 38 matrix and compare with the ease of working from the outside in. A good read of Death March by Edward Yourdon is worth the trouble also.

    • Your comment clearly indicates that you do not have a comprehensive understanding of what Agile is. First and foremost the word “Agile” as used in your comment is not correct since the word is an adjective and not a noun.
      When you used the word “Agile” as a noun in the context at hand it brings the incorrect connotation and meaning. There is no such thing as “doing” Agile in software development. Instead organizations and teams use a framework called Scrum which uses Agile principles.

      In regards to Agile – What was agreed back in 2001 by a consortium of experts was a set of guiding principles titled “The Manifesto for Agile Software Development”. These guiding principles were not born out of the software industry but rather formed through years of practice out of the construction and infrastructure industry and as such they can be employed in any non- cyclical endeavor.

      • Had enough of this garbage so I had to reply. Let me see – scrum failed because “you don’t understand it” or “you did it wrong”. The same could be said of waterfall.
        I would also say that the scrum/agile principles seem to be frequently and easily perverted and corrupted by many (maybe most) of the companies touting the system.
        Additionally, I cannot remember any methodology since I started working in the software industry (in 1978) that has had so many experienced and successful software engineers exhibiting this level of distress. And software quality (overall) certainly seems to be declining in tandem (reference Windows 10 for a great example).
        Lastly, there are all of the consulting firms teaching scrum/agile to the industry. Reminds me of the emu craze a few decades ago. The only people who succeeded were the people who sold the breeding emus (think scrum trainers) to the emerging emu ‘farms’ (think software companies).

        • Couldn’t agree more. I would love to see how many of the people touting how great Scrum is on this blog are actually developers. Developers are so disempowered in Scrum. They are told what to do and when – first by the PO, then by their Scrum Master. They get next to no say in what they get to work on – only how they do it. I still maintain that Scrum is great for POs, BAs and Scum Masters (who are most often not developers), but not the developers themselves. Their work has become piecemeal.

          • BAgile, you wrote ” I would love to see how many of the people touting how great Scrum is on this blog are actually developers. ”

            I can’t speak for others, but I’m a developer. I also have product owner and scrum master certifications, but I’m primarily a developer. I don’t put much stock in certifications, they were mostly just a by-product of me taking classes that interested me. My experience as a developer working in scrum was unquestionably the most rewarding point in my career so far. Though, my current gig which doesn’t strictly use scrum is a close second. We’re agile, but don’t use scrum in part because we are all remote workers.

            “Developers are so disempowered in Scrum. They are told what to do and when – first by the PO, then by their Scrum Master. ”

            If you are making that claim then you don’t understand scrum, because what you said literally cannot be further from the truth. Neither the product owner nor scrum master have the power to tell team members what to do. Of course, the product owner has a voice in _what_ is being built, but not how it is being built.

            “They get next to no say in what they get to work on”

            Yes and no. Certainly, developers don’t have much say in what product is being built. That’s pretty much true for any employee in any business endeavor. If you want to build whatever you want, then you’re going to need to start your own business. Though, in a company that fully embraces agile, developers do indeed get at least some say. I worked at a company that regularly let developers propose new features.

            However, once the product and its features have been defined, individual programmers should have absolute ultimate control over what part of that product they work on. They are the ones that pick which stories and tasks to work on (either individually, or as a team as a whole). If they don’t, you aren’t doing scrum.

  444. I thnik the most important part was missed in the end: “if everything looks like a nail…” Agile – being fit for “War Room” actually DOES ENCOURAGE “War Room Mentality” and PERMAMENT “War Room Conditions”.
    Also: organization that is not agile or not able to enforce any managerial practices, won’t be able to implement correct Agile approach. And a Agile

  445. I do not doubt that the author of this article decided to post it with the best of intentions. However, as well intended as this writer may be. Procuring such severe criticism from a single point of view (software engineering) does not add to a comprehensive understanding of the alleged circumstances described therein, specially when no practical solution or adequate counseling is provided.
    Like any tool invented by man, these instruments (Agile/Scrum) are like double edge swords; they can be used well or they can be misused to do things the wrong way. But lets be mindful and realistic that these tools are neither agents of good or evil.
    However, the writer has authored this article in such a misleading manner that just looking at how the readers have responded that I can now see people clamoring to remove and abolish this evil thing called Agile/Scrum.
    There is nothing wrong by being critical – just let us do it in a constructive way.

  446. Pingback: Scrum/Sram – useless thoughts

    • I think a better use of the shotgun analogy is that I can sell you the greatest and most awesome shotgun, but if you point it at your head it will kill you. I suppose some will argue that a “scrum shotgun” is too easy to point at your face, and maybe that’s a fair argument. I will agree it’s easy to do scrum poorly, and maybe that’s the core issue.

      From all of these comments it seems pretty clear that nearly everyone that has had success with Scrum was doing it more or less by the book, and most of the failures have been because they used “scrum-but” — something that looks like scrum but with some or many changes. It seems like the greatest common denominator in all of the failures talked about here is bad management and/or bad product owners. It’s hard to get good results if your manager forces you to aim your shotgun at your face.

      Like all methodologies, it’s no silver bullet. When done right, and with teams that work well together and have good product owners, it has proven itself to be very effective. Conversely, when teams don’t work well together or have other failings such as poor product ownership or management, it can fail spectacularly.

  447. the most soul destroying work and workplace i’ve ever been involved in. It’s only as good as the leadership from the top, which invariably doesn’t exist for fear of error, lack of courage, knowledge and a wish to avoid responsibility for anything which may fail. No promotion without playing the grey man you see… Scrum is good for small companies with empowered engineers, a clear end state and as little senior management involvement as possible. Otherwise it’s a shit show with too many cooks, too many chiefs and late or no plates being served on time.

  448. Wow. Just, wow. What a refreshing detailed viewpoint of your observations regarding technical asset management and time allocation. As others have, I am sharing this far and wide. My ultimate dilemma and the resulting question is, “what hybrid or a new model of management should be adopted that covers these issues in the most real-world, useful way?” Daunting.

  449. Oh, good lord, yes.

    Unlike most of the people here, I am someone who is trying to get into software dev–or, rather, was trying to.

    I found an organization I won’t name here offering “free Android dev” courses online, supposedly requiring no technical background, and offering job placement assistance for those who get through all the course material and do acceptably well on all assignments through the end of four months of online classes.

    In the promotional material we are told that we’re going to learn about Java, about Android, about the MEAN stack. A month of twice-a-week online lectures, and EVERY. SINGLE. ONE. is the instructor going on and on and ON and on and ON and on about how much he loves Agile, and how dumb Waterfall is, going down the list and ticking off the same boxes every class, from the list on Page 13 of Agile for Dummies. “Oh, and here’s your homework assignment, install Android Studio and write an app with it. It’s due Thursday.”

    What? Excuse me? I never heard of Android Studio before you told me about it just now. I thought these classes were going to TEACH ME Android Studio. Questions about it are met with a suggestion to “network with your classmates,” i.e., select some random individual who signed up for this class, who doesn’t know me from Adam, and beg him to teach me Android Studio, Java, Object-Oriented Programming, Javascript, and Mongo, with enough time left over that I can do the assignment and have it done 72 hours from now. All the stuff I thought this course was supposed to teach me, in other words. Nope, you’re on your own, Google for it or something, I dno lol.

    It gets worse.

    I may be older than some people here. I learned to program back before IDEs, back when debugging your code meant staring at the error message on the screen, or the otherwise unexpected output, and going through your code line by line, thinking very hard about what was taking place, instruction by instruction, to figure out why the program wasn’t doing what you expected it to do. I learned structured programming. I see line numbers in my head when I write pseudocode and still imagine the instruction pointer ticking down through them. I still don’t understand OOP, and the bits I do think I grasp seem ugly, counterintuitive, and inefficient (“Abstraction means you don’t have to know how an ‘object’ works to use it!” Yeah, until the program starts throwing errors and you have to figure out why and fix it, I guess, or am I misunderstanding that part?). Maybe my expectations were too high when I asked whether in the course OOP would be explained in a manner comprehensible to someone who got off a time machine from 1979, who cut his teeth on BASIC and LOGO and then moved on to Pascal and C and assembly language, who retains great affection for the old IBM “big iron,” and was assured that in the course all would be made clear.

    I do understand how we design something that has to work, though. Despite the instructor’s attempt to create a caricature of the “Waterfall” approach–a term I never heard before starting the course–to show “Agile” as an improvement on it, it still seems to me that formalized step-by-step planning, with testing and documentation at each stage, is how we create things that are important, things that have to work. “Agile” seems, underneath all the balloon juice, underneath all the buzzwords, to mean “slapped together in a hurry, without testing or documentation because those don’t make the company money, to be shipped as quickly as possible whether it works or not, so that the company can cash the checks and pick up another project.” Agile seems to mean “hurry up, hurry up, send it now, it’s not like we care about the people paying for this. The sales department promised we’d ship it today!” And that’s with an instructor who is a complete Agile fanboy trying to make everything about it sound as wonderful as possible. This is a train wreck. This is a recipe for Things That Won’t Work As Promised, and for getting your name known as That Guy who Worked on the Failed Project, which is always helpful when searching for a job.

    And I give up. I can’t do this. I can be “on my own” without having homework assignments due twice a week, without having to tell potential employers that I’m not available Mondays and Thursdays because I’m a student. I’ll go back to IT. I’ll go back to getting screamed at over the phone by people who forgot their passwords, while competing on wages with Pajeet from Punjab who gets paid two cents a month. Maybe I’ll be able to support myself this way a few more years.

    • I’ll say this right up front in case you don’t want to wade through the rest of my post: your instructor doesn’t appear to know anything at all about agile. Don’t listen to them.

      You wrote ” “Agile” seems, underneath all the balloon juice, underneath all the buzzwords, to mean “slapped together in a hurry, without testing or documentation because those don’t make the company money,”

      That couldn’t be further from the truth of how scrum is designed to work. That is not agile at all. Not in the slightest. It may be the way some teams work, and it may be the way some free online courses teach it, but that’s not scrum. Not even close. Not even remotely close.

      Agile is very much about planning. The main difference between it and waterfall is that waterfall typically does all planning for an entire months- or years-long project up front. You then typically spend months trying to implement the design, with very little feedback from the customer. In the mean time, things change, technology evolves, customers learn more about what they really need, but you’re often stuck finishing the design you started with because you’ve already sunk so much time and effort into the design. Not always, but often enough that people decided there had to be a better way.

      On the other hand, scrum is about planning in small, incremental chunks. We decide what’s most important or most needed, plan how that is going to work, and then we build it and test it, and verify that small piece with the customer. We then stop and do a self-assessment on how that went, and decide if there are ways we can improve. Then we plan the next iteration, and so on. In effect, instead of one year-long waterfall there are many mini-waterfalls, each resulting in a chunk of work that was designed, tested, production-ready, and if necessary, documented.

      I realize that that’s not how many scrum teams work, and that’s why scrum gets a bad rap. Teams like to say they are scrum much like the kid next door likes to say he’s a musician and plays in a band, even if he’s only taken free guitar lessons for a couple of months. However, saying you’re using scrum, and actually using scrum, can mean two entirely different things.

      Scrum’s biggest failing is that, despite its apparent simplicity, it is hard for many people to grok. This seems especially true for management. They see scrum and they think “no design” and “no testing” and “no documentation”, but scrum doesn’t say any of those things. If anything, scrum says “absolutely do design”, “absolutely do testing” and “absolutely do documentation”. Only we do that as we go along rather than saving that up for the end of the project, when the project is overdue and over budget and people forgot about features that were finished off six months ago.

      • You dont get it. The AGILE experts still grab 900$ for each Scrum participant. They are already happy if they can just sell you the concept of time boxing in a command and control company. They just want to sell you more and more of the silver bullet. I am talking about the well known people of the public that give lectures at google each year. Not the stupid Scrum newbee that is a spanner in the works. They do not really care if your company isnt fully agile. They sell you everything what is worth selling or what they can sell. And i know him personally (i was a student). Agility is just a pay lip service.

        • “You dont get it. The AGILE experts still grab 900$ for each Scrum participant.”

          No, I absolutely get it. It’s the difference between the methodology, and the industry surrounding the methodology. The methodology itself is sound, and works exceptionally well for many people (not everyone, but that’s true of any methodology). Sadly, the industry that surrounds it has a lot of flaws. However, just because they do a poor job teaching scrum doesn’t mean scrum itself is inherently flawed.

          “They just want to sell you more and more of the silver bullet. I am talking about the well known people of the public that give lectures at google each year.”

          Without knowing specifics, I can’t comment. I’ve seen plenty of good lectures on Agile and Scrum, and I’ve seen bad ones. That’s true of about any field that has both experts and “experts”.

          If your boss requires that you use a chainsaw, and refuses to train you on how to use the chainsaw properly, and doesn’t provide safety equipment, and forces you to use it in an unsafe manner, you shouldn’t be blaming the the chainsaw if you end up cutting off your own foot.

          I agree that the agile _industry_ has some serious issues, but that doesn’t mean that Agile and Scrum themselves are inherently flawed. I’ve seen through practical experience at multiple companies that scrum can help teams thrive when it is done more or less by the book and with management buy-in.

          “Agility is just a pay lip service.”

          It can be, but it doesn’t have to be.

          • Scrum become a well known treadmill to burn untrusted developers and make them just look more productive for their own right to exists (please read the article again. MOC is still right in my view). It’s counter productive for passionate and great developers. Your definition of agile belongs to a minority and is wishful thinking. Ok, good intentions are kept for life. You have noticed yet – agility is a big business show. In other words, there is no better way to bluff with your image and pretend the increase of productivity and compare direct costs to a budget and to check for the required delivery date. I would not want to buy those lousy products from the most “high productive” Scrum teams. I also understand why developers do not take Scrum seriously and only come for their pay checks. On a side note, Scrum is also based on the situational management approach, but the kindergarden rituals remain still fixed. You should remove them for everyone and find other ways to have a good and natural communication. I am not against processes, but against micro managment in any stage of experience. Scrum is a creepy dead march where i do not need a chainsaw with a jammed chain. The dead marches before scrum had at least passion.

            • “I would not want to buy those lousy products from the most “high productive” Scrum teams.”

              You would be missing out, assuming you need the software we produced. In one case, the company and product is the global leader in its space by a very long shot.

              I understand that you and others have worse experiences than me. All I can say is that I have seen scrum work fantastically when everyone involved buys into it. I do know a few people who weren’t happy working there, but the vast majority absolutely loved the working conditions (witnessed by a bevy of 5 year and 10 year anniversary posts I’ve seen on linked-in over the past few months).

              “I am not against processes, but against micro managment in any stage of experience. ”

              Scrum is the polar opposite of micromanagement. I think you’re criticizing something you don’t understand if you think it is micromanagement. As a developer on a scrum team I never felt more empowered and less managed. As a product owner I didn’t have to do any managing at all, beyond saying “I need it to work like this”. I had a great experience in both roles, and in multiple organizations. I’ve been a developer on a scrum team at four large companies, and a product owner at two. I am not a consultant and never was, for whatever that’s worth. I don’t make any money promoting scrum.

              “The dead marches before scrum had at least passion.”

              It’s unfortunate you’ve had such a terrible experience with agile. I can say unequivocally that some of the most impassioned engineers I’ve worked with were on the various scrum teams I’ve been a part of. I can also say with certainty that all of the least impassioned engineers I’ve worked with have been on waterfall projects.

              • I have only bad experiences with Scrum and not with smart and flexible teams in general. The teams that did not use Scrum, but agility were inspiring and highly motivated in my experience. Quick google search a citation of a member of the agile alliance: “Yes, agile is about micromanagment, but it’s about the team micromanaging themselves and for “THEIR OWN BENEFIT””. Trust is not free but must be hard earned by the employer for a reason. It is a retained debt due to bad experiences with employees in addition to the finacial control mania that real agility never allows anyway. And why should a scrum trainer know what’s best for any team and for any project?

                • “I have only bad experiences with Scrum and not with smart and flexible teams in general.”

                  That’s unfortunate. I guess I’ve been lucky in my career. I’ve mostly worked on really excellent teams both with and without using scrum. Perhaps that’s partly because I mostly worked in the midwest rather than one of the technology hotbeds.

                  “Quick google search a citation of a member of the agile alliance: “Yes, agile is about micromanagment, but it’s about the team micromanaging themselves and for “THEIR OWN BENEFIT””. ”

                  Right. The traditional definition of the term “micromanagement” refers to a manager managing every aspect of what a team does. That is the definition I was using in my earlier comment. As you can see from the quote you posted, scrum is about a team “micromanaging” itself. This isn’t micromanagement in the common sense of the word, and proves my point that scrum is the polar opposite of micromanagement: it is essentially no management — the team manages itself.

                  “Trust is not free but must be hard earned by the employer for a reason. ”

                  I can see how some people feel that way. Personally I believe the opposite — I choose to trust people until they have earned my mistrust. That’s largely unrelated to the scrum methodology. No matter which methodology you use, the participants need to trust each other. No methodology will be effective if the people in your organization don’t trust each other.

                  “And why should a scrum trainer know what’s best for any team and for any project?”

                  I don’t know. I don’t think they should. A good scrum trainer would not tell them that. They should only be educating them on the mechanics of using scrum. If they do their job right, part of what they teach the team is that it is the team that decides how they should work. That is the whole purpose of the retrospective — to figure out what’s working and what’s not

                  • Of course i would trust in the first. But trust is diverse. Would you entrust your child to a stranger on the street for 5 minutes? Ok your Scrum by book, despite the countless good recipes, can still not produce great products from a mediocre staff. It has never been the methods that create great products.You do not take it so exactly with the Scrum Guide. So could you please explain which Scrum you mean?

                    • “Ok your Scrum by book, despite the countless good recipes, can still not produce great products from a mediocre staff.”

                      Sure, I can agree with that. Why is that surprising? I would argue that no methodology is going to produce great products if you only have mediocre people working on it. Perhaps your experience is different. If so, I hope you share how you were able to coax great software out of mediocre staff. You could probably make a fortune as a consultant.

                      “It has never been the methods that create great products.”

                      I agree that it’s never been the methods that create great products, it’s always the people. In my own personal experience I’ve found scrum to be an exceptional way to let passionate people do great work. It’s not the only way, of course, but I think there’s no denying that scrum is an extremely effect way for some teams to work.

                      “You do not take it so exactly with the Scrum Guide. So could you please explain which Scrum you mean?”

                      I’m not sure why you drew that conclusion. Arguably the most successful teams I’ve been on used scrum pretty much by the book. For me personally, if I have a choice I will always start with scrum by the book. I think it’s a fantastic way for a team to work with high efficiency and tremendous job satisfaction.

                      Over time, however, it’s perfectly acceptable to deviate from the scrum guide as the team matures and gels. After all, the whole point of agile is to prefer Individuals and interactions over processes and tools.

              • You’ve had a great experience with scrum at six out of six companies. I’m pretty sure you are lying and/or a scrum shill from reading all your posts.

                • It’s neither. I’ve honestly had great experiences with scrum. Without a doubt, the best professional experience of my life (and I’ve been working since the 80’s) was on a scrum team. No question about it. We were firing on all cylinders, regularly delivering great products. Management was happy, and everyone on the team was happy.

                  To be fair, I’ve had positive experiences without scrum too, but none quite as good as the ones where we fully embraced scrum.

                  It’s unfortunate that you’re so cynical about it. Scrum can be very liberating when you have full support of both the team and management.

                    • I guess that depends on your definition of “evangelist”. I’m certainly happy to evangelize about it. However, I don’t work for any company that sells scrum products or does scrum consulting, I let my scrum certifications lapse, and I don’t even work on a team that does scrum. So I certainly don’t make any money off of scrum. If anything, I’ve lost money on scrum since I paid my own way to a certification course a few years back when I was thinking about becoming a professional scrum master.

                      But it’s cool if you don’t believe me, I have no control over that and it doesn’t affect my life. I’m sorry you’ve had such rotten experiences with scrum. I know a lot of people are in the same boat, but I also know a lot of people who absolutely thrive on a scrum team. Scrum certainly isn’t for everyone.

                      At the end of the day, though, the best software teams are great not because of their methodology but because of the people.

  450. Reblogged this on Dennis Moon and commented:
    When I first went to an agile training class a few years ago, I came away with a feeling of excitement that this would be an ideal process to use for delivering software that is more in line with a client’s vision. But scrum is not always implemented as envisioned by the original authors (who were software developers seeking to improve communications and relationships with their customers). I came across this interesting article which articulates some of the negative impacts improperly implemented agile can have on both the people (employees) and the business.

    • The reason for this bad implementations are clear in the meantime.

      There are a lot of wrong assumptions or wrong turns in the context of agility:
      1. Agile values are the values of the future
      2. Only complexity can deal with complexity
      3. Agility can be applied to the whole company

      Managers on every level do not want to participate (Haufe 2017, P. 18). Only 10% of the worlwide companies are able to live agility (Bertelsmann Stiftung, Min. 04:19). Agility as descibed in the manifesto or as a concise work process will just NOT work (burden on employees can not be carried, they dont want and can give so much). There are a huge large number of companies whose maturity does not get going. Agility is a way to support capitalism, this was the original idea (Aulinger 2017, P. 2). This idea came from MIT and was taken into organisation theory »A manufacturing system with extraordinary capability to meet the rapidly changing needs of the market place. A system, that can shift quickly among product models or between product lines, ideally in real-time response to customer demand« (Förster and Wendler 2012, P. 8) etc. etc…

  451. Michael:

    I’m sorry to hear that your experiences with Agile, Scrum, and the people you work with have been so negative. I have experienced very few of the same problems. For our business, we were already using a lot of the concepts of Agile. And as we get better at using the concepts consistently, our accountability goes up, our creativity goes up, and our productivity goes up.

  452. This is a very good article and it must be touching a nerve when people still leave comments after four years.
    I experienced a so-called “Agile Transformation” over the last years and here are my experiences.

    1) Scrum destroys creativity. The whole idea about “sprints” is so ill-conceived as they are per definition the forever hamster-wheel. The whole team gets aligned to this strict rhythm of planning, implementing, review, retro, planning, implementing, … I for myself could see how my brain adapted after some sprints and now I nearly can’t consider anything taking longer than two weeks. I’m not even going to propose it as the Scrum-Nazis will tell me to split it up, make user-stories, opportunity assessments and all that shit.

    Experimentation & failures, trying out things, going back and forward with solutions, throw away stuff, out-of-the-box thinking, all of this requires a kind of freedom from the always repeating dead lines. My company try to improve that by introducing Hack-Days, Inno-Days and what not but isn’t it really a disaster for a company when it must give the employees special days of creativity? As this could just be triggered with a finger-snip. You need a CULTURE to foster creativity, not some band-aid for the oppressing world of Scrum.

    2) Your product stagnates & deteriorates. Scrum goes for the MVP (minimum viable product) which is the BS term for “give me the least little thing I can sell to customers”. You end up with a product of many unfinished businesses because nothing is more boring for a PM than existing features. I see that with our product which really isn’t changing much anymore; there is no “we want our product to be there in one or two years”. There is no goal of excellence. It’s just sprint after sprint after sprint with minimal increments just to satisfy the process.

    3) Architecture. Agile wants autonomous teams which can work on their own with near zero dependencies. In this setting the overall architecture of the system is a second-thought and there is no-one who maintains & protects the architecture. I asked Scrum coaches about how to handle architecture and they just post-poned my question until the end of the workshop where they didn’t answer the question. Because: Scrum coaches usually just don’t have a clue about what software architecture is. That’s OK because it’s not their profession but these people are telling you how to run your R&D department and set up your teams. This is absolutely crazy.

    4) Maintenance. As with architecture there is no place for maintenance in Scrum. As I said nothing is more boring than an existing feature and therefore the “this is good enough” or “we will look at that bug when we have time” mentality persists.

    5) Scrum-Nazis. When Scrum is applied in a pragmatic way it’s kind of OKish when you ignore the effects 1-4. But as soon as Agile dogmatists push Scrum into your throat it will turn into a nightmare. They invent meeting after meeting. They want to measure velocity by making you write down every 2 hours you spend. They bring all teams together in the so called Big-Room-Planning meeting … can you imagine planning, thinking, estimating and so on in a highly-crowded train station? They are constantly breeding new ways of “agility” and your team is the guinea pig. They are basically endlessly perfecting their way of micro-management, all under the banner of “agile”.

    I’m almost done with Scrum now and with the negative effects it has on me & my team. The fun of software development is now more and more reduced to private projects.
    I know some of you will say now that my company just does Scrum the wrong way. But for me this is like saying that the USSR just didn’t implement communism the way it was meant. I’m sure that there are successful Scrum projects, but I am convinced when it goes wrong, then it goes wrong very badly with a huge damage to the company.

    • It sounds like you had a terrible experience. Did you have an experienced scrum master and an experienced product owner, or did your team just dive into using scrum without much training or expertise? It sounds like you had some really unskilled people driving your transformation.

      You mentioned that the article touched a nerve, and that’s definitely true. It seems that the people who have had bad experiences have had exceptionally bad experiences. Personally I don’t attribute that to scrum nearly as much as I attribute it to bad managers and/or bad teams.

      People that have had a bad experience see to blame the entire experience on scrum, when often it’s the case where they didn’t have the opportunity to learn how to do scrum properly. I think the opposite may also be true: individuals that had a great experience with scrum may attribute it all to scrum when in reality they just had a team of strong, like-minded individuals with a strong leader.

      I can say in my own experience that perhaps the single most creative, productive teams I’ve been on over the last 30 years used scrum. I’ve also been on productive, creative teams that did not use scrum. I haven’t been on any teams that used scrum for which scrum didn’t work, but maybe I just got lucky.

      Scrum certainly isn’t for every team or every company, but there are enough teams out there that are thriving to show that scrum in and of itself isn’t necessarily the only culprit.

      • For me the breaking point was when the micro-management started.

        Before that I could cope with the odd elements of Scrum as it didn’t affect my way of working much. But then someone higher in the hierarchy read a book about LeSS and then wanted to align all teams. And here the drama starts as our PO and Scrum-Master have quite strong (and good) opinions what makes sense for them and what not. So it’s basically pragmatists against dogmatists. And the dogmatists are not required to back their crazy proposals with any facts. It usually starts with “let’s try XYZ and see if it works for us”, then XYZ is established but then no inspect & adapt is happening. So XYZ is now something that we do for the foreseeable future.

        Translated to software it’s like accumulating technical debt without refactoring.

    • >1) Scrum destroys creativity.

      Scrum has never been about creativity. It is about micro managing incremental progress of product development. That is why it works OKish for bug/feature driven development of mature products. If you are looking to come up with new product or engineering breakthroughs, Scrum is the last thing you want to consider

      > 2) Your product stagnates & deteriorates.

      Though I agree with you in general, not sure about this particular point. It is possible to add incremental features to an existing product via Scrum. In fact, this is where I found Scrum shining abit. But there is another side to it. As technical improvement is ignored, the maintainability suffers in the long run. So a product could end up as death by 1000 cuts at some point

      >>3) Architecture. Agile wants autonomous teams which can work on their own with near zero dependencies. In this setting the overall architecture of the system is a second-thought and there is no-one who maintains & protects the architecture. I asked Scrum coaches about how to handle architecture and they just post-poned my question until the end of the workshop where they didn’t answer the question. Because: Scrum coaches usually just don’t have a clue about what software architecture is. That’s OK because it’s not their profession but these people are telling you how to run your R&D department and set up your teams. This is absolutely crazy.>>

      To begin with, Scrum coaches are wrong person to answer your question. Asking whether Scrum would work to a Scrum master is like asking a Barber whether you need a haircut ;-).
      Scrum masters do not understand or could not care much about Architecture or engineering aspects in general, because most of them are failed developers or developers who realized that programming is not their thing.

      I personally think that some of the Agile evangelists like Martin Fowler may have made a calculated effort to keep Architects out of the picture because strong enterprise architecture group stands on their way in terms of consultancy contracts.

      But as you mentioned, sometimes those Scrum people (whether they call themselves coach or Masters) end up deciding critical engineering related things with very catastrophic consequences, sad but true.

      In very worst case, this can result in sales driven engineering decisions such as those happened in Boeing with 737 Max (..where they ignored architectural concerns such as redundancy, resiliency and recoverability to meet time to market and reduce costs. Most Scrum masters I have seen are good politicians who know how to please non technical stakeholders) )

      >>I’m almost done with Scrum now and with the negative effects it has on me & my team. The fun of software development is now more and more reduced to private projects>>

      Negative effects are many. In general, Scrum made sure that development teams do not specialize in anything and engineers remain mediocre, in return for “violent transparency” and a promise of Sprint goals (which are rarely challenging to begin with). This is where I agree with some others here. It made marginally employable engineers employable, while frustrating or demoralizing really good ones

    • Sounds like we’re working in the same company…

      When you talk about Big-Room-Planning, do you talk about SAFe?
      I have this meeting next week. The whole event (2 1/2 days) is just a big show for the management. Everything is already planned in the weeks before in the smallest detail for each employee for the next 2 to 3 months. Divided into sprints, stories, etc. of course. That’s micro-management in perfection! Of course this has nothing to do with agility anymore, but with total supervision and full control.

      Personally, I am totally frustrated due to Scrum. I’m also afraid for my job because the real productivity in development has dropped to a very low level. Zero product output is available in India for less money and sooner or later the management will notice that too…

      The only bright spot: The latest directive is that we have to book the hours we spend with Scrum and SAFe to a separate cost center. I suppose someone from management wants to know what the price of “agile” is…

      • Your mention of Big-Room-Planning just reminded me of “Fist of Five”. You guys have to look up the formal definition, but informally it’s when the cult exposes your dissent in front of all your peers and management, and challenges you until you succumb to agreement on the impossible scope of work (not to be confused with Pointing – a similar tactic but this is on a larger scale).

        No other knowledge worker self-regulates (i.e. sabotages) themselves the way software engineers do.

      • SAFe, LeSS, … honestly I don’t care about all these shitty acronyms. When you look at all these “Scaling Agile” methods is very clear to me that this is just a big business for Scrum consultants. They all have their hand-drawn diagrams with funny smileys which look so hip; but when you look at it objectively it’s nothing more than applying assembly line principles to software development.

        2 1/2 days for Big-Room-Planning …? Wow, that’s hard. I only have it for one day every month. And as you said it’s just a big show for management because the real planning is done before and/or after.

        I recommend reading the transcript of Martin Fowler’s “The State of Agile Software in 2018” talk. The essential statement for me there is: “Get rid of the Agile Industrial Complex [SAFe, LeSS, …] and the idea of imposing stuff on teams. Let teams work out the way they should work themselves.”

        Will the pendulum swing back at any time in the near future?

  453. Pingback: Professional Development – 2019 – Week 26 – Geoff Mazeroff

  454. What an excellent article – has absolutely summed up many of the criticisms I have made about “Agile” over the years I have attempted to work in organisations that are slaves to it. The stupid “waterfall” straw-man, the scrum meetings at 11am just to disrupt the entire working day, the “backlog” (technical debt) which is externally visible so that people dare not put things on it, leading to a secret backlog with important stuff and a public backlog with trivia… “points” that are neither time nor cost but some logarithmic wet-finger scale, with estimating by the whole team, resulting in a Dutch auction but with the work assigned to the most competent (usually me) who actually bid a more reasonable, higher figure but is expected to do the work for the lowest bid… oh dear me, when will we learn?

  455. Pingback: Truth, Lies, and Scrum – Agile Out Loud

  456. Scrum/Kanban style project management is like George Orwell’s 1984: A good excuse and a good marketing to sell it, but a horrible thing to be using.

    As this said, this is only about excesive control paranoia disguised as project workflow management needs, in the end, it is up to project manager/owner to force developers to type in the system how many times they breath in every working unit…

    • Yeah, with some trust in your employees you wouldn’t need any of it. It’s pretty much based on the assumption that people just sit around and do nothing, unless you control and pressure them.
      There are people like that —> however they’re not productive employees in any case and scrum ruins those who actually like they’re job, by turning it into a “sprint”.

  457. From looking at the comments, it seems that most of them are from disgruntled developers who don’t want to be visible until they come out from their darkened room to present a piece of work which doesn’t actually do what the customer wants. – Yep rework keeps you in a job short term, but as you are usually a few steps removed from the customer you don’t experience the pain that the rest of the stakeholders experience.

    Well welcome to the real world of accountability and responsibility! – Software Development (and before anyone asks, I was a very successful one before I moved into other IT fields) is one of the few fields where you can hide from this and then at the end of the project point to the BA as being responsible for not providing a good enough spec, or the customer changing their mind.

    That time is over – incremental and iterative development – Scrum, Scrumban, Kanban, XP, whatever are all good methods to have under your belt – interchange them, use bits of each – be agile about Agile. Retrospectives are there to improve the process for you, if you want some sort of frankenmethod of development, go for it – see “Spotify” – if it adds value and makes you more efficient.

    Waterfall still definitely has its place when the spec is cast iron, the ground is well trodden and the estimates are therefore accurate, but how many projects are like that? – The market changes, the customer changes their mind, the customer didn’t know what they wanted at the start and wanted something to look at before deciding on the rest of the system. This is the real world – real life, however much you may want it otherwise, iterative and incremental is usually the way to go.

    To be agile, you need everyone to be on board – including upper management and the customer, who need to recognise that using agile methods means that the variable is scope rather than cost and time – as many tend to ignore this major fact about agile, they tend to fix all 3 and therefore quality becomes the variable.

    It is clear from the discussions above that there are a lot of people unwilling to change. These people will make agile fail because they simply don’t understand that all projects have variables – usually scope and spec. If you can’t adapt to this, then you will fail whatever method you use.

    Those who are not willing to learn from the past are doomed to repeat it…..

    • “From looking at the comments, it seems that most of them are from disgruntled developers who don’t want to be visible until they come out from their darkened room to present a piece of work which doesn’t actually do what the customer wants”

      I think that’s a bit harsh. While there are definitely programmers like that, and I do agree that some of the negative comments here are from people like that, I don’t think that describes everyone who is responding negatively.

      At least in some cases, people have simply had a bad experience by being forced to use something they were told is scrum but which isn’t scrum. From a management perspective, scrum can be hard to do since you give up a lot of control to the team, and many managers and their organizations are simply not up to the task.

      While there are complaints here about micromanagement, endless meetings, accounting for every hour, excessive control, and so on, none of that is scrum and all of it is simply bad management. No methodology is going to work when you have a bad manager or when good managers have bad managers. When I found myself with managers like that, I hated it too. However, I was able to see through the charade and knew that even though the manager said we did scrum, that couldn’t have been further from the truth.

      It also won’t work if you have a collection of individuals who simply don’t want to work together as a team. Just because a group of people work on the same thing or report to the same manager doesn’t make them a team. To do scrum, you must have people that want to work together for a common goal. Without that, scrum simply can’t work.

      I’ve been on four highly productive and happy scrum teams, and in every case, I did not feel micromanaged at all. Not even slightly. The daily standups took at best 15 minutes per day and they weren’t status report meetings, they were truly a chance to sync up with my teammates. Most days we all looked forward to the standups. Our planning meetings were timeboxed and always fruitful, and the demos and retrospectives were a very productive and valuable use of our time. We attended the demos of other teams, and it was a fantastic way to keep up to date with what our peer teams were doing.

      I don’t deny that there are many people that have not had the luxury of being able to do real scrum. I also don’t deny that the scrum model just doesn’t fit with how some people work. The people you’ve described are what I’ve heard described as “coding cowboys”. They will never like scrum or any other methodology other than “tell me what to build, I’ll tell you when I’m done”. And to be fair, a lot of good work has been accomplished by people like that.

      Without question, the most productive, happy teams I’ve been on have been scrum teams. I’ve also been on productive teams that didn’t use scrum. It’s not a silver bullet, but it has been proven to work when done properly. And conversely, it has been proven to fail miserably when not done properly.

      • Check out glassdoor.com and look at some reviews of large companies. You’ll see that scaled agile is in full swing. You will also see that scaled agile is a dream come true for management. Scaled agile as succeeded in making software development into a “factory” model. The same things that happened to workers long ago in industrial factories, is now happening software engineers. The management will always ride the limits of the workers, and that is what is now happening throughout the software development industry. Management will eek out every scintilla of productivity from the software developers without regard over their well being or future. I hate to say it, but the time is coming when software developer workers will unionize.

    • “Those who are not willing to learn from the past are doomed to repeat it…..”
      Yeah and you never do.
      What mistakes do you mean?
      All those mistakes made before “scrum”? Like IT-technology rising to a controlling force in the whole world? Not enough Customer-Satisfaction? Not enough Stakeholder-Value? I doubt that.

      At some point people like you realized: “Oh damit! Those disgruntled developers who don’t want to be visible until they come out from their darkened room actually changed the world! And i can’t control them, because I never cared to remotely understand what they’re doing.”
      When careerists realized that computer-scientist is now a well paid and important job, they started pushing themselves and their kids into this profession. Now we have tons of people without any interest in programming –> programming. So what do they do now? So they give advice. And that’s how we get “Scrum”.

      Your eternally-babbling-buzzword-bullshit-bingo is now part of the IT world. Not because it makes ANYTHING better, but because they feel entitled – like some people always do. Are customers more satisfied now? Nope.
      They need an app for an app for an app and then a plugin for that. They’re dependent on customer support, because they don’t understand anything about the technology anymore. Unless there are 3 BIIIIIIG buttons that do everything for them, they’re lost, because everything that would give them power is now HIDDEN as deep as it gets. That’s NOT a step up.

  458. Is it just me or does SCRUM have a bunch of things in common with plain, old-fashioned Communism? Let’s have a look:
    – of course, every methodology being praised as the next big thing needs to have a manifesto
    – whoever criticizes the methodology has to be hateful, or has no clue or whatsoever
    – trying to get rid of the methodology means being a dissident
    – the individual is nothing, the collective is everything
    – there’s no room for individual thinking or individuals to excel
    – the idea of the self-organizing team is and has always been an illusion
    – commissioner ensuring the methodology is implemented and executed properly
    – working according to short-term plans without thinking beyond
    – constant, repetitive routines are an important factor
    – everyone should be responsible for everthing (meaning no one is responsible for nothing)
    – if it fails, the reason is always because it was not implemented correctly

    I don’t care if the intention of whatever methodology you name is actually good, if the results of even implementing it lead to disaster.

    • “Is it just me or does SCRUM have a bunch of things in common with plain, old-fashioned Communism?”

      Oh good grief! No, it’s just you. They have nothing to do with each other. So much of what you wrote simply isn’t true or reflective of scrum. Or communism, for that matter.

      “I don’t care if the intention of whatever methodology you name is actually good, if the results of even implementing it lead to disaster.”

      I agree with you on that. For some teams, implementing scrum will indeed lead to disaster. We have proof of that. There are developers and projects where scrum simply isn’t a good fit. But we have proof that for others, it has led to an increase in productivity and product quality.

      Scrm is not a silver bullet, and it’s not for all teams and all individuals.

    • Hehe, you have a point here. I recently compared our Scrum process to North Korea.

      The most recent craziness of our Agile experts (sic!):
      – During the loathed Big-Room-Planning you are monitored how many laptops you use and how often you are standing instead of sitting at the table.
      – They invented a currency in form of poker coins which each team must pay to another team if it needs their help. That way they want to analyze who talks with who.

      Thereby we officially left the “kindergarden” level and achieved “totalitarianism”. So yeah, North Korean style.

      I know that Bryan Oakley will pity me that I don’t experience a true, wonderful SCRUM environment but honestly I don’t care. If any methodology (or for me now ideology) can cause such truly irritating stuff then the problem starts at the root.

      • That has been my point all along after my ‘stage 4 scrum’ experience and listening to other software developers. If the methodology is so easily corrupted, it doesn’t matter how good it *could* be. One of the reasons might be that it gets management and other non-development people too involved in the core process of software development.

        • ” If the methodology is so easily corrupted, it doesn’t matter how good it *could* be. ”

          That’s true, but it’s true of waterfall as well as scrum and everything in-between. No matter how good any methodology is, when you have bad leadership you’re going to have problems. The best methodologies in the world can’t stand up to incompetence. At least with scrum there are built-in mechanisms to help address the incompetence, but if you don’t use those mechanisms or aren’t allowed to use those mechanisms, that’s hardly the fault of scrum.

          “One of the reasons might be that it gets management and other non-development people too involved in the core process of software development.”

          That’s an interesting statement because scrum actually advocates for the opposite. When you are practicing scrum more-or-less by the book, the only people involved in the core process is the team itself and the product owner. You shouldn’t have any other people involved in the process. The product owner has control over what is being developed, and the team has complete control over how it is developed.

          If your problem is that you have other people involved, you aren’t doing scrum. You may call it scrum, but it isn’t scrum.

          • re:waterfall and iterative development, actually not because only developers were involved in the design and scheduling of waterfall projects. Developers knew that time needed to be set aside to provide a stable architecture, whereas management was really only used as an interface with users, sales and marketing. Also, the nonsense idea of a 2 week sprint with some ‘deliverable’ that could be presented to some manager or customer was non existent. Having to show something within that time frame always produced a scramble to implement some trivial feature over architecture or finishing a meaningful feature. And the idea of any sort of specialization was considered taboo because some newbie team member might not understand concepts was just crazy, producing a ‘lowest common denominator’ approach to development. Don’t even get me started on the open office concept, maybe the worst structure ever devised for a development team.

            These things that ‘are not scrum’ will always be present because management, marketing and sales are now directly embedded in all scrum teams. Those are necessary functions best kept removed from the actual development process.

            • “waterfall… Developers knew that time needed to be set aside to provide a stable architecture,”

              There’s nothing about scrum that prevents that from happening. Are you aware of that? I don’t mean to be facetious, but it sounds like you don’t have a solid understanding of what scrum really is. You keep ascribing things to scrum which simply aren’t true. At least, not scrum as designed by the people who invented it [1].

              For example, scrum teams absolutely are empowered to provide a solid, stable architecture. If your scrum team isn’t setting aside time to provide proper architecture, that’s the fault of the team and product owner rather than the methodology.

              It’s perfectly valid for the work in a sprint to be nothing but provide a foundation for future work. Demonstrations at the end of the sprint don’t have to be user-visible features.

              “… Having to show something within that time frame always produced a scramble to implement some trivial feature over architecture or finishing a meaningful feature.”

              It doesn’t have to be that way. I’ve never been on a scrum team that had to scramble, much less to scramble to show something trivial. At least, if they did it was the exception rather than the rule. If that’s what is happening on your team, scrum provides a framework for addressing that through retrospectives.

              Demos don’t always have to be for features visible to the end user. You can demo architectures and designs. The goal isn’t to demo a piece of the end product, the demo is to show the work you’ve done, in order to get feedback as to whether or not you’re heading in the right direction.

              “And the idea of any sort of specialization was considered taboo because some newbie team member might not understand concepts was just crazy”

              Again, that’s not scrum. Teams absolutely can and nearly always do have specialists. The scrum guide is very clear to say that scrum teams are “cross-functional, with all the skills as a team necessary to create a product Increment”. The scrum guide also explicitly says “Individual Development Team members may have specialized skills and areas of focus”. If you need a DBA, or a UX expert or dedicated QA resources, your team should have them. Nothing in scrum prevents that.

              “Don’t even get me started on the open office concept, ”

              And once again, the scrum guide says absolutely nothing about the arrangement of desks and chairs. Scrum teams should have the power (within budgetary and physical limits, obviously) to choose whatever works best for the team.

              “…because management, marketing and sales are now directly embedded in all scrum teams.”

              That is not scrum. Scrum teams don’t have members of marketing and sales, nor do they have any managers. You have a product owner and members of the development team — mostly devs and QA, but maybe a tech writer or UX person, maybe even a graphics designer.

              I hear what you’re saying, but you’re attributing all of these failures to the scrum methodology yet absolutely nothing you’ve brought up is at all mentioned by the scrum guide. In fact, quite literally, scrum provides a means to solve all of the problems you’re having, assuming you have management that will back you up (ie: retrospectives and team empowerment).

              That does bring up the Achilles heel of scrum and agile – it requires the buy-in of management. They have to be willing to give the team the power and freedom they need to do the work that needs to be done. Unfortunately, at least in my experience, that’s a tough sell.

              Are there problems in the agile industry as a whole? Absolutely! They aren’t the fault of agile in general or scrum in specific. Rather, they are problems with poor management, and consultants who are optimized toward increasing their billable hours rather than improving your teams.

              [1] https://www.scrumguides.org/scrum-guide.html

          • No, it’s not really the same. The major “downsides” of waterfall I’ve heard of are:
            1. It’s impossible to go back and change requirements if the stakeholders change their mind later.
            2. All of the “prerequisites” for a feature need to be complete before developers begin implementing the feature. This means the feature is specced out, there are designs for any UIs, any copy or other assets required have been produced, etc. If a small part of the previous stage is incomplete, the next stage doesn’t go forward, which can unnecessarily slow down the project if the missing piece is mior.
            3. Project timeline is constantly telescoping out due to unplanned-for contingencies.

            None of these things are ideal in a software project, but you’ll notice that most of the burden of making sure things are set up correctly and happening on time falls on the managers. If the managers make a mistake doing their jobs, it’s the managers who have to deal with consequences.

            Here’s what happens in my current “agile” workplace:

            1. Specs not only change constantly, but features are often not even specced out in the first place. The developer is meant to guess on the details of how a feature should work, and if they guess it should work differently from what a given user guesses it should work like, it’s a “bug”. That’s the case even if multiple different stakeholders have multiple different ideas about how the feature should work. Because each change request is viewed in isolation, no single unified picture is ever painted about how a feature should work. If you try to ask a high-ranking stakeholder clarifying questions, you get snide comments like, “is this blocking you?” as if you’re the deficient one for being unable to read minds and pull out thoughts they haven’t even had yet. Because you know the stakeholders have not considered anything but the happy path.
            2. Developers are expected to work on tickets that require a design, but don’t have a design attached. Or it requires copy or assets, and those aren’t available yet. Or it relies on another ticket that’s assigned to someone else, and you have no idea when they’re going to get around to doing it. But it’s still in your sprint and you’re expected to complete this within the 2 week time period.
            3. To prevent project timelines from telescoping out, managers meddle with the sprint board mid-sprint and tack on a bunch of extra work without explicitly pushing other work off, causing developers to be overloaded. “I know we don’t usually do this, but it’s an emergency”. With agile everything is always an emergency, probably because there’s no specs and no real long-term or high-level planning, so this actually happens multiple times per sprint to nearly everyone on the team.

            Now you will notice all the crap and burden has been moved from the management team to the development team. When the management team fucks up, the development team pays the price. It’s the “shit rolls downhill” style of management.

            • I would add that, for most of my career, that waterfall and iterative waterfall worked and developers were (mostly) happy. Many of the timeline issues happened because managers already had a timeline in mind when the project started, before any design happened. I always found myself across from my manager having the following conversation:

              manager: how long will project x take?
              me: it will take 8 weeks.
              manager: are you sure it won’t take 5 weeks?
              me: no, it will take 8 weeks.
              manager: but, suppose everything goes perfectly, maybe 5 weeks?
              me: no, it will take 8 weeks.
              manager: assume no changes to spec, 5 weeks?
              me: no, it will take 8 weeks.
              manager: reviews happen in a month, sure it won’t take 5 weeks?
              me: why don’t you just fill in numbers you like and let me get back to work.
              manager: fine, nice job.

              Now all that management/user/marketing nonsense is embedded directly in the team and developers really have no real input, being reduced to code monkeys. Management finally has the ultimate domination they always wanted. Don’t know if anyone has noticed, but product quality has seemed to be appreciably worse now that agile/scrum has been widely accepted for several years.

            • I think one of the biggest problems with the way Scrum is done (at my workplace at least), is that the “management” is outsourced from the actual manager to the scrum masters. These are people who have done a 3-day scrum master certification course and have no idea about managing people or processes. It’s demoralising for the developers.

  459. Yes the absolute nightmare continues with Agile/Scrum dogma. ( including the other absurdity of all the companies pushing open office designs) I keep hearing the same thing over and over again from the people that push this crap. “Oh its not SCRUM’s fault is the teams you worked with” , “The company was not doing it right but we have it figured out and its great”, and on and on and on with variations of the same.

    I have been dragged through this garbage with at least 10 different companies and it is just soul sucking. The endless meetings and overhead that have 0 value and the ridiculous 2 week sprints and , my absolute favorite, points poker. Lets not forget about all the people who now have these new job titles like “Agile Coach” and “Scum Master”.

    I used to enjoy work and the different challenges. Now it is a series of never ending meetings and ceremonies with every marketing buzzword you can think of that all amounts to zippo. When can we stop this insanity? Fortunately there are many companies out there they do not believe in all this crap and offer an alternative to the robotic daily grind of Agile!

    • If you have endless meetings with zero value, you definitely aren’t doing scrum correctly. As with many endeavors in life, if you do something wrong it’s not going to go well. If you turn a boat upside down in the water and it sinks, that doesn’t mean the boat is fundamentally flawed.

      In the most successful teams I’ve been on, the “endless” meetings and overhead took 10 minutes per day if that, and the one day’s worth of planning and demos every two weeks was highly valuable and critical to our success. While that’s just one data point, there are many other people with the same experience.

      It’s unfortunate that you’ve not been lucky enough to work on a high functioning scrum team in your career. I can certainly see how an environment with endless meetings that lack value would be soul-sucking, especially when that experience has been repeated at multiple companies. I don’t think that speaks to the value of scrum nearly as much as it speaks to the quality (or lack thereof) of your scrum masters and management.

      • Are the endless Scrum Defenders under the impression that it’s within our power as developers to “do Scrum correctly”? As someone else in this thread said, Scrum isn’t really something that developers do, it’s something that managers do. At most, it’s something managers allow developers to do. If 99% of workplaces aren’t doing Scrum correctly and developers are fed up, you should be talking to the managers, not to the fed-up developers. I have tons of ideas on how to make my workplace less dysfunctional, but managers actually enjoy the dysfunction of FrankenScrum. They get an absurd amount of power and data, to the point where there are minute-to-minute records of what every developer is working on every minute of the day, and they can basically jerk us around like puppets. Meanwhile they feel zero responsibility for actually using this power and information to help projects get out the door on time and at a reasonable level of quality.

        • Very well said and also, sadly, matches my experience with agile/scrum. If it is so easily corrupted, it doesn’t matter what it ‘could be if done right’.

        • Pretty much by definition, Scrum gives teams the power to “do Scrum correctly”. If you don’t have that power, you aren’t doing Scrum. Arguably, the very essence of scrum is that you have been given that power.

          You wrote “As someone else in this thread said, Scrum isn’t really something that developers do, it’s something that managers do.” That’s not scrum. That’s some other methodology masquerading as scrum. Scrum absolutely is all about the developers — well, actually, the team as a whole, which is largely made up of developers.

          Later you wrote “If 99% of workplaces aren’t doing Scrum correctly and developers are fed up, you should be talking to the managers, not to the fed-up developers.”

          Yes, absolutely. If your team is struggling with Scrum, I would say it’s highly likely the problem isn’t with the team, it’s with management.

          ” I have tons of ideas on how to make my workplace less dysfunctional, but managers actually enjoy the dysfunction of FrankenScrum…”

          Sadly, that’s true of many organizations and development teams. It’s far too easy to be a bad manager. I’ve worked with several bad (or at best, average) managers that couldn’t run a scrum team if their life depended on it. On the high performing scrum teams I’ve been on the managers were virtually invisible, and they worked for the team rather than the team working for them.

          • Practicing agile works when it involves the developer and the user, no management needed. The problems start when management becomes a component in agile. especially when it’s management that has no experience developing software.

  460. “I know that Bryan Oakley will pity me that I don’t experience a true, wonderful SCRUM environment”

    Hah! That’s true, your environment sounds absolutely awful. If I had to exchange coins in order to help or get help from another team, I would be doing everything I could to find another job. That’s just insane, and pretty much against everything agile stands for.

    I’m curious: do you do retrospectives where you talk about the things that are working and the things that aren’t working? And if you do, have you brought up the issues that you write about here? Do others on your team feel the same way as you? What happens when these issues are brought up in the retrospectives?

    “If any methodology (or for me now ideology) can cause such truly irritating stuff then the problem starts at the root.”

    That is true, but the root isn’t the methodology or ideology, it’s the people who are leading you. No matter what methodology your team uses, your management is going to cause problems because it sees they don’t trust the team to do what’s right.

    This is what I hear you saying: “we say we do scrum but we do a lot of things that aren’t scrum-like and they suck and are causing us to fail, and because these non-scrum things suck, scrum sucks”.

    I honestly think if you took a step back and looked at this objectively, you would see that the things you hate are not scrum. At their core, the things you hate are due to poor leadership and would manifest themselves no matter what methodology you used.

    • @Bryan Oakley – just curious, are you an Agile Coach/Consultant? You seem to want to spend a lot of time responding to people who find this post online after trying to find other people out there who are as disgruntled with Scrum as they are. Who are trying to ascertain if they are going silently crazy in their companies when they can see the slowness of delivery and the decreasing quality of the software, and nobody else seems to care.

      I think it is pretty clear that there are a lot of companies who are struggling with this system of software development – you don’t have to try and convince everyone that it’s not Scrum, but them. Please stop posting the same proselytising comments over and over again – not only is it boring and repetitive, but sounds very defensive. And be transparent about your motives, whatever they are. Get off this thread and let other people vent in peace.

      • “just curious, are you an Agile Coach/Consultant?”

        Thanks for asking. No, I’m not an agile coach or consultant, and never have been. At the moment I’m just a developer, though I do have a scrum product owner and scrum master certifications which I paid for out of my own pocket. I worked as a combination product owner / architect on a couple of teams (as an employee, not consultant), and also worked as a dev or lead dev on a couple of scrum teams.

        “You seem to want to spend a lot of time …”

        A lot of time? Not really. A few minutes every week or two. More some weeks, none on others.

        “…responding to people who find this post online after trying to find other people out there who are as disgruntled with Scrum as they are. ”

        It’s interesting that you phrased it that way. I’ve never gotten the impression anyone here was trying to find like-minded people. That’s an interesting observation, thanks for providing another perspective.

        I guess I feel compelled to respond because I see a lot of people saying things about scrum which simply aren’t true, and which might scare people off of scrum before they have a chance to experience it for themselves. I’m just trying to keep the discussion somewhat balanced.

        “I think it is pretty clear that there are a lot of companies who are struggling with this system of software development ”

        Yes, there are definitely teams that struggle with this, no question about that. I think that people should be aware, however, that the struggles are more related to bad management or bad consultants rather than a fatal flaw in scrum itself.

        “…And be transparent about your motives, whatever they are. ”

        I have no real motive other than to try to clear up misconceptions about what scrum is and what it isn’t. This thread seems to made up of a lot of people who have been told they are doing scrum but aren’t really doing scrum. They are angry because they work in a toxic environment, and they place blame on the methodology rather than on the real root of the problem which is bad management.

        Thanks for the feedback.

    • @Bryan Oakley: We do retrospectives where we bring up these topics but they are ignored (or the team is blamed to be an always complaining diva, but other teams think the same but are not that outspoken). Then in some kind of team-spanning retro you aren’t allowed to bring up negative points, only “happy” points.

      I know it must sound absolutely crazy (and I could even tell more insane stuff). For me it really feels like being abducted by a strange cult. You are right, Scrum is not the main culprit, the persons are. But compared to waterfall I see a difference: nobody was proud to do waterfall, it was just the way it was done without much ceremony. Now you have the Agilists who celebrate their oh-so-wonderful-method, having these corny happenings like BRP. And I just want to shout “Please, god, enough of this bs, shut up and let me do my work”.

      I’m on the verge of leaving the company. But I very much love my team and it would be hard to leave them. But I have a breaking point and it approaches rapidly …

      • Ooof. That sounds awful. One huge red flag is that it seems like the comments you make in a retrospective are shared outside of the team. That has Bad Idea written all over it.

        Out of curiosity, what is a “BRP”?

        • Big-Room-Planning, I described it in an upper comment but you can also easily google it. It’s one of this “Scaling Agile” practices which are so wrong. Be prepared to find pictures containing trillions of post-it notes …

  461. Pingback: Midlife Crisis outsourced: a chat with SuperBoss – Retire In Progress

    • I assume that you are really R.C.M. Question to Agile-Alliance: Should we abandon it or should we do it right now? I like your books and I agree on many points, but…

      What is professionalism for you?

      – Talking to each other several times a day, once a day or when necessary
      – Using non-linear metrics to guess the end of the “project” from which view?
      – Relative and fictional team velocity or customer satisfaction?
      – Hire management (somtimes ratio 3/1) to control the process of the devs or eliminate any kind of waste, bureaucracy, conformity, paternalism, un-productivity?
      – Highly inaccurate estimates (your words: you only know in the end how long does it take) or he tells you were he does not come further, when he tried hard? (with the prerequisite that you have the skills and will not buy or use a third party software)
      – Managers control the process with metrics (your words) or let the teams self-organize?
      – Build high quality and iteratively developed software without any technical dept (Wow a match. Your words you can not repair crap)
      – Tired of the old work model or ready for “NEW WORK”?
      – Limiting or disallowing self-reflection or avoiding cognitive dissonance, personal and loyalty growth?
      – Scrum as a crutch for people with speech laziness? (yes maybe there are some shy ones we need to force speaking in a group)
      – Leaching discipline or motivation at work? (Motivation is not something professional
      – Infiltrating the psychology of humans by allowing equality in knowledge or allow individuality?
      – To be an employer who knows the needs of the employees who have reached the digital age or project management like the pyramids
      – Pushing people to their limits or respecting the fragile human nature (if evolution ever would allow the human well-being, no respect for laziness)
      – Fixed process at best from top-down, ritual based management or people based empowering? (Remember Agile was introduced only for small teams with a direct collaboration to another small team)

      In the agile world Kanban is considered as immature and is a preparer for the establishment of Scrum. I find that an impudence, because Scrum does not say anything about the quality of the cooperation. You can not imitate professionalism. It seems that the agile alliance has held too few meetings. Maybe people do not understand it or do not want to understand it. Even if that is you lifetime achievement, im am sorry to say this, but… the specific agile tool you offer is too stupid to control social behavior. But why should it? It came from a time boxed brainstorming

      Greets

  462. @Robert C Martin Usually, developers have no big influence about how things like Agile are done. The management introduces it like it thinks Agile has to be done, and the developers have to obey or leave. Or – like at my former employer – obey and wait a year, until the company is out of business. Obviously, it was done dreadfully wrong, some people became powerful, who should not have been, and turned the benefits of agile into a nightmare, and before things could be corrected by the Scrum consultant, it was too late.Actually, I use Kanban, and I am happy with it.

    • @Grumpy Old Man said “Usually, developers have no big influence about how things like Agile are done. The management introduces it like it thinks Agile has to be done, and the developers have to obey or leave. ”

      I suggest, then that Robert C Martin’s comment be amended to say that “You[r managers] are doing Agile wrong, and you know it.” Developers should have a great deal of influence on how agile is done. At my company, we do, and it works extremely well.

      • @Frank G Staheli you are lucky guys. My employer went broke a year after SCRUM had been introduced, just after the guy, who had taught us SCRUM, was there to check things, rubbing his eyes how bad everything had developed. And what should a developer do, if the management messes SCRUM up? Many of us have to feed a family, it’s not so easy to leave and get a new job, especially, if one is 50+. So it’s better to be quiet and work as good as one can under these circumstances.

          • Yeah, no methodology will thrive with bad managers. Scrum is a bit of a loaded gun in that respect: it makes it easy for bad managers to make things worse.

            As for not helping good managers get better, I would argue that’s because good managers are already working in an agile manner by staying out of the way, letting their teams self-organize, and by removing roadblocks.

            • That’s the problem with scaled Agile. The agile process involves only the developer and the user. No management is needed in this arrangement. Managers can only create overhead that results in missed targets and runaway technical debt.

    • Hi GOM. look which way kanban can go! Slide 88 is especially interesting: https://www.slideshare.net/leankanban/david-j-anderson-why-we-need-the-kanban-maturity-model
      Why do they always have to put pressure on teams and manipulate!? Are we stupid or what! I hope with “new work” they will pick out the good concept that serve the business and the people and not following any utopie. At the moment there is a lot of choas but a sign that something will change!!! Somehow we have to cope with this selection of the best in the agile world. Only those who endure the stress, cheer much and do not complain are among the more preferred. But hopefully the new work movement can achive something that is best for both.
      Greets

  463. Pingback: Have We Reached Peak Agile? | XCYBERMATRIX

  464. Scrum etc. has “Loaded language” – something that is usually only used in cults and political ideologies:

    If your treating your employees humane then nothing about the “sprint” should be a “sprint”. (They’re people not race-horses). Nothing about an “epic” is remotely “epic” and so on… It’s an artificial, manipulatively designed language that labels and controls information. It pre-values everything and doesn’t give the worker a say in how he wants to work and what he values. It makes it hard to talk about problems in general especially with outsiders. Try telling a friend or even a therapist your “scrum” problems —> he won’t understand much.

    Scrum delegates responsibility downwards, without compensating for that:

    We have bosses, and decision makers for a reason: They make decicions, and thus they carry the consequences of success or failure more than anybody else. “Scrum”, “Agile” tend to delegate responsibility away from those. Now a low level worker is supposed to set his “own goals” every week. Well, actually no. He’s just supposed to act as if the goals he sets were made by himself and not pressured into him by a tight schedule, fearof being labeled a low-performer and peer pressure.

    The only reason “scrum” and the likes are successful at all, is exploitative manipulation and giving coaches a job. Anybody who likes his job will be efficient and fine without any of it. It only works on people who probably should change careers. And on them it works for about a year – then they stop falling for it.

    It’s as toxic as it gets, and is only popular with young people who overestimate their endurance. It depends on people being exchangeable because eventually everybody will be exhausted by constantly “sprint”-ing. This destroys people by driving them into mental health issues, and it destroys companies because developers usually aren’t very exchangeable.

    When your only talent is making other people work harder, pressuring them, manipulating them and pushing them into overload, scrum is made for you.

    • Instead of Sprint would you prefer Deadline? 🙂 The language of business is loaded with metaphore, where if taken literally, is pretty violent. (Killing 2 birds with one stone. Head count, post mortem, ….). @Rejoin, it sounds like you’re in conflict: happy having bosses tell you what to do, yet unhappy at the loss of control.

      It also sounds like you’ve had some bad personal experiences that goes beyond the type of SDLC (Agile or not). Sorry about that. That sucks.

  465. Agree with everything said regarding Agile sucking out the fun of developing applications – I’ve begun to see the “agile” expression used less for job role descriptions by recruiters

  466. Pingback: Killer Code – DEV.BIZ.OPS

  467. Hi Michael, could I interest you in talking through this article with me on the Agile Thoughts podcast? This essay has a lot of interesting points and I’d like to get more backstory through our discussion. Though I don’t agree on the conclusion as you and I have had different life experiences in doing Agile, I have seen many of these harmful side affects you’ve outlined (and I’ve seen many positive changes as well). Let’s record a show about this essay and talk through these points so people can recognize these problems and learn how to mitigate them.

    https://agilenoir.biz/series/agile-thoughts/?utm_source=blog

    Cheers,
    Lance Kind

  468. My take-aways from the article are that Scrum and/or Agile, as practiced, are terrible because they are

    (1) transparent,
    (2) business-driven, and
    (3) estimate-centric.

    Transparency is bad because
    * creative people cannot justify their work on a day-by-day basis, and
    * it indicates a lack of trust and low social status.

    Business-driven is bad because
    * architecture, R&D ,and product development are effectively eliminated, because those things don’t fit into atomized “user stories” or two-week sprints, and
    * technical debt piles up and is not addressed because the business people calling the shots will not see a problem.

    Estimates are bad because
    * Worthwhile work has a non-zero chance of failure and too many unknown unknowns for estimates to be useful, and
    * they induce needless anxiety about microfluctuations in one’s own productivity.

    In my experience, there are many gaps in the Scrum framework that teams have to cross on their own — or face dire consequences like the ones outlined in the article and many of the 1700+ comments.

    As Uncle Bob likes to remind us, the number of software developers is doubling every five years. By extension, half of all developers have less than five years of experience. Other project stakeholders are likely to be just as inexperienced and prone to rookie mistakes.

    Software has eaten our world, and all of us live every day with applications that are good, bad, and mediocre.

    Depending on our role, it seems like we’ve all been asked to work unreasonable hours to meet an unrealistic deadline, or asked to fund exorbitant costs for software that created as many problems as it solved.

    In 1994, the Chaos Report laid bare the statistic that only 16.2% of all software projects were successful.

    By 2015, the Chaos Report indicated that 29% of projects succeed in delivering the desired functionality, on-time and on-budget.

    By 2018, the Chaos Report is said to be showing software project success rates at 36%, with agile projects succeeding more frequently.

    Even with these improved rates, many organizations expect more from the millions of dollars invested in software development by even the smallest of companies.

    The Agile Manifesto (2001), Scrum Guide (2010), and Continuous Delivery (2010) were all created in earnest to help us develop better products, and build more trust between the makers and the payers.

    In recent years, some organizations have been creating more trust by adopting continuous deployment and autonomous teams.

    * When software is deployed more often in a reliable way, we can respond to feedback and steadily improve.

    * When one small team is fully responsible for designing and deploying one highly coherent, loosely coupled, portion of a product, we can control our own architecture and curb technical debt.

    Of course, the problem for most of us is getting there from where we are now.

    As we enter 2020, what can we do to build more trust in our people and our products?

    • The success of “agile” methods is not in question, it’s scaled “Agile” that is the problem. Some of the authors of the agile manifesto have said that agile does not scale. Your stats on the success of software projects is probably due to the maturation of software SDK’s, API’s, frameworks, and DevOps more than the agile process.

      • I agree with your comment that AGILE does not scale. Toyota is credited with inventing AGILE. Toyota also had a huge failure of its software that led to uncontrolled acceleration and the deaths of several people. The company settled a lawsuit for billions of dollars because of this. Were the software failures due to the downside of AGILE?

        See https://www.edmunds.com/car-safety/for-toyota-owners-unintended-acceleration-lawsuit-settlement.html.

        Companies like Facebook and Google have billions of users. They simply cannot afford ANY down time. Even small changes are carefully planned and reviewed. While AGILE rejects the concept of “comprehensive documentation”, it is very necessary in companies like those.

    • The Chaos Report was published by Vitality Chicago, a company that sells Scrum training and consulting. They concluded that Scrum is better than “waterfall”. What a surprise.

      As Michael Church’s article above states, “waterfall” is a straw man process that is rarely used.

      I also notice that your reply only includes the word “sprint” once and doesn’t defend the practice. Sprints in my opinion are Scrum’s biggest problem. It is my observation that in recent years more teams are moving to KanBan. KanBan is still an AGILE process and is basically Scrum without sprints.

      I like AGILE as set forth in the AGILE manifesto, especially the idea of frequent delivery. Scrum is a perversion of those principles. The very first thing stated in the manifesto is, “Individuals and interactions over processes and tools.” Scrum is process on steroids.

  469. Pingback: Why six week squads are a great neo-agile methodology - CTO Craft

  470. Pingback: Why six week squads are a great neo-agile methodology | CTO Craft

  471. Pingback: Techxit (Part 1 of 2) – Michael O. Church

  472. Pingback: Remain in Hell, Without Despair. | Stok Footage

  473. Pingback: On a Creative Team? Agile has your back. – Mike Spooner's Blog!

  474. Hate Scrum , and bull shit

    Last 30 days I have been forced to become a Front End Engineer , while I am back end engineer , had to do work like agency when I joined a good company to not work like slave

    My heart rate is high and and got sleeping problem due to anxiety introduced by Scrum working culture

    30 components in 5 days and when I went for Demo the idiotic business user is demanding features never talked about

    Then they say … oh we have a scrum board

    But who will work on all the shit …me ….

    But who will go do demos to client some mother fucker none technical person who can’t even code shit

    • That sounds awful. You’re stuck in a place that claims to do scrum but doesn’t actually do scrum.

      If I were told I’m eating cake but I’m given a bowl of beans, I’d be upset too.

      • Pretty much no company does scrum right. Probably because doing scrum “correctly” requires smart management who actually understand tech and actually understand/believe the concept of technical debt, which is quite rare vs the “get it done now, I only care about money and I don’t care about programmer’s ‘excuses'” type management.

        These type of managers can’t help but want to drive the programmers’ schedules (even down to individual ticket estimates) and micomanage the programmers’ progress (“what have you been working on the past hour” or “how is the progress on such and such ticket, I see it hasn’t moved” —-> I’ve heard this line way too many times in my career). No programmer should have to hear “what have you been working on the past hour” multiple times a day; there is already the daily standup (aka progress report), which is invasive enough.

        I’ve worked in 5 different companies now all running some variation of agile/scrum. All of them sucked and raised my anxiety a lot, especially at the end of each artificial 2 week deadline.

        • Agile scrum is one thing, and the developers can most likely figure it out such that they can make it work. The problem is that software development projects are not in the hands of the developers, which is what agile assumes to be the case. The project is in the hands of the managers and the customer, and when the managers promise things that cannot be done so as to please the customer in hopes to get future business, the whole agile scrum thing turns into a death march every sprint.

          • Yup, an artificial mini death march every two weeks because the spineless clueless managers always promise the customers yet more additional features that cannot possibly be done on time without massive shortcuts, technical debt, and/or overtime. And when the new features fail to work properly, the developers get all the blame and the managers scurry away scot-free.

            That’s why virtually no company does Agile “correctly” — because we know the original intent of the Agile manifesto was to put the power in the hands of the developers. But the non-technical managers and business suits have taken over Agile and call all the shots, converting developers into something like chained slave rowers on wooden galley oar ships. Most “Agile coaches” or “scrum masters” are whip crackers who do the bidding of the business people. Developers cannot have any true opinions, just shut up and row and finish your assigned tickets.

            If a clueless “product owner” (aka micro manager) is sitting in the room publicly pushing back on developers’ estimates, saying things like “Why would such a simple feature take you so long?” and putting pressure/spotlight on developers to slash estimate times, then you know you aren’t doing Agile the way the manifesto intended. In fact, simply having a product owner present during estimates means you have already lost.

  475. Pingback: Scrum – from a QA Perspective - Part 2 - IntelliTect

  476. Pingback: My Story Chapter 9c – Hooli: Inevitable Corporate BS – Retire In Progress

  477. Pingback: Why “Agile” and especially Scrum are awful | Forum

  478. Pingback: Bad Reputation – Carly Richmond

  479. Pingback: Well, This Doesn't Seem Agile - J. David Carr

  480. Pingback: Computer Science Essay - EssaysPrompt

  481. Pingback: Software Development Life Cycle (SDLC) – Osty Writers

  482. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf | Quickwritings.org

  483. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf | Aquapapers

  484. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - Writeden Cheap Writing Service

  485. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf | QuickWritings

  486. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - Collepals Plagiarism free Writing Website

  487. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - Aqhomework

  488. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - College Pal

  489. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - PayperEssay-Collepals Writing Service

  490. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - Writeden Cheap Academic Writing Service

  491. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf | Writeden.com Plagiarism Free Essays

  492. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - Safehomework

  493. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterf - Collepals Plagiarism Free Papers

  494. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Collepals Plagiarism free Writing Website

  495. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Positive Essays

  496. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Writemoh

  497. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Writeden Cheap Writing Service

  498. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba | QuickWritings

  499. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Aqhomework

  500. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Safehomework

  501. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Writeden Cheap Academic Writing Service

  502. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - Collepals Plagiarism Free Papers

  503. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - PayperEssay-Collepals Writing Service

  504. Pingback: Abstract Two to three page report on your?initial thoughts/insights into Agile and Waterfall. Ba - College Pal

  505. Pingback: Introduction Of Software Engineering Assignment | Assignment Guruh

  506. Pingback: Introduction Of Software Engineering Assignment | Essay Scores

  507. Pingback: Introduction Of Software Engineering Assignment | Honours Writers

  508. Pingback: Introduction Of Software Engineering Assignment | Myhomework Tank

  509. Pingback: Agile and Scrum: Reader Experiences? - Base and Superstructure

  510. Pingback: Agile and its Discontents - Base and Superstructure

  511. Pingback: Scrum – from a QA Perspective - Part 2 - IntelliTect

  512. Pingback: Scrum – from a QA Perspective – Part 2 – IntelliTect

  513. Pingback: Well, This Doesn’t Seem Agile – J. David Carr

  514. Pingback: [Перевод] Почему инженеры презирают Agile | INFOS.BY

  515. Pingback: On Being Strangled By Your Methodology – Functional Entropy

  516. Pingback: What "Whisky Goggles" means? - English Vision

  517. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED! - TOP TIPS

  518. The ideal digital marketing services provider company in India is Acumen Worldwide, as along with digital marketing, it offers design process services, website development services, mobile app development & more.

  519. Pingback: Computer Science Essay homework paper - Mr Assignment Help

  520. Pingback: Well, This Doesn’t Seem Agile – J. David Carr

  521. Pingback: introduce the Software Development Life Cycle (SDLC) - Discount Writers

  522. Pingback: BUILDING SOFTWARE USING “AGILE” AND “SCRUM” HAS TURNED TO BE A WASTE OF TIME AND MONEY FOR ALL CONCERNED - HELP OUR TEAM FIGHT BACK AGAINST POLITICAL CORRUPTION

  523. Pingback: Computer Science Essay - Popessay.com

  524. Pingback: Verwendet hier jemand Zoom? Oder Google Chrome? Oder Firefox? | -=daMax=-

  525. Pingback: introduce the Software Development Life Cycle (SDLC) - Focal Writers

  526. Pingback: Computer Science Essay - High grade writers

  527. We’re a one-stop-shop for complete HR Outsourcing Corporation motivations under one sanctuary. We accept the keeping of all your outsourcing needs for further industry elements.hrs

  528. I’ve been lucky. I see from the date on this blog that agile scrum has been around for a long time, but I never heard of it until 2016. That is mostly because it doesn’t work well with safety critical, real time embedded software that I usually work on.

    I graduated college in 1982 with an electrical engineering degree. In the early eighties, while designing hardware for test fixtures for satellite components, I worked autonomously and was treated like an adult. In 1987, I transferred to a department writing real time embedded software for military target drones. Again, I worked autonomously and was treated like an adult. From 1990 to 2016 I worked as a contractor, usually going back to former employers working on safety critical software in the commercial avionics or medical device industries. In 2016 I was doing systems level hardware test of a medical device. I noticed a SW engineer nearby blah blah blah AGILE SCRUM. Again, I would hear blah blah blah AGILE SCRUM. Whenever he would say agile scrum, he would speak louder and look out of the corner of his eye to make sure people noticed he said agile scrum. I though, oh, it’s one of those. it’s like “synergy” in the late eighties. It’s like “Think outside the box” around the year 2000. Got it. My next couple of contracts weren’t playing agile scrum, because it was safety critical avionics software products.

    A little over a year and a half ago I got a contract doing software test of a complex medical device and they are doing this agile scrum nonsense. It made me feel like character in a dystopian sci-fi movie with all their cult like behaviors. It was the first time I worked for a company where the employees are treated like first graders. A lot of the things I think are messed up about it are the same things the author of this blog says. That contract ended and I am now back at a former employer in the commercial avionics industry. Fortunately, they are not doing agile scrum on the program I am working on. It is good to be able to work autonomously and be treated like an adult.

  529. I have worked as an engineer since 1982 and as a software engineer since 1987, mostly in safety critical real time embedded software in the commercial avionics and medical device industries. Agile scrum is incompatible with embedded safety critical software. In making big architectural changes, a task can take much longer than a silly two-week sprint with nothing to show for it until the task is completed to some degree. The same can be said when working on low level software that interfaces the hardware, such as when you have to spend time in the lab using an oscilloscope to verify the data coming across a shift register. Sure, it doesn’t interfere with your work when doing something trivial like changing the layout of a few buttons on a GUI, but even then, with all those pointless meetings, it is a colossal waste of time. In my first DO-178 (safety critical standard) job, by not being rushed and micromanaged, I was able to discover latent bugs in an avionics product that was written in assembly language that other engineers had overlooked. It was usually a comparison statement using a variable using indirect addressing versus direct addressing. That is similar to misusing a variable that is defined as a pointer to an int as an int or vice versa. The data that was in that location just happened to be a value that coincidentally would work, but it was subject to change to something that might not work in the future. Getting things done FAST should NEVER be the primary goal in safety critical software. And I am not anti-process. Safety critical standards like DO-178B in aerospace and IEC 62304 in the medical device industry define the SDLC, but the things they deinfe make sense, like requiring 100 percent path coverage in testing flight code, because you don’t want to be flying near an airport and find out the altitude reading froze up because the code is stuck in a while loop. All the things I see being done name of agile scrum make no sense.

    Unfortunately, even some aerospace companies are starting to do this agile scrum nonsense. It has the look of – All the cool kids do agile scrum, so the cool kid wannabes emulate the cool kids to try to be cool themselves. Fortunately, after starting a new contract job that will likely be my last job before I retire, they aren’t doing agile scrum. I actually sent a resume to them because I figured they weren’t doing that nonsense and didn’t send a resume to some other companies advertising for SW engineers because they said they were agile.

    Things that make me glad to be nearing retirement: Agile scrum and open office seating arrangements.

  530. Pingback: Computer Science Essay - domyassignment24x7.com

  531. Pingback: Well, This Doesn’t Seem Agile - J. David Carr

  532. This is the opinion of a Systems Engineer with +30 years of experience, no methodology is perfect itself, though it can be made better by practice. With software becoming so pervasive for a modern society, in practically every service/product known, the world is yet to regret the disaster that practices such as Agile, Scrum, SAFe, are causing. No joke.
    If your organization hasn’t been yet infected by them, get rid of these carpetbaggers, unless you want to become part of a Soviet politburo which is exactly what your organization will look like if they remain.

    • Capital One Finance (COF) just fired 1100 SAFe / Agile folks. Basically they shut down the Agile Fiction stating that Product and Engineering should be able to work together without requiring SAFe / Agile intermediaries.

    • We may be already seeing it. Today on the news, there was still yet another “glitch” causing numerous flight delays with a major airline. I can’t help wondering, had Agile Scrum been inflicted on the developers of the flight scheduling software? What is really scary is, some aerospace companies that make safety critical products like air data computers that calculate altitude and airspeed for jets are starting to inflict this nonsense on the developers. Medical device companies are also inflicting “Agile methodologies” and Scrum on employees.

      Designing real time embedded systems for safety critical software is not the same as web development. It requires a much more in depth understanding of the system, the science behind it, how it works, and how it interacts with the hardware, other subsystems, and the physical world itself.

      The problem with Scrum is, those pointless daily meetings discourage the thorough analysis required to gain an in depth understanding of the complexities of these products, and encourage employees to rush through the development process, testing, and reviews so they can have something to report that they accomplished for the next daily meeting, possibly at the expense of discovering and correcting latent bugs in the software on safety critical products.

  533. I was able to navigate my long career to avoid the idiocy and micromanagement of ‘agile’ and scrum. I am an engineer, not an interchangeable part that scrum wrongly assumes. There is no ownership, only the collective. Sound like something to avoid?

    I retired last year because my company demanded I be injected with an experimental serum. I chose not to risk my life to [not] avoid the common cold. Being bored, I went back to work now the covid hoax hysteria is mostly done. I am now working on scrum. Since my career is over I am in with the attitude of ‘who cares?’. I am amazed how slavishly my coworkers, all under 30, have taken to this religion. One good thing is at least the daily status meetings are done through Teams, which is slightly less disruptive than actually going to a ‘stand up’.

    My favorite part is the point poker using Fibonacci numbers (to make it sound mathematical, I guess). As it turns out, our ‘scrum instructor’, yes, in addition to the scrum master, informed us the if the poker ritual is not unanimous after two hands then anyone who votes the highest points wins! Daily status, retrospectives, planning, grooming, refinement, along with department meetings and weekly status take up an enormous amount of time so little work is actually accomplished.

    I feel sorry for engineers and developers who will never know the joy of actual software development in a thriving productive environment.

    • Oh good grief. The covid vaccine isn’t the common cold, and it isn’t an experimental serum. I certainly respect your right not to get it, but spreading false information about covid has literally cost people their lives.

      You wrote: ” I am an engineer, not an interchangeable part”. Scrum doesn’t assume you are an interchangeable part. On every scrum team I’ve been on, the team took full ownership of the code, and individuals did as well. While it’s true that scrum tends to want people who aren’t stuck in a silo, it doesn’t require that. Every scrum team I’ve ever been on has had specialists, and scrum doesn’t try to prevent that. The only real requirement is that the team of people is focused on a single thing: the product goal. If you need a dedicated UI developer or a database expert to reach that goal, that’s perfectly fine.

      If you’re working with a “who cares” attitude, that’s definitely not scrum either. It’s unfortunate that you haven’t had an opportunity to be on a high performing scrum team, because when you find yourself on one you will be empowered and encouraged to do your very best work. Unfortunately, there are a lot of places that don’t do scrum well, but that’s the fault of leadership and not the fault of the methodology

      Scrum is not for everyone, though, and it sounds like it’s not for you. That’s cool. There are other software methodologies that will serve you better.

      You wrote “My favorite part is the point poker using Fibonacci numbers (to make it sound mathematical, I guess).” No, it’s not to make it sound mathematical. It’s to help illustrate that the uncertainty of a story isn’t linear. The more complex a story gets, the greater the uncertainty we have about the amount of effort. This seems to work well for most teams, but some teams are able to work with something more abstract, such as s, m, l, and x-large.

      You wrote: ” if the poker ritual is not unanimous after two hands then anyone who votes the highest points wins! “. That’s unfortunate! Planning isn’t about winning and losing, it’s about having conversations about the complexity of a story.

      Scrum certainly doesn’t prescribe the “highest number wins”. At the end of the day, the points don’t matter nearly as much as the conversation leading up to the voting for points, and sometimes the largest number is appropriate during planning since the team as a whole is showing a great amount of uncertainty. Later in your post you complain about spending so much time in meetings, and this is one way to keep the meetings moving instead of getting bogged down in planning.

      You wrote: “Daily status, retrospectives, planning, grooming, refinement, along with department meetings and weekly status take up an enormous amount of time so little work is actually accomplished.”. Did you ever try to bring that up during a retrospective? The “status” meeting should only take 15 minutes a day, and the other scrum rituals should only take a day or two out of a 2-3 week sprint.

      Personally, I think an average of 1 day worth of meetings a week is reasonable. It gives me a chance to stay synched up with my team, and gives me roughly four solid days of work out of every five.

      You say you feel sorry for people who “never know the joy of actual software development”. I can understand that. Interestingly, I feel the same way about people who have had experiences like you. I’ve been programming since the late 1980’s, and for me, without question the most “real programming” I’ve ever done has been on high functioning scrum teams.

      It’s unfortunate your experience has been so bad with scrum. It certainly doesn’t have to be that way. Sadly, a good portion of management still struggles with giving teams so much autonomy and don’t really understand the concept of agile development.

      I hope you’ve found a way to work the way you like. Scrum isn’t for everyone, and it certainly sounds like it’s not for you.

      • Thanks for your thoughtful reply. My comment was rather flippant since most points regarding agile/scrum have been well articulated over the long, long life of this blog post. I think the longevity of this rant expresses the frustration people have found with this style of micromanagement. And, it certainly is micromanagement whenever you are forced into a daily meeting to justify every minute of your day. Especially in front of your ‘peers’ who are sometimes have 40+ years less experience.

        The fact is that this type of two week ‘sprint’ nonsense is simply not applicable to mission critical embedded software efforts. I design firmware, bring new hardware up, write board support packages, integrate peripherals and write the supporting software to enable and test the functionality. None of that can be properly shoved into a two week user story that scrum demands. When you are tracking an unpredictable, random error of a bad bit sometimes the solution can take an hour or sometimes a month. Only the experience, creativity and luck of the engineer will solve the problem. Debugging hardware does not fit into the scrum’s juvenile and simple minded methodology.

        It is not that scrum isn’t for everyone, it is a cancer for any organization. It is true that some people need their hands held constantly to get the slightest bit of work but experienced engineers are not only held back but are considered equivalent to everyone else. When everyone is equal the team will be as good as the weakest link and no better.

        Perhaps agile/scrum is effective for some organizations, I read that web development and other non-critical efforts fits nicely but unfortunately the agile religion is being shoved into every nook and cranny of our society, which I know firsthand is causing our military to be weaker and less prepared.

        I find it amusing that people think a new micromanagement paradigm is somehow smarter and more productive than what has been proven for decades to be successful. That is the product of inexperience and narcissism, a very bad combination.

        • Just an additional thought on the Indian poker nonsense. It is not the necessarily the case that a complex task cannot be accurately forecast such that a forced [arbitrary] sequence of numbers is assumed to capture uncertainty. You say points don’t matter but, in fact, that is the ONLY thing that matters. It is the basis for the management beloved metrics and is an important reason why people are shoved into the methodology in the first place. Companies want visibility into processes that can never understand. And they want to judge engineers on their ‘velocity’ and perceived productivity. Careers have been ruined by agile/scrum and not only those of us who realize how bad it is but also innocent engineers caught up in the detrimental machinations of the process rigidity.

          Communication is good but communication just for the purpose of saying you are communicating is pointless. Most of my teammates have absolutely no idea what I am doing; they do not need to know; they cannot understand without years of training; and frankly, I do not care what they are doing as long as they get their work done. When expertise is not treasured and encouraged then people are thought to be interchangeable. I have no issue with mentoring and teaching a junior engineer, but scrum does not provide for that. No story points so the effort does not get done. Experience and knowledge is lost as we are currently seeing over the last decade or so. It is not a coincidence that is the same timeframe as the agile/scrum nonsense.

          • The covid vaccine is experimental, it never has been subjected to long term studies on efficacy or side effects. Covid is a coronavirus, which is the same virus as the common cold. The fact is that they renamed the flu and the cold to covid to scare the ignorant masses. That is why the typical 60,000 flu deaths were reduced to almost zero during the ‘pandemic.’

            It is obvious to all thinking people the ‘vaccine’ never worked. After multiple boosters the truth is that people who took the ‘vaccine’ were more likely to contract covid from which they recover in a few days. And it has been shown that people with the ‘vaccine; can still transmit the virus to others.

            Further, the vaccine has been demonstrated to cause myocarditis, clots and other unpleasant and sometimes deadly side effects. Not common for sure, but the risk never compensated for the complete ineffectiveness of the jab.

            And people even today wear facemasks, which at the outset were known not to mitigate or prevent the spread of a virus. Finally, the powers that be are now admitting that cloth/paper masks have never worked at all. Just to tie this back to agile/scrum, not surprisingly one of my coworkers loves scrum and comes to meetings wearing a facemask. Coincidence? I think not.

          • Agree, David.

            To the claims that “Agile is better”, I have two questions:

            Is the software that is produced under Agile more defect free than other methods? (My personal experience with commercial software is “No, it’s not.” And the defects are less likely to be addressed because management is more concerned with adding New Features.)

            My second question: Is Agile any better at COMPLETING software on a predicted timeline? Since Agile is really more like “Call Shot” with a sprint based horizon, Agile NEVER tries to predict when the project will complete only what might be done at the end of this sprint.

            As such it’s a very poor tool for making good business decisions (“Do we bring this product or that to market? What will our development costs be, coming to market?”)

            • You wrote “Is the software that is produced under Agile more defect free than other methods? ”

              That’s a good question. Industry wide, I don’t know. I know for the scrum teams I’ve been on, our code quality was pretty high, and we absolutely addressed defects on an on-going basis. I don’t think we can thank scrum for the code quality per se, but scrum certainly gave us a framework to prioritize creating high quality software. I’m sure it’s possible for non-scrum teams to put just as much an emphasis on code quality as it is for scrum teams.

              I’ve never seen any statistics that show quality going down because of agile.

              Even if the quality is just the same for agile and non-agile projects, the benefit to agile is that the agile process has arguably more transparency, and more of an opportunity to adjust the plan when things go wrong or requirements or teams change.

              You wrote “Is Agile any better at COMPLETING software on a predicted timeline?”

              Better? I don’t know. It doesn’t seem to be any worse in my experience. Predicting when code is going to be done is difficult no matter how you do it. I personally think it gives teams a better shot at being able to predict timelines, since we’re currently re-evaluating timelines and deliverables every two weeks.

              The first waterfall project I was on back in the 1980’s was supposed to take 6 months to a year, but actually took 3-4 years. Part of the problem was because we never spent any time adjusting the schedule until we were close to the first deadline. By then it was far too late to make any significant changes. We had to just keep plodding along until we met the original goals. Goals which were wildly out of date by the time we delivered the software.

              Though, to be fair, this was a government based project which moved at a glacial pace regardless of the methodology.

              For the highly effective scrum teams I’ve been on, it was fairly easy to predict when features would be delivered since we had a fairly stable velocity, and and a fairly well-groomed backlog. It then becomes just math at that point. The good thing about scrum is that it let our stakeholders have much more visibility into the process and were empowered to make changes to meet ever-changing needs.

              • “For the highly effective scrum teams I’ve been on, it was fairly easy to predict when features would be delivered since we had a fairly stable velocity, and and a fairly well-groomed backlog. It then becomes just math at that point.”

                I think this comment describes the difference between a programmer and a software engineer. A programmer (or as we call them code monkeys) can do their job as if they are laying bricks or some such menial, well defined task. This many bricks an hour can be expected. Software engineering, on the other hand requires significant multi-disciplined knowledge, the ability to understand system level design, algorithm development, real time component interaction, as well as human interaction.

                The most apt phrase and completely valid is “It’s done when it’s done.” In my case, “It’s done when I say it’s done”. It can be estimated because that is a necessity, but the estimate will rarely be accurate. Back in the day, we thought about the task, possible solutions, and what was needed to complete all means of development, from acquiring parts to designing the hardware, to assembly to devising the algorithms and finally implementing the software. Then we multiplied by three. Surprisingly, that system works very well.

            • Hi Paul,

              I have no specific metrics as hand wavy, inaccurate metrics are one reason why agile has become pervasive. As with all statistics, they can be presented in a way to support whatever predetermined conclusion someone desires. Anecdotally, I suspect far more defects are introduced since the pressure to acquire story points overrides the desire to create outstanding software. Further, when defects are uncovered more story points are generated. A kind of software inflation where shoddy work is actually rewarded. There is absolutely no incentive to get it right the first time when you can be seen as more productive if you introduce bugs/defects and code that eventually requires refactoring.

              As to project completion, I would say agile/scrum is far worse. The methodology necessarily demands tasks fit into artificial two week ‘sprints’, which preclude any long term planning. Trying to scope the entire project some agile zealot might believe that such long range planning is ‘waterfall’ and should be avoided.

              I have mostly worked in the defense industry, where costs, although relevant, are borne ultimately by the tax player so poor practices such as agile never truly punished as they are in private industry. That is why agile is becoming more entrenched and even more dangerous.

              • you wrote: “A kind of software inflation where shoddy work is actually rewarded. ”

                That’s not my experience at all. I guess if you have a team full of bad programmers you might get that, but on every scrum team I’ve ever been on, people were proud of the work that they did and produced high quality software. We reviewed every line of code and required automated tests for nearly every line of code.

                I don’ t think shoddy work is caused by agile methodologies, it’s caused by hiring bottom rung programmers and leadership that fails to inspire and encourage you to do your best.

                You wrote ” The methodology necessarily demands tasks fit into artificial two week ‘sprints’, which preclude any long term planning. ”

                That is simply flat-out false. Long term planning is absolutely part of scrum. The entire concept of the backlog is the long term planning. When I was product owner on a team I absolutely did long term planning, though the “long term” was rarely more than 3-4 months out. Things change too fast in our industry to plan for more than that.

                The long term plan (in scrum terms, the backlog) is a first class scrum artifact. Long term planning is built into the methodology.

        • Your experience with scrum sounds like what I have seen. I have worked for decades in mostly real time embedded safety critical software in the commercial avionics and medical device industries.

          I first experienced it in 2021 as a contractor at a medical device company. I had the luxury of being old enough to have enough in retirement savings to have no fear of getting fired from a job. Most of my younger coworkers did not have that luxury. They needed the money, which instills fear in those insufferable daily meetings if they have no progress to report.

          The problem with scrum is, as Michael O. Chruch points out, it has a high false positive rate for discovering poor performers. I am a detail-oriented person. Back in the early 90’s, when I was testing and reviewing the code for a commercial avionics product, my managers and coworkers noticed I was good at discovering latent bugs that other engineers had overlooked. They were happy with the job I was doing and got good feedback. Today, on a scrum team, a meticulous, detail-oriented person labeled as a poor performer for not “meeting rate” or said to be having low “key performance indicators.” They would get talked to about it. Then, from fear of losing their job, they would rush through the reviews and do less thorough testing, possibly missing latent bug they would have otherwise uncovered.

          Scrum, when inflicted on mission critical and safety critical software is a disaster waiting to happen. These constant “glitches” with the airline scheduling software we are seeing in the news lately makes me wonder if it was developed using “agile methodologies” with scrum.

          • Oh boy. Does this sound familiar. I worked at a company where we used Selenium to test our UI. Our Selenium code was bad and in need of rewrite. I noticed that I seemed to be getting more than my share of tickets that involved Selenium.

            My manager talked to me because I was “only” accomplishing 80% of the story points of team average. I told him that some of the tickets are harder than others. Anyone could game the system by taking tickets that were overpointed leaving their teammates with tickets that were underpointed. The tickets involving Selenium were routinely underpointed.

            I recall taking one ticket that involved a two line change to the UI. I then discovered that the page had no Selenium code. Neither did the pages the user had to go through to get to that page. My manager demanded that I write all the Selenium code necessary to test the two line change. I had to write Selenium code to test three pages, so it took quite a while.

            In the previous year that team had over 100% turnover. I finally left that company. Just before I left, one of my coworkers admitted to me that they avoided Selenium tickets. In my exit interview, I told the VP exactly what I said above. After I left I heard that the VP had a talk with that manager and things improved.

  534. I’ve experienced Agile destroying a company (a very promising company whose IP was eventually turned into a flagship product for a major cloud vendor). The VP of Engineering had his head stuck so far up Agile’s backside that he refused to even acknowledge the existing issues with the product that were not only killing sales, but destroying the company’s reputation. But we had our daily standups, our Rally boards, our “planning poker” – all by the book. And addressing urgent bugs for customer POCs apparently isn’t Agile approved (or rather, developers still had to endure the Scrum rituals, and address the real problems between midnight and 4AM). After 2.5 years of inflicting Agile on the developers, the VP was fired, and we more or less abandoned Agile in lieu of trusting our developers to be adults and address the most important problems first, “sprints” be damned. Alas, it was too late, the damage had been done, and the investors gave up shortly after.

    I’ve since dealt with Agile in a few other environments, with similar results (tho thankfully not going under). Perhaps most disturbing is how management in most orgs has now decided that Agile is good because it gives them the ability to treat developers (whether a junior coder or an advanced, published software architect) like expendable Mechanical Turks (especially the offshore kind) that they don’t trust, so everything is micromanaged (as in literally taking a month and many many meetings to implement single line code changes). Inevitably the result is at best a mediocre product (usually worse), and the death of innovation.

    A thread above compared Agile/Scrum to communism, a very apt analogy. But it omitted perhaps the biggest failing of both: complete disregard for the realities of human nature and organizational psychology. Agile may have been invented by developers, for developers, but every implementation I’ve experienced thus far is not intended to empower developers to deliver and innovate, but rather, to provide management a false sense of control, with plenty of “burn down charts” and detailed spreadsheets, with lots of phone polishers to maintain the lies er I mean “metrics”, thus padding management’s org charts (you’re only as important as the number of people under you!). Of course, they’ll chant the usual Agile mantras about how “points are just estimates” and “its done when its done” and “the team organizes itself”…and then 1-2 times a year, review which developers had the lowest closed stories or fewest points, and lay them off.

    Planning poker may be the most abusive/disrespectful of agile practices. Having to sit through a childish exercise where 5-6 other developers – most/all of whom have NO knowledge of the project or code being developed – get to tell you – the expert on the project – how long its going to take you to implement. Because of course their ignorance is more insightful than your expertise!

    Agile as a theory sounds wonderful. Much like the Communist Manifesto, it can sound like a perfect way to organize the world. But when human nature is added to the mix, everything goes sideways.

    Perhaps worse than Agile process are the Agile supporters that constantly bleat “you’re not doing it right!”, as though thats something the detractors have a say in. Given how long Agile has afflicted the world, and the armies of developers who have complained about its many failings AS PRACTICED IN THE REAL WORLD, don’t you think we’d change it if we could ? Again, completely dismissing/ignoring the realities of human – especially organizational – nature.

    Fortunately, I do sense a shift away from the Agile Lie (personally I find KanBan very efficient/effective, tho it requires more trust than many managers are willing to accept). Here’s hoping we can write Agile’s epitaph in a few years; I’m envisioning a tombstone etched with “YOU’RE NOT DOING IT RIGHT!”

  535. Pingback: Scrum Homework Questions | Management Homework Help | Brainy Research

  536. Unfortunately, managers are starting to inflict agile scrum on products that have the potential to cause plane crashes if not functioning properly. In 2022, I went back to a former employer where I have worked numerous times in the past as a contractor. They build Air Data Inertial Reference Unis for passenger jets. They weren’t doing agile scrum, and life was good. The manager who hired me is someone I had worked for in the past, but retired in early 2023. He was replaced by a younger manager who wanted to make the team be agile. The lead engineers were not happy, and for a good reason. It is not compatible for this product line. They brought in agile coaches to teach them how to be “agile.” When these con artists told them all the things they need to do to be agile, the engineers pointed out that after following their so called process, they didn’t have any of the documents required for FAA certification, like objective evidence of the requirements based test coverage, a traceability matrix, independence of code review and independence of test, etc.

    There was another meeting with the “agile transformation” on the agenda. Contractors weren’t invited to that meeting. When the meeting was over, saying my coworkers were upset is putting it mildly. According to my coworkers, they pointed out that when they are in the testing phase of product development, problem reports are written, adding to the workload, making it impossible to stick to a “burndown chart.” One of those flimflam artists (an agile coach) actually said, “Just delete them. You don’t need them.” A coworker replied, “We could go to jail for that, and you could go to jail for ordering us to do it.” Keep in mind, this is a product that is regulated by the FAA, because it can cause plane crashes if it isn’t working properly.

    When a problem report is written, the first step in the process is for systems engineers to do an analysis to determine if it is a safety issue, like something that could cause and inaccurate altitude reading, or a more minor issue, like a linker directive that allocates less memory than a requirement document specifies, but that has been determined to be adequate in the worst case of memory usage. The safety issues are given top priority and cannot be deferred to later releases.

    From what my coworkers described, it didn’t sound like the agile coach understood the ramifications of deleting problem reports on a regulated safety-critical product. It sounded more like it was a person with no experience in this type of product or maybe even in the engineering field in general, who thought that because they took a two-week agile certification course, they were qualified to advise people with real degrees from accredited universities and years of experience in the industry on how to do their jobs.

  537. It is clear that Scrum causes subtle harm to companies. As the article says, transparency is a framing for micromanagement. Sprints are about how to get employees to work faster in the real world of work. But that doesn’t work because the stupidest person understands it and doesn’t take it seriously. It’s like committing to your own health self-destruction if you take it seriously (when optimistic and honest estimates are similar to deadlines). By forcing tasks to be broken down, you only do more micromanagement in the most cases. One of my employers even had ideas about whether people could be made more efficient in the future with a man-machine interface. It’s getting more and more ridiculous. Less is more. Scrum accelerates the shortage of skilled workers immensely because they don’t want to work under the Scrum process.

  538. Thank you for this!!

    if you wondering about the acidity Dragon fruit contain click this link Now “https://www.nourishwithfruit.com/is-dragon-fruit-acidic/”

  539. I love this comment thread. It give me hope. It sounds like many of the people who have taken the time to post can see a better future and have identified some truly abusive practices that have been implemented upon them.

    If I may summarise it sounds like what most people want is:
    – Be trusted to utilise the skills you have in the most valuable way for the company.
    – Be trusted as a group of adults to determine how much work to take on and what quality the work should be delivered at.
    – Be trusted as the people doing the work to determine the best practices around delivering that work.
    – Have minimal interruption when delivering work.
    – Align work with customer need to ensure that the product/service is valuable and the organisation doesn’t go bust.
    – Be able to make change quickly but without skipping corners
    – Be heard when it comes to what is important to do next
    – Be listened too and treated with respect

    What people don’t want seems fairly evident from the above:
    – Be told how to do my job
    – Be assigned work to be done
    – Be told how long something will take
    – Have complex creative work used as a comparison or performance measure (no two pieces of complex work are the same)
    – Be told what process is important and what isn’t
    – Be unresponsive to customer needs to a point that the company goes bust.
    – Be ignored and treated as a resource

  540. Read this article for the first time in 2016, when the financial institution I worked at first mandated “Agile at Scale” (i.e. for the whole IT department). Weirdly, this software development “methodology” (?) applied to the Security Operations team as well and was ruthlessly enforced.
    Man, did we take the piss out of Management and the Scrum minions hired for the occasion (some of them still work there).
    That’s before the suffering started, even if, as freelancers, the number of hours necessary to perform a given task was generally doubled, along with the duration of the contracts.
    I remember hanging Hide the Pain Harold with the caption ‘SecOps team turned Agile last year’ on the wall the last weeks I worked there.
    This is 2024 and Jira tickets still exist, and the CISO department in the company I now work at just introduced “Agile”. Most of the observations in this article are still valid.

Leave a reply to paulha Cancel reply