Live data from Hacker News

Scrum disempowers developers

lambdacambridge.com

351–360 of 382 posts

Re: Scrum disempowers developers

#351
post #315

Earlier quoted context omitted.

In part one of this series ( https://www.lambdacambridge.com/blog/2018-05-how-scrum-destr... ) I explain how technical craft was key in all the agile methodologies, except Scrum. So I think that was part of the thinking in the original manifesto, but not expressed at the time (fish don't perceive water?) I suppose you're right that Scrum is better than waterfall deathmarches, but I hope we can do even better.

You assert that technical craft was key I think by inferring the bent of the associated methodology of each the people involved? I don't agree, I think the main aim of agile was to solve the extreme dysfunction with the business-side and non-technical people, and there it has succeeded. (This is perhaps also reflected in your observation that XP interest has ebbed while scrum continues to climb in popularity.) Have y…

Fair enough, I agree that avoiding the baggage of Dilbertesque (great word!) corporations was key.

My point was just that all the methods except agile had explicit technical requirements. XP required TDD and pair programming which was incredibly extreme at the time (and still is fairly out there).

These were people meeting up at OOPSLA. They were programmers' programmers. I absolutely think craft and technical quality was important to them. I think it was so intrinsically important that they didn't express it clearly in the manifesto.

But I could be wrong; I wasn't there!

Re: Scrum disempowers developers

#352

Earlier quoted context omitted.

I really dislike agile. A product owner asked me once if I get some benefit from them...and no, I don't. Thry get a lot of benefit from me sharing what I'm doing because they can then keep track of it and communicate it to other people, but I don't get any benefit personally. I want to be the guy who talks to the rest of the employees, implements things and get direct feedback from them. I dont want anyone in the mid…

I want to be the guy who talks to the rest of the employees, implements things and get direct feedback from them. How exactly does agile prevent you from talking to your teammates and getting feedback from them?

I'm pretty sure that when he says "the rest of the employees" he means what Scrum calls stakeholders, not members of the development team.

Re: Scrum disempowers developers

#353

Earlier quoted context omitted.

Yeah, but that's not a scrum thing. Most days, I have the daily stand up (which occurs right after I get to work), and that's it. The one day where we do all the grooming and retro and demo every two weeks is more or less lost, but that's not much of a problem.

What about code reviews?

Code reviews are very important, so I don't complain about time spent doing them.

Re: Scrum disempowers developers

#354
post #287

Earlier quoted context omitted.

Every once in awhile we'll get someone to actually do that. But most of the time the verbiage in the story summary is the acceptance criteria and if there's a problem understanding what is expected, the team lead is the go to person. I was wondering if there's a lighter-weight way of specifying acceptance criteria, or a framework for deciding which stories need additional criteria specification.

The Product Owner is accountable for distilling user requirements into proper user stories, including acceptance criteria. (Other team members can help with that but the PO is accountable .) POs who don't do that consistently need to be retrained or replaced. And the Scrum Master has to be a gatekeeper. During sprint planning if a user story lacks proper acceptance criteria then it stays in the backlog for further re…

Yes, I think this is exactly right (not just in what Scrum/XP says, but also in how it has to be). Separating that role is super important and is potentially one of the friction points in transitioning from a more traditional setup (as evidenced by TFA). In my experience, it is also very, very important that the Scrum Master is not the manager of the team. It has to be someone whose accountability is to the technical success of the team as distinct from the delivery of high level objectives for the team. In a more traditional setup that would be someone like a team lead, senior dev or even a system analyst. XP doesn't define this role specifically and it is probably a weakness -- I've done it as a coach, but usually I appoint someone on the team to do it.

Also, interestingly, I've often had project managers who refuse to do the PO role (I usually call it the "Customer Proxy", but it's the same role). In those cases I try to appoint someone who is accountable for writing stories. They consult with the project manager for the higher level "vision" (but in practice the project manager does virtually nothing -- a state of affairs which they are usually quite familiar and comfortable with, unfortunately). Prioritisation of stories is done by the development manager, PO and project manager (if they are different from the PO). In this case, the Scrum Master/Coach is not invited to that meeting.

