7 ms·
Rock! I get the feeling there is some weird backlash against all things Agile lately. I've noticed it particularly in reddit comments. I suspect it's young pe
by jay_kyburz 12y ago
Rock!
I get the feeling there is some weird backlash against all things Agile lately. I've noticed it particularly in reddit comments.
I suspect it's young people who just weren't around before Agile.
- makeitsuckless 12y agoYou realize that Extreme Programming pre-dates Agile? XP was one of those things that prompted the creators to get together and formulate what they all had in common compared to traditional methods. This is what resulted in the Agile Manifesto. The backlash if mostly against the consultants and pointy-haired-bosses that cherry picked from various Agile practices the things they could grok, and implemented that as a cargo cult solution. In wider IT world, that cargo cult method has become known as "Agile", just like "hacker" now equals "cybercriminal" for the rest of the world.
- glibgil 12y agoUs old people hate Agile too.
- dblohm7 12y agoWord!
- jay_kyburz 12y agoWould you rather spend the first half of every project planning and scheduling every little feature, then spend the second half of the project missing deadlines and implementing features that are not right for the product?
- Nursie 12y agoThis seems to me a false dichotomy. Sometimes requirements actually are set in stone and it's good to do this - I worked on an embedded device last year, with fixed interfaces and fixed security requirements. That project would have gone a lot faster if there had been an effort to explore and document these at the beginning. --edit-- oh, and of course, agile projects never, ever miss deadlines...
- MichaelGG 12y agoThis is an incorrect comparison. But I'd also not like to work on a project where someone delivers a feature branch only to find out the feature's been redesigned completely for the 4th time. Or where there is no spec for features at all, just wireframes that change daily and developers are supposed to reverse engineer what the latest UI means into a feature set. But wait, daily standup so it's Agile. A lot of projects would do good to have a light approach at spec writing, to get faced with problems before they're in code. I'm unconvinced that a dev process is going to supersede dysfunctional technical management, no matter what we call it.
- bottled_poe 12y agoPrecisely. A team of decent engineers and competent managers will typically produce good software. And guess what - it will barely matter which methodology you choose to adopt.
- JoeAltmaier 12y agoA better dichotomy is: would you rather have a better process, or hire better engineers? I choose better engineers.
- s73v3r 12y agoBetter engineers are expensive, and I can't crack the whip on them like I can disposable engineers. /phb
- amyjess 12y agoI've worked on way too many projects where things went "Hey, you just delivered the big load to QA? Well, we think the customer wants features X, Y, and Z on top of what you've already written, but we're not budging on the release date, so you better pull the load from QA and start working 16-hour-days and coming in on weekends. Oh, and if it breaks after being delivered to the customer, we'll throw QA under the bus because QA failed to do proper soak testing, and we'll have QA throw you under the bus because you didn't give them time to soak since we're making you develop right up to the night before launch." to trust any process where features can be added after development begins.
- tsmarsh 12y agoI know what you are saying. I've been on sales calls, as an agile consultant, where we have deliberately dodged around the word. Its not just the new blood. My sense is that people were sold agile as a silver bullet, and it unsurprisingly under delivered. Even with Agile+XP you still get bugs, delays and budget misses, the difference is that you know about it much earlier, which, in my experience doesn't make people as happy as I hoped it would. I currently feel this way about Lisp too. I read the books, learned the basics, built stuff, even got a clojure job and, despite feeling better about my code, I'm struggling to provide measurable improvements over Java... but that doesn't mean I want to go back Java any more than I want to go back to 'not agile'.
- AYBABTME 12y agoOr just an overdose of agile consultancy crap.
- crdoconnor 12y agoI've noticed that Agile is frequently creatively misinterpreted as: * "move fast and break things" or * "testing is the end user's job" or * "what we were doing before, except with morning meetings where nobody is allowed to sit" I expect some of the backlash is, ironically, against that. It's similar to "devops" in this respect - a lot of people pretend to adopt the buzzword and then do almost the exact opposite of what it proscribes.
- collyw 12y agoThe thing is this style can work (well the first two anyway). Why spend two or three times as long coding tests for an in house application used by a few users and the requirements aren't actually known or well communicated? Developer time is often more expensive then the end user time.
- crdoconnor 12y agoI used to think this too, but then I realized that this is actually backward thinking. It's quicker in the short and the long term to write tests. Every time you code (whether requirements are clear or not), you go through the following steps (often executed in the space of 2-3 minutes): 1) Think 2) Write code 3) Build/run code 4) Test and see the outcome 5) Go to step 1 Even if you are not writing tests, you are doing step 3 and 4. Moreover, if you are not writing tests, you are doing steps 3 and 4 manually. Manual is only quicker if there are a few of these iterations. If you are doing this iteration every 2-3 minutes, you will be doing it hundreds of times a day and thousands of times in total over the course of a project. Automating that process will save you a lot of time in the long run, and will still save you time in the short run, as well as leading to higher quality code.
- michaelt 12y agoI think a lot of disagreement about TDD comes from the fact some things are a lot easier/quicker to test than others. If I'm writing a library to add two numbers, it's easy to create fast tests with no false alarms. Assert.equals(10, new BigDecimal(5).add(new BigDecimal(5)) - simple, fast, no false alarms, easy-to-maintain. Now imagine you're making a website and you want to test with multiple browsers, and it uses caching and connection pools and sessions and whatnot, and the website has several dozen pages, and there are a bunch of configuration options and feature flags and you need to test with all of them. Now all of a sudden you're administrating a pool of VMs with different OSes, writing web-scrapers, launching web servers every test cycle, waiting for tests of pages you haven't changed, running n tests * m pages * o server configurations * p clients, and all of a sudden you're spending more time keeping your tests working, or changing your software so tests run faster, and you're hardly spending any time working on features users want. Naturally, to someone writing the first type of software, unit testing seems perfectly logical. But I can also see how someone working on the second type of software might get frustrated!
- ternaryoperator 12y agoIn Dr. Dobb's last year, Dave Thomas, one of the Pragmatic Progs and one of the original signers of the Agile Manifesto, railed against what Agile became[1] "Agile got immediately productized in many different ways. The whole point, to my mind, of the Agile Manifesto is that it's a set of personal practices that may scale to team level. You do not need a consultant to show you how to do that. It may help to have someone facilitate, but you do not need a consultant. And yet immediately what happened was that everyone and their dog hung out an Agile shingle and the whole thing turned into a branding exercise." [1] http://www.drdobbs.com/240166688 http://www.drdobbs.com/240166688
- brudgers 12y agoGiven enough time, any two-pizza-rule will prompt someone to the clever idea that leads to installing a giant pizza oven to accommodate 36 inch pizzas.
- Nursie 12y ago>> I suspect it's young people who just weren't around before Agile. I was around before Agile became the thing that everyone was doing. Myself and many of my contemporaries are very cynical about it because what it most often seems to boil down to "what we were doing before but with more meetings and heavier process". I've worked in places where Agile Evangelists would regularly take teams of people away from their desks for process-related meetings (retrospectives, planning, errr.... who the hell knows what else) for several hours at a time, more than once a week. I've heard Agile consultants say things like "And the great thing about Agile is that if you start falling behind, you can take what you have to the customer, involve them in the process, and deliver even more at the next sprint!" as if it would miraculously provide extra developer time/effort for free. And I've seen true-believers who seemed to think that if the project wasn't making progress then people probably just weren't doing 'Agile' hard enough, and probably needed even more meetings and process. I like the manifesto. I don't like what often actually gets applied out in the field, and the consultants/evangelists are basically cultists AFAICT.
- BurningFrog 12y agoWeird. The kind of XP I've been involved in is near obsessive about maximizing programming time. Which means meetings are kept short, with minimum attendance.
- Nursie 12y agoThat sounds like doing it well, in accordance with principles, rather than doing it badly in accordance with consultants... --edit-- I wouldn't claim to know about XP, I've never worked somewhere that embraced XP specifically, just places that decided to go 'Agile' and then proceeded to bog themselves down in so much procedure that projects started to fail. I've only worked in one place where the morning stand-ups actually worked as they were intended - 5 developers go round the room, give a quick status and state any problems they have, identify who they need to talk to to get it solved, the get out again in under 10 minutes. Everywhere else I've worked they devolved into either developer chat/argument time or management info-broadcast time. For at least an hour. Every day. groan
- JustSomeNobody 12y agoIt got MBA'd. It was turned into something that the MBAs can run reports from and hold people accountable. Now, I'm not anti-MBA. However, I do think that having people with engineering degrees be subordinate to people with MBAs is an outmoded business philosophy. They need to be more on par with one another.
- kzhahou 12y agoOn the contrary: Agile is embraced by people (often young) who see is as a defense against the boogeyman WATERFALL that they think people had been following until now. In fact, few places did true waterfall, and even then it was not waterfall as originally intended with constant iteration and refinement. As a result, many teams now insistently follow agile with a strong belief that it's the only way to make progress. They don't accept that before daily standups, people were still capable of communicating when they were blocked. Before sprints, people still came in every day and cranked out code. Before kanban boards and backlogs, people called them todo lists and often did have them in a shared document. Before 1-2 hour sprint planning meetings, people still had a strong sense of the direction of their project and the steps needed to get to a shippable state. Agile defines units of work (the sprint, the story, etc) and sets up a fixed cadence for communication. It does not by itself create better code, better programmers, or better deliverables.
- s73v3r 12y agoIts because, quite frankly, most places suck at doing Agile. And they fully embrace most of the aspects of "Agile" that seem to be there only to treat devs as children and easily replaceable cogs. Most people's first exposure to Agile is in this kind of environment, and so they grow to resent it. Someone will undoubtedly come and reply to this saying that those places weren't really doing Agile, but that's irrelevant. They were claiming to do Agile, they paid some expensive consultants to train them on Agile, so from their perspective, they're Agile.