17 ms·
Scrum seems to be mostly about having better alibis
- fit2rule 12y agoI've noticed, in 30 years of software development experience, that a lot of new-fangled psychological/management "innovations" exist primarily to provide justifications for bad behaviour. Scrum being perceived this way is hardly surprising - its hard to develop a methodology for anything where responsibility and control are arbitrated in a fashion that gives the user (of the methodology) more of each component. Taking full responsibility for things is not the same thing as having alibis for when things "inevitably" go wrong .. if the methodology is a defense mechanism from the damage that occurs when projects overrun, its not going to be as effective at actually pushing projects through as it were if it were an attack mechanism for how to make things go right, no matter what happens. Alas, being effective versus being effected, is whats at play here. Few of us actually want to face the fact of our own failing, unless of course we 'predict it' in some fashion, first of all - and therefore create the conditions for failure to occur, 'comfortably'. But like all tooling and methodology, it is a matter of the original intention of the user that counts. If you're adopting Scrum to save your ass 'in case things go wrong', you're doing it wrong already. If you're adopting it 'to make things go right, and do things properly', then you're doing it right. The only difference is the intention of those adopting the methodology.
- ramses0 12y agoScrum / Agile can have failure points both technically (code/development) as well as socially (requirements/planning). It sounds like you've seen a lot of social failure points in your experience. I would hate to address all your complaints point-by-point, but I'll address the first which leaps out to me: that of a requirements phase prior to sprint start. In the training I've gotten for scrum, there's an overriding principle that you don't (nay, can't) commit to work when you don't have all the dependencies. I can't commit to building a brick wall when the bricks haven't arrived yet. If you have a hard requirement where you need/want to have an architecture phase prior to sprint start then you should be staggering your architectural planning phases with your development phases. In the current sprint you can be working the architecture requirements for the upcoming sprint, and developing off the requirements/design that was worked out in the previous sprint. Overall, I think you've got some valid complaints but many that are misguided. I worked with someone who "just wanted to code" and didn't work to grasp the big picture. Much of what he did had to be re-done because it didn't meet the actual customer needs. You would likely look at that and scream: "See, scrum doesn't work! We should have had a requirements document written 18 months ago that this code monkey could have worked from!" I looked at it and said: "Wow, I can't afford to babysit this guy who has all the tools, information, and access necessary to correctly meet the customer requirements, but consistently doesn't manage to do so." In the first case, you have more clarity up front but less flexibility while the work is in progress (front-loading work). In the second case, we would have had to have two people doing the job that one person should have been able to do (incorrect delivery was a persistent problem with him which we worked over a year mentoring him on). You are absolutely correct that scrum is a terrible methodology for building a bridge. And waterfall is a terrible methodology for building a startup. https://crossbolt.files.wordpress.com/2013/11/when-to-use-scrum1.jpg https://crossbolt.files.wordpress.com/2013/11/when-to-use-sc... Scrum/Agile (when properly used) has two main purposes... to better predict delivery of a particular technical capability (ie: when can I ship feature "foo" to customer "xyz"), and focus on keeping the product under development in a shippable state throughout the development process (ie: even though feature "foo" isn't done, I can still ship A, B, and C with minimal incremental work). Waterfall is pretty much the opposite of incremental delivery, and in my experience does a poor job of predicting delivery dates. If you are in a problem domain where you have hard requirements up front, a hard deadline, extremely well known technologies, then you are effectively building a bridge. Break out the gantt charts, put a flag in the ground that says: "We're doing Waterfall" and be proud of it. But please try to avoid muddying the waters of scrum when you're using a tool for something it wasn't designed for and getting poor results.
- freebish 12y agoMy experience with agile/scrum is that it puts a more important bounding function on the product/biz side, where they place demands. The most effective scrum meetings I've seen have been where the biz side presents its desires, then the engineers give them actual level of effort, then the biz side decides _right then_ that they didn't care as much about this feature or that. That's an incredible improvement over documents whizzing this way and that, meetings, spreadsheets with LoE. Instead, just a quick meeting of minds. "I want the blue button very, very badly." "no problem. it will take three of us the entire scrum" "my goodness, I didn't want it that much. Ok, punted."
- sheepmullet 12y ago"Scrum/Agile (when properly used) has two main purposes... to better predict delivery of a particular technical capability (ie: when can I ship feature "foo" to customer "xyz"), and focus on keeping the product under development in a shippable state throughout the development process (ie: even though feature "foo" isn't done, I can still ship A, B, and C with minimal incremental work)." A lot of people think that those are the core purposes of agile.... and that's part of the problem. The real core purpose of agile is shortening the feedback loop. If you aren't shortening the feedback loop you are wasting your time.
- br3w5 12y agoI think the OP's mindset is flawed and perhaps had some bad experiences/coaches with Scrum and possibly only one go at it? I'm not sure why anyone would say "Scrum doesn't want to solve this". When I've worked with teams new to Scrum and the question "how does this fit into Scrum?" comes up, I'll discuss with the team and we come to a pragmatic agreement that is right for the situation and context. Similar to TDD, I think it's great but it's not always the right approach in 100% of situations; adapt it to your needs. All methodologies have their flaws and Scrum can sometimes frustrate me (I'm not a purist) but I definitely prefer it to waterfall. Mature teams take the bits that work for them and improve on the ones that don't. It seems the OP is taking the methodology too literally which implies a lack of experience in trying to apply it. I've tried (and failed) to get a team to work on a feature as a team, refactoring as they go. This didn't work, not because of the methodology, but because the team just couldn't get their heads round it. We decided this was fine and worked on UX a sprint ahead (and built this into the definition of ready). A methodology should not have to cater for every personality and set of skills - that's down to you as a team to figure that out. Teams at first won't organise themselves but once they start taking true accountability for their work (and not keep looking to a project manager for direction) I've seen teams start to get more efficient and more motivated because they get to take control of their work and define the process.
- jghn 12y ago"but I definitely prefer it to waterfall" I pretty sure you're not doing this here, but there's a lot of options outside of the set of Waterfall & Scrum. All too often when scrum is debated it's often set up in the "well, at least it's better than waterfall!" argument. Great, that might be the case - I'd rather a kick in the ass than the nuts but really I'd prefer neither :) "the methodology too literally" As the saying goes, "how big is your but" - because everyone does scrum-but. I'm not a fan of scrum in general, but once the but becomes large enough "scrum" and i can be friends again. The purists drive me bonkers though.
- derefr 12y agoI think when most people talk about agile, or any specific instantiation of it, all they mean is "we're going to not-do-waterfall, and then intuit the rest, while attaching names from some methodology book to whatever results."
- scrumfailz 12y agoThere is a reason scrum sounds so close to bum, because they are both full of shit. Whilst the mediocre teams in the crap organisations lurch from methodology to methodology, paying consultants to lie to them in the vain hope of improvement, the rest of us quietly and quickly deliver software of value to our clients. The only good to come from scrum is more fucked projects for professionals to clean up later at decent profit.
- rrrx3 12y agoI love that you weren't brave enough to make this comment on a legit account and take the downvotes there. Bravo (brava?) to you. I agree that there are teams that struggle with Agile/scrum, but those struggles and failures generally have more to do with overall company culture than they do with the teams themselves. Get a good Scrum master, with appropriate chops, a spine, and good people management skills, and you will have yourself a good scrum team. Full stop. Halfway embrace the process by letting your dev manager run scrum, or let your POs bully the team into things that aren't realistic, and you will have failure. It's as simple as that. Whatever project management methodology you choose has to be committed to fully for it to succeed. There's a reason why Project Management exists as a job outside of software development. And you're fooling yourself if you really think that that superheroic "more fucked projects for professionals to clean up" line is buying you any credibility. I've seen more fucked projects and mountains of technical debt come out of "professional" clowns that swoop in to "fix" shit than I care to relate.
- qooleot 12y ago"Your Product Owner is more like a Shadow Product Onwer" Typo with 'Onwer'?
- qooleot 12y agoHey curious about downvote (honestly, want to know why). I didn't see anything saying that was a bad idea in the HN guidelines: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html I felt the typo was one where I had to do a double-take and make sure it wasn't some purposeful acronym. So, I posted a quick note since it looked like the HN poster also was the article writer, and my comment would drift to the bottom quickly and wouldn't get too far in the way of a larger discussion. I could see maybe I should have made my comment more verbose so someone wouldn't interpret it as being short or something? Or is there an unwritten rule about not making quick editorial comments?
- RalfR 12y agoCorrected the typo. Thanks for pointing it out!
- frostmatthew 12y ago> Hey curious about downvote (honestly, want to know why). I didn't see anything saying that was a bad idea in the HN guidelines I didn't downvote the typo comment but I find it odd you would read through the guidelines to see if commenting about typos is taboo but failed to notice it says Resist commenting about being downvoted. It never does any good, and it makes boring reading.
- EdwardDiego 12y agoScrum works well for my organisation. > While they just try to focus on building software, Scrum dragged them into seemingly endless series of meetings called Reviews, Retrospectives, Plannings and Dailies. This just caught my eye. The Scrum process as originally described had three meetings - one planning meeting per sprint, one retrospective per sprint, and one daily stand-up. It's a stand-up, as opposed to a sit-down, to try to enforce brevity. It's also typically recommended to spend 5% of your sprint in backlog grooming/refinement whatever we're calling it. You should, of course, iterate on your process to make it suit yourself. My team, for example, decided that we'd spread that backlog refinement over multiple days to keep it short, sweet, and relevant. We probably spend more time on it than 5%, but that's purely self-interest, as it keeps our plannings short (we are usually coding by the afternoon of the first day of sprint), and our stories well-estimated and deliverable. But then it's hardly reasonable to complain that your modified process means that the underlying principles are bad.
- tootie 12y agoThat grabbed me too. Our coders pretty much just code. They talk amongst each other sometimes to the PO to clarify requirements. That's about it. We never ask coders to write stories unless they're developer stories they have asked for themselves.
- paulhauggis 12y agoI worked a remote job last year which used Scrum. We typically would have 2 hour stand-up meetings per day, A 3 hour retrospective meeting every week (usually Friday) and 4-5 hour meetings at the end of each sprint for figuring out what we were going to be doing for the next sprint (every 2 weeks). The business owner would many times be figuring things out as we went along during these 5 hour meetings..sometimes painfully slow. This was all for a 5 person dev team. I was consistently billing more hours for meetings than actual coding work. At one point, the owner decided to have a meeting every Friday to just "hangout" where we would either tell a joke or a story..to "get to know each other" (this was another hour). I was the only American working for the company. The rest of the team was from India, Mexico, and Egypt. To give you an idea of the work environment, one of the other remote employees kept overwriting all of our git checkins. They never figured out who it was (I'm not sure why), but I had to re-do all of my checkins for 3 weeks. It was complete chaos. I finally quit when my business started making enough for me to survive without it. The icing on the cake was when the owner changed the name of the LLC a few months ago, so all of my shares became worthless.
- DanielBMarkham 12y agoI love collecting these rants. For a long time, I've been convinced that various techniques may be fine and dandy, but the way we implement change in organizations sucks. Fair disclosure: 1) I teach/coach Agile/Lean/Kanban/Scrum, and 2) I couldn't care less about brand names and religious dogma. I'm a developer first. If it works, do it. Having said that, this author does not know what he is talking about. Apologies for being so blunt, but there it is. And he probably doesn't know what he's talking about because his organization has failed at making changes. Really there's just a couple of questions to ask yourself. Can you get everybody important to the project into the room working together? Can you guess what you might do over the next week or two? If you can do those things, hell if I care what you call it. If, however, you believe that complex systems must always consist of dozens of people with various deep-dive specialties? Then we've got a problem. The problem isn't that some things in life are tough. Technology development is certainly tough. It's that you need to realize that the enemy of productivity has been siloing people and specialists that want to hand-off their work to others. In some cases, the business environment means you can't have everybody in the same room. Fine, there are strategies for that (too much to go into here). In some cases, people just want to keep working the way they've always worked. Most of the time it's the latter case, not the former. It's a shame that this person's environment has failed them in this way. No, Scrum is not made for a lot of things, but you are not a special snowflake. I can freaking guarantee you that no matter what technology problem you're solving, all that Scrum/Lean/Kanban/yadda yadda stuff has been used to help folks run fast. I would suggest trying to find other teams doing the same thing you are, only much faster, and watching what they do. That's how all these buzzwords came about, anyway. If you don't want to believe the books and trainers, and I'm fine with that, go watch it work. Then write another article. :)
- edwinnathaniel 12y agoThis is an interesting remark: "Technology development is certainly tough. It's that you need to realize that the enemy of productivity has been siloing people and specialists that want to hand-off their work to others." What if the type of challenges that need to be solved involves: embedded device all the way up to cloud, big data, and devops automation where some of these things require specialties? Some sprints might be heavy duty on a specific area of specialties, how can Scrum balance the productivity within a team?
- derefr 12y ago> Engaged as a service provider or consultant by a larger corporate customer and not authorized to make product decisions yourself? Then you won't be able to do scrum. You have a waterfall built into your development process: requirements and designs are generated and committed to on the customer side, then "fall down to" the consulting development team. Scrum (or, really, any methodology that attempts to keep time constant by managing scope) is an iterated conversation between the people who want things, and the people who make things. If the people who want things aren't at the table, you can't have that conversation, and so you can't control scope. Period.
- oconnore 12y agoI love these threads, because you get to see a bunch of "* coaches" with a financial stake in these ideas scramble to justify their existence in the comments. Popcorn time.
- RalfR 12y agoJust wanted to jump in and let you know that I do read your feedback and * very much * appreciate it. I'm quite busy with responding over at Agile Overflow but will eventually comment back here, too.
- drisco 12y agoMy experience with scrum is that it is degrading to developers - it tries to turn developers into interchangeable cogs in the machine, filled with micromanagement (aka 'daily standups') and puts to much decision making power into the hands of the 'Product Owners'. I'm a grown up, i can make my own decisions, i can talk to clients (in fact, i want to - no that, is not a distraction), and I don't need anyone looking over my shoulder all the time.
- ditonal 12y agoThe author challenged your perspective and you provided no rebuttal. Neither side has any evidence, but in my anecdotal experience I agree with you. I've worked in pretty much every type of tech organization imaginable and the ones that trusted developers across the development spectrum fared best. The ones that had managers handle priorities and wanted heads down coders to implement fared worse, by far. There is an incredible amount of craftsmanship in software, and often times developers are the best product managers because a passion for product is what led them to learn to develop in the first place. Cutting them out of everything but the coding is a mistake, except for a smaller subset of coders who do prefer a heads down role. You can find good spots for them on the right team, but if you don't you end up with a lot of well written code that solves the wrong problem.
- einrealist 12y agoIf you feel degraded by the version of Scrum your team is doing, then the team is doing it wrong or at least the retrospectives are not working. And if you want to make your own decisions, then you are probably better off alone. But that is not the fault of Scrum.
- RalfR 12y agoIf almost everybody "is doing Scrum wrong", is it maybe because of its fundamentally bad design?
- einrealist 12y agoHow do you come to think, that almost everybody is failing at it? I don't experience that. Isn't it like with every other problem in our world? We hear from them far earlier and with big noise. Success remains quiet.
- quanticle 12y agoLike committing to a sprint target. And literally doing everything to fulfill it. Like not waiting for a manager to step in and ask for overtime and weekend shifts. Remember? Scrum teams take all the necessary steps themselves. Always! Isn't the entire point of scrum to enforce a sustainable pace of development? One that doesn't require heroics like having programmers come in on nights and weekends to finish? The entire point of tracking time and making burndown charts is so that you can avoid taking on too much work. If your team doesn't have the ability to push back on the requirements and say, "Hey, this is too much, we need to push features X, Y, and Z into the next sprint," you're not really doing scrum. You're doing kabuki-scrum, which is usually just waterfall with all the meetings relabeled.
- RalfR 12y agoWell, as far as I understood, Scrum's fundamental principle dictates that the team delivers working software at the end of every Sprint. This has partially to do with not over committing at the beginning, but if the team fails to judge correctly, it has to do what needs to be done to fulfil its promises. Unfortunately, this clear obligation gets forgotten to often – as I pointed out in the original post. You seem to second my point.
- Morst 12y agoBut another point often forgotten is that the main goal is to deliver a working increment. Even if not the whole sprint gets delivered for some reason.
- quanticle 12y ago>it has to do what needs to be done to fulfil its promises. No. Scrum is explicitly open to renegotiation. This is where burn-down charts come in to play. This is where having the product-owner be part of the team comes into play. If a feature is costing a lot more hours than anticipated due to unforeseen problems, it is expected that the team gets the product owner involved early so that a decision can be made: do we drop other work to deliver this feature, or do we drop other features to deliver this? The core premise of scrum and other agile methodologies is that given the uncertainties inherent in software development, it is impossible to fix both the featureset and the schedule. Scrum fixes the schedule and explicitly allows for flexibility in the featureset. Other methodologies (like spiral, for example) fix the featureset and allow for flexibility in the schedule. Waterfall attempts to fix both, and fails as a methodology.
- matthewmacleod 12y agoI actually started writing a point-by-point response to this, but it mutated into a thousand words and will be better suited to a blog post at some point in the future. In the meantime, I think these are generally the same shallow straw-man arguments against Scrum that we all see pretty frequently. I guess the key points to bear in mind will be: - Scrum is not a be-all and end-all solution to all product development. If you are developing a product for a slow-moving third-party (a case which is described as one of Scrum's downfalls) then you are correct – it's probably a bad choice. So is any agile approach. That is totally fine, and I'm not sure why it's seen as a bad thing. - Scrum is not a fully-described, cast-iron set of rules that have to be followed. It's a framework which can (and must!) be changed to suit the team, and the product that's being developed. Concerns like wider-scale management and integration of multiple projects are so dependent on the functioning of an individual organisation that it would be ineffective to have a prescriptive set of rules. Your 'Agile Coach', product owners and management team generally have to deal with these issues in other ways. - Scrum is (apparently, based on the objections in this article) implemented poorly in many places. For example, the 'seemingly endless series of meetings'? That's explicitly one of the things that Scrum does not encourage! Micromanagement is the same. Scope change during a sprint as well. That Scrum is poorly implemented is not a reasonable criticism of it, for me. - It's okay to fail to meet targets when delivering software, and inevitable that it will happen. Scrum provides the tools to manage and recover from those failures, and to help ensure they are limited in scope. Those retrospectives, for example – it's totally valid to say 'We committed to feature <x>, and failed to deliver it because <unforeseen dependency y> prevented us from doing so'. The important thing is to understand what caused that failure, and how similar failures can be prevented in the future. That's a fantastically powerful tool to have. Perhaps I'm just biased, because I've been working in excellently-managed agile teams that have been delivering software very effectively, and have seen how useful Scrum has been as a framework to manage the complexity of planning it.
- RalfR 12y agoI value your opinion, even if I do not agree with it. The argument of "Scrum being poorly implemented" is brought again and again. It's just another one of these go-to killer arguments. If Scrum is so mega simple, why do we see endless cases of it failing to being implemented correctly? Maybe we should start thinking of a framework, that people can actually implement and make successful, without requiring an entire army of coaches and consultants, who make a ton of money from it. I'd love if you'd continue the discussion over at Agile Overflow.
- cc2 12y agoIf you have no control over requirements and a bunch of people who can't work together towards a common goal, I'm not sure what, if any, methodology will work. The main complaints against Agile by developers are: 1) I want to hide in my technology rathole and never come out. 2) I'm allergic to accountability and can't take people asking me once per day what I'm up to. 3) I don't want to have to talk to other people. So, if any of those apply to someone you're going to implement Agile with, they're not going to be happy. Agile is as much a cultural agreement as a methodological agreement.
- asgard1024 12y agoNone of these complaints is in the original post, which I agree with - the things he talks about are problems of SCRUM. Also, AFAIK the standup is not about accountability, it's about communication.
- Hominem 12y agoI am not a coach or trainer. I am just a developer trying to remain sane. I tend to believe that any thoughtful process can work as long as you stick to it. It just so happens I do agile/scrum. I believe that at its core, agile is about two things. Planning on a shorter time frame so you can react quickly as unknowns surface, and continuously improving your process. The ceremony is meant to achieve those two things. If you are are doing the rituals, and fail to achieve those two things, I can see how it would seem worse than useless. Here is what they don't tell you, it doesn't make software development easier. In fact, it can make it harder. What it does for me is make it sustainable and sane.
- lambeosaurus 12y agoThank you. I think you're correct. It's not about making our jobs easier - it's about making a better product.
- zo1 12y agoSlightly off-topic. Does anyone know the origin of this (frankly weird) terminology of scrum "master and "coach"? Merits of the actual methodology aside, I just have to admit that it rubs me the wrong way. Is it really that necessary to indicate that most places don't have scrum-like qualities in their processes, and require someone certified to "teach" or "coach" it to them?
- jordanb 12y agoI think they were trying to come up with new words for the role of "Project Manager" and "Process Consultant" that didn't sound so waterfall-y.
- mml 12y agoAgile/xp is not a set of practices. It's a set of principles. Trainers might tell you otherwise.
- exelib 12y agoJust my point of view: I disagree with Ralf. Scrum is here NOT to solving ANY of YOURS problems. It's like a car - it's give you ability to drive, but how you drive is up to you. If you can't drive - you drive nowhere. If the street is broken - you can't drive, too. What Scrum do, based on it's pillars (Scrum Theory, http://www.scrumguides.org/scrum-guide.html http://www.scrumguides.org/scrum-guide.html), is ability (and force you) to solve your own problems. Not more. OK, there are some preventive things and some sort of problems just don't happen with Scrum (if you can drive, of course), but it's not goal of Scrum. And because, I think, there is no alibis at all. It's just disability to drive. /Scrum Master && Developer, who fight against large organization every f* day for ability to drive/