To answer the original question: How do you represent the acceptance criteria? Personally, I do not like code based representations of acceptance criteria. Having said that, my entire exposure to them is working on legacy projects where they have gone badly wrong.

The main problem is the same problem with trying to maintain prose documentation of the requirements of a large system -- those requirements are at least as long as the implementation of the system. They are also at least as complicated. We've slowly created ways of organising production code to make it easier to manage. The same is not true for BDD style acceptance criteria, or even prose requirements documents.

At the beginning of my career I spent a lot of my time writing requirements documents in prose. Every 6 month release would include something like 1300 pages of requirement documents. Maintaining these requirement documents was impossible. Very quickly they get out of date and so you no longer have any description of the working code other that the implementation itself.

Based on these experiences, my attitude is that requirements (including acceptance criteria) are ephemeral. They exist for the life of the story and then you abandon them (note: I'm still massively in favour of acceptance tests and unit tests, but implemented as code that is written in a similar way to the production code -- because we have techniques for managing that complexity).

Long story short: I write them in prose on the story and appoint someone to making the determination whether or not the acceptance criteria is sufficient to add the story to the sprint commitment (as nradov explained in much fewer words than I did :-) ).

Re: Scrum disempowers developers

#355
post #280

Earlier quoted context omitted.

How do you organize acceptance criteria? Is it language that has to be added to every story?

Every user story should have acceptance criteria (confirmation). Otherwise how will you know when you're done? One common technique for organizing acceptance criteria is to write them in user voice form: "As a , I want to , so that ." https://www.scaledagileframework.com/story/

Just a quick feedback on this: several people I respect find that this works really well. I've had mixed success. For example I often find people writing things like "As a user, I want to ensure that the application never crashes, so that I never lose data". This is not specific enough and fails the "how do I know when I'm done" test. I usually prefer to list the acceptance criteria in a format similar to "When does , will happen".

I should be able to use the application in the , do and observe that does not happen. That's my kind of litmus test. The is super important in the story, but I don't like them in acceptance criteria because they are often too high level. This, in turn, forces the acceptance criteria to a higher level in order to match.

But like I said, some people I respect highly really like this format, so it's possible that I'm missing something.

Re: Scrum disempowers developers

#356

Earlier quoted context omitted.

Except that Scrum added time-wasting extra stuff on top of the situation. If management doesn't buy in and I can operate my own low-overhead, low-formalism workflow, then so be it. I suffer the badness of management, but I don't also pay time waster costs for a formalized process whose sole purpose of better facilitating productivity is categorically disallowed in the first place. I personally, as a matter of experie…

No, I agree; that's why I've always thought of it as an amplifier for management. If you have good management that buys in, then everyone is more productive. If you have crappy management that doesn't, then they're given a tool to amplify the micromanaging and dispiriting aspects of the job.

Man. ^ This is a brutal revelation right now. Totally just opened my eyes to exactly why things have been going badly at work, despite formal process.

Re: Scrum disempowers developers

#357
post #58

Our weekly "why scrum sucks" post that's really a "why my company does scrum wrong and I don't know how to fix it". Product owners push customer value. Of course. You should too. Code quality and refactors have business value. Reduced maintenance cost, fewer bugs, faster future dev. If you can't explain that to your product owner then maybe it's not worth doing. I think your big missing piece is the collective owners…

When every single failure of a methodology is explained away with "you aren't doing it right," I begin to question the methodology itself.

“80% of companies suck no matter what methodology they use” is an equally plausible explanation.

Re: Scrum disempowers developers

#358
post #344

Earlier quoted context omitted.

> by creating an expectation that every engineer ought to be trained as a full-stack engineer, This is false. Scrum requires the TEAM to be cross functional for the product it develops. It does not require each TEAM MEMBER to be cross-functional. Even 'full stack' (a concept not from Scrum) does not mean 'expert on everything'. Full stack means able to work with front- and backend frameworks for websites. A 'full sta…

> “Scrum requires the TEAM to be cross functional for the product it develops. It does not require each TEAM MEMBER to be cross-functional.” It’s naive to approach this in some letter-of-the-law way. Whatever you want to argue that “Scrum says” the reality of what it facilitates & encourages (which is the attenpt to push everyone towards full-stack responsibilities) is different. > “A 'full stack' developer for examp…

> It’s naive to approach this in some letter-of-the-law way

The principle of a cross-functional team is widely explained and described. Basically everyone will tell you the same story. Even Wikipedia:

https://en.wikipedia.org/wiki/Cross-functional_team

> A cross-functional team is a group of people with different functional expertise working toward a common goal. It may include people from finance, marketing, operations, and human resources departments.

The companies I work for are able to understand that.

> I can’t tell you how many times I see job ads for “machine learning engineer” requiring experience in React, devops tools, highly specialized database internals

Zero?

I've just searched on monster.com for "machine learning engineer". Hits: 300+ Then I searched for "machine learning engineer" and "react". Hits: zero.

Combinations "machine learning engineer" and "scrum": 8 hits.

I fear your 'many times' is not backed up by reality.

Re: Scrum disempowers developers

#359
post #334
post #275

Earlier quoted context omitted.

Your full regression test suite needs to be 100% automated and fast enough to execute within a couple days. If you don't have that then you have a bigger problem that goes beyond any particular development methodology. A proper Scrum definition of done requires full test automation for every user story. You can't merge code to the release branch or accept the user story until all the automated tests (unit, functional…

Scrum does not require automation at all. Generally speaking, it should, but full automation is folly and dependence on automation is an anti-pattern. You simply can't test everything without eyes. Usually when you automate as soon as something is built, you tend to automate what it does instead of what it's supposed to do. You're also trying to hit a moving target and will end up spending a lot of time maintaining y…

Full automation is not at all folly. Manual testing doesn't scale and can't practically be done on large, complex products if you want to release on a rapid cadence while keeping costs reasonable.

The only two types of testing you can't really automate are exploratory testing and usability (UX). Exploratory testing should be done concurrent with product coding, and then the tests that seem useful can be scripted as a permanent part of the test automation suite. Usability testing should be done either on a separate branch, or on the release branch with a feature toggle. It's essentially part of requirements analysis and not part of qualifying a particular build for release to customers.

While Scrum doesn't call for any particular testing approach, in practice it's almost impossible to do Scrum effectively on a large product with multiple agile teams unless you have a very high level of automation. Otherwise development just bogs down and you end up with nonsense like "hardening sprints" (basically waterfall in disguise).

Re: Scrum disempowers developers

#360

Earlier quoted context omitted.

What I've mostly noticed is that when people show up with cynicism or actual anger towards Agile-with-an-A, perhaps nine times in ten, Scrum was involved (edit: though this might be sample bias, as Scrum is by far the most popular methodology). I'm sure it's working really well for some folks. A large fraction of the magic of any agile system is the folks involved and their familiarity and experience with it. I work…

> If I had to pick the most destructive part of Scrum, it's the sprint commitment. I've organised many XP teams that regularly hit our sprint commitments virtually every time. The times when I've found it problematic to hit sprint commitments were due to the following: - Sprint was too small. 1 week sprints are awesome, but they are extremely difficult to hit. I run 2 week sprints if I can manage to get people to agr…

By and large I agree with the nitty-gritty, which will show up anywhere under any scheme.

> In the above cases, you can fairly easily fix the problems and still have sprint commitments.

You can also fix them and not have sprint commitments.

Post reply on HN