Slashdot Mirror


Highly-Paid Developers As ScrumMasters?

An anonymous reader writes 'At my company, our mis-implementation of Agile includes the employment of some of our most highly-paid, principal engineers as ScrumMasters. This has effectively resulted in a loss of those engineering functions as these engineers now dedicate their time to ScrumMastery. Furthermore, the ScrumMasters either cannot or do not separate their roles as Team Leads with those of ScrumMastery and — worse — seem to be completely unaware that this poor implementation of Agile development is harmful to our velocity. To date, I have chalked this up to poor leadership, a general lack of understanding of Agile, and an inability to change from traditional roles left over from the waterfall development mode. In addition, I have contended that, for a given Scrum Team, the role of ScrumMaster should be filled by someone of lower impact, such as an intern brought in specifically for that purpose. But I would like to put the questions to Slashdotters as to whether they have seen these same transitional difficulties, what the results have been at their respective companies, or whether they just plain disagree with my assertion that principal engineers should not be relegated to the roles of ScrumMasters.'

31 of 434 comments (clear)

  1. why use scrum in the first place by Anonymous Coward · · Score: 5, Insightful

    Do without all the agile scrum diddle doo, and you'll be just fine.

    you seem to be wasting your time with implementing a particular coding methodology,
    instead of doing actual useful coding.

    1. Re:why use scrum in the first place by beelsebob · · Score: 4, Insightful

      I don't disagree that scrum can end up a mess, but what you're describing is actually the exact opposite of scrum. For scrum to work, you *have* to have good documentation and good test cases/proofs. If you don't have these, you can't check that your code does what is intended, and hence you can't ever refactor.

      If you have no idea what your code does and why, then you'll be too scared to go near it with a refactoring stick, or to rewrite large chunks of it. That's why you've *got* to have good methods of determining if your code is doing what it should.

    2. Re:why use scrum in the first place by mh1997 · · Score: 4, Funny

      Too bad your company isn't into wrongly implementing total quality leadership or you don't have a few blackbelts to incorrectly implement LEAN. That would set you guys straight.

    3. Re:why use scrum in the first place by Matthew+Weigel · · Score: 5, Insightful

      No, it's not. "I know you tried to do scrum, but you had a failed project, so you did it wrong."

      In my experience, scrum is just snake oil. I don't think it's very good to begin with, but worse is that a) everyone modifies scrum to some extent to fit their organization and b) if a project using slightly modified scrum fails, it was because they modified scrum.

      Of course, the solution always seems to be hire more good scrum masters, who are "rarer then you would think!" That's really the part that is snake oil, in my mind. It's a business model for consultants, and the trainers of those consultants. This is even more clear with the scrum model's insistence that a scrum master has a "pig" role.

      Maybe all the scrum organizations should promote the idea that every time a scrum project fails (yes, even with modifications, which is how it always works), the scrum master gets fired. Here, "fails" should probably mean over budget or over schedule, by a dollar or a day. That might give the scrum master a role where they feel like their bacon is on the line. But of course that won't happen; scrum masters aren't team leads (as you point out), they're not managers, they're just coaches... one more person not doing the actual work who has to be involved, but with less accountability and more power than anyone else in the project.

      --
      --Matthew
  2. Hurl by Anonymous Coward · · Score: 4, Informative

    Goddamn wankfest of a post.

    1. Re:Hurl by sycodon · · Score: 4, Funny

      I can see it now. Several years from now, a developer who has been working, doing heads down coding, doing his job, and getting the projects finished, goes for an interview...

      "Have you any experience being a ScrumMaster"
      "A what?"
      "A ScrumMaster"
      "I'm sorry, I don't play those online fantasy games"
      "No, that's not what I mean"
      "Oh...well, I don't play rugby either."

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
  3. Wrong all wrong by Anonymous Coward · · Score: 4, Insightful

    Everyone does it wrong. Every single place that I've worked has done it differently and failed similarly. Agile + Scrum + Ruby seems to be an epic combination of fail.

    1. Re:Wrong all wrong by Haeleth · · Score: 5, Insightful

      You probably meant that to be sarcasm, but it's actually the correct response. Let's give up on looking for silver bullets. Let's abandon the stupid idea that slavishly following the latest fashionable religion^Wmethodology is going to produce perfect code.

      Instead, let's recognise the truth: development is hard, and the best programmers are orders of magnitude better than the worst. Let's employ the best, pay them decent wages, give them decent work environments, and let them get on with the goddamn job instead of forcing them to play silly mind games.

    2. Re:Wrong all wrong by eulernet · · Score: 4, Interesting

      You are so right ! In my company, we use Agile since a few years.

      If you try to apply the rules exactly, it's doomed to fail.
      We only apply a small subset of the rules, and only very few of them seem to work:
        - pair committing (pair programming doesn't work with experienced developers)
        - stand-up meeting (10 daily minutes to explain what we need, what we will do and what has been done)
        - project planning (we give a note to all the tasks the product management assigns us)
        - assigning tasks (before, we were assigned impossible tasks to code in the given amount of time. Agile helped us reduces the amount of stress).

      What doesn't work:
        - our velocity is almost zero: mostly because pair-programming is MUCH slower than one man coding
        - the bad focus: if you focus on the code quality or on Agile methods, you lose the goal which is to code faster. We have such a focus on code quality that any simple task requires days to code. It's ridiculous.
        - all the theoretical methods: if you try to apply every new method, you'll spend your time on trying them, instead of doing real work.

      From my experience, Agile methods only reduce the amount of stress, since we only work on the most important features, due to the fact that the coding is super slow.
      Otherwise, I don't think these methods work.

    3. Re:Wrong all wrong by Jurily · · Score: 5, Informative

      instead of forcing them to play silly mind games.

      That's why I like Joel's approach.

  4. WTF does this mean??? by PontifexPrimus · · Score: 5, Insightful

    Could we please get some explanatory links in here? This reads like a mix between a corporate nightmare ("harmful to our velocity"? SERIOUSLY?) and the rantings of an MMORPG nerd ("I was a level 72 ScrumMaster specced for Agility, but then they nerfed that and our Team Leads couldn't afford the new +5 leadership crafts, so we completely tanked at the Waterfalls of Development, even though we hired N00Bs as cannon fodder!").
    Jargon, people! And don't chastise me for not RTFA - there is no FA to read!

    --
    -- Language is a virus from outer space.
    1. Re:WTF does this mean??? by Mathiasdm · · Score: 5, Informative

      Here you go :-)

      And yes, you are absolutely right. I couldn't entirely understand the article either.

      --
      Join the anonymous, help develop the network: http://www.i2p2.de
    2. Re:WTF does this mean??? by stephanruby · · Score: 5, Funny

      Could we please get some explanatory links in here?

      While this is not my area of expertise, I think I can explain. His team leaders/scrotum masters are poor leaders. They don't seem to understand flexibility. He on the other hand, he thinks he understands flexibility. And he wants an intern to be the scrotum master.

      The only part that I find confusing is that interns are usually the slaves, not the masters. Somehow, this guy thinks that a new slave can suddenly become a master just like that. That, I don't think so. So I'm either misunderstanding something, or this guy is missing the bigger picture. The issue that the team lead is overburdened is probably a very real problem, that I don't doubt. But it seems to me, this anonymous poster would just be trading one problem for another. An intern doesn't have the experience. An intern doesn't have the authority. One might as very well leave the scrotum alone if there is no one there that can handle it.

  5. Try before you buy? by El_Muerte_TDS · · Score: 4, Funny

    I wish I could try this scrum in a safe environment, I need some sort of ScrumVM.

  6. Velociraptors by Runaway1956 · · Score: 4, Insightful

    "harmful to our velocity"

    WTF is that supposed to mean? You're losing money, and you wish to lose money more rapidly? Or, you're not coding fast enough?

    Sounds like one of those buzzwords. Did you buy that from the vendor, as well?

    --
    "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    1. Re:Velociraptors by arkhan_jg · · Score: 4, Insightful

      "harmful to our velocity"

      WTF is that supposed to mean?

      It's a scrum term; velocity is how much work a team can handle in a sprint (short development period to accomplish a particular goal or series of goals) - harmful to our velocity in scrum terms means - "we're not getting as much done as we would like".

      To answer the original posters query; I've worked with scrum, and it sucks. It only works if people work together, are largely self-organising, and don't deliberately chuck roadblocks into other teams paths to get them off their own joblist. Oh, and if management can largely get out of the way and not constantly interfere with the process, i.e. unilaterally adding stuff to the burn-down chart in the middle of a sprint!

      The scrummaster is more of a phb role than a senior engineer role; they basically need to have enough weight to stave off senior management interferance, moderate customer input, and have enough authority to crack the whip to developers who are slacking off. Definitely not an intern role. Whoever is the manager of your dev team, the manager who's on the next rung above your senior engineer are the ones who should be scrummaster; the ones that want status reports, talk to customers, and run interference between senior management desires and what your team can actually deliver; not your chief coder, certainly.

      --
      Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
    2. Re:Velociraptors by teg · · Score: 4, Informative

      "harmful to our velocity" WTF is that supposed to mean?

      In Scrum, tasks/stories are estimated using a common metric (e.g. story points, hours, days). Velocity is the rate at which the team do these - e.g. "20 story points/day". If you're into Earned Value Management, you could see it as the rate at which EV increases. You can find an interesting paper about it here.

      The problem for the original poster is that they just jumped onto a buzzword not really knowing what it is, and not utilizing it properly. There are no silver bullets. If the project is organized in a way that means the scrum master is doing project management, they need a real project manager - and definitely not an intern with little authority. That way lies disaster. If one of the senior developers want to change into project management and is doing it well, good - but then he is not a developer anymore, and should not be counted as a resource.

  7. "Our mis-implementation of Agile includes.." by IainMH · · Score: 5, Funny

    "Our mis-implementation of Agile includes.." ..is a pretty good idea for a ThinkGeek t-shirt.

  8. !rugby by IRoll11!s · · Score: 5, Funny

    funniest tag on a post ever

  9. Clearly a targetted post: by BluePojo · · Score: 5, Informative

    If you work on an agile dev team, this post uses every day language. (yeah, velocity is not an unusual word when referring to backlog burndown rate :D) If you're just an enthusiast or work in IT, this post is crazy off the wall nuts.

    At any rate, to respond to the post:

    The best method of handling who is the scrum master I have encountered is by not giving the job to one single person. A rotation every 4 sprints seems to work well (we do 2 week sprints), as it spreads the load of scrum master around and it keeps us from getting into a rut when doing sprint planning and retrospectives, as a different person is running it every 2 months. You're right that giving your strongest developer the task of scrum master is asking to have your strongest developer not code as much, but if you have your intern running scrum, you may find that lack of understanding of prioritization will impact your velocity quite a lot more than giving extra work to your lead.

    One additional thing to note is how efficient you are in scrum master tasks... if you're hand writing stickies to put on the scrum board, you're probably wasting time. Any half decent script monkey should be able to write a script to parse your backlog and generate stickies for you. :)

  10. Agile by Frankie70 · · Score: 5, Insightful

    In my opinion, Agile is a great tool for managers, not developers.
    Every manager in the end wants to ask for status reports every day.
    But they can't do so, because people working for them will be upset.
    Agile is an excellent way for Managers to ask for status reports
    everyday.

    In my opinion, TDD (test driven developement) is the only good thing
    about Agile.

    Here is Scott Adams about Agile.
    http://www.globalnerdy.com/2007/11/28/dilbert-on-extreme-and-agile-programming/
    http://www.flickr.com/photos/cote/63914774/

    1. Re:Agile by wurp · · Score: 4, Interesting

      I think the best thing about Agile is TDD, but it's not the only good thing...

      TDD is far better if your tests are written to emulate a user using the features they care about. That's a User Story focus, which is explicit in Agile.

      TDD enables you to refactor mercilessly, which Agile points out and encourages.

      Not related to TDD - Planning Poker as an estimation process gives the developers a stake in estimation, which gives them a feeling of responsibility for being done on time, which keeps them motivated to get done quickly while working their task. The actual estimate gives them a stretch goal to strive for, then the adjusted estimate (using the team's velocity) gives them a realistic goal, and lets them know when to start being worried that they're going too slow.

      Personally, I find it very motivating to have a time goal for a task that I helped set, and to know both how I'm tracking against my ideal estimate and against the realistic, adjusted estimate.

      In Agile, you should only be tracking completed sets of features that the end-user cares about when you estimate progress. This helps you track your real progress, as opposed to the typical "80% done" forever state you end up in with seat-of-the-pants estimates of progress.

      Focusing on reasonably short sprints (usually two weeks) and strictly disallowing changing the workset during those sprints helps you stay focused on something long enough to actually get it done. It helps keep managers from fucking everything up by changing your focus every few days.

      A very short, targeted "what I did, what I'm doing, and what's holding me back" meeting with only developers helps keep developers focused on getting done, lets people see when they have special knowledge that can make someone else's task easier, and keeps everyone aware of (and hopefully focused on fixing) any impediments.

      Yes, most of these things are obvious, and many developers left to their own devices will mostly do them. However, having a plan that focuses on things that everyone can agree are important to do a good job is obviously better than flying "seat of the pants", and developers aren't left to their own devices - managers interfere, and finally, managers like methodologies.

      Obviously, a methodology is a way to keep you doing things you think are smart. If conditions arise where the methodology tells you to do obviously wrong things (or not to do obviously right things), you diverge from the methodology. If the company sells the division you were writing some feature for on this sprint, you should probably abandon the sprint. Etc.

      A methodology is not a replacement for brains, but it's a nice augmentation.

  11. What the hell? by Godji · · Score: 4, Funny

    What the fuck is a ScrumMaster? What the fuck is this person asking? Seriously, how did this get in my RSS reader?

  12. Re:Yikes by religious+freak · · Score: 5, Insightful

    I think Warren Buffet said it best when he said "if you can't explain it in simple terms, you don't understand it". He said "young kids" (he's 80+, so who knows what he considers a young kid) come in pitching ideas using the fanciest of terms but when he asks for clarification, he can't get it, because they don't understand the fundamentals. And though it was a major pain in the ass, working at a helpdesk for a year taught me a lot because you NEED to distill things down to their core components and strip away all the crap. Stripping away crap == understanding fundamentals == true understanding. When you have a fundamental understanding, then you can add the bells and whistles

    Honestly, it sounds to me like OP hiding behind lingo without actually understanding what's really going on. Yeah, he's saying something (and I understand it, I guess) but he's got so much crap, perhaps he can't see the forest from the trees.

    PS. Scrum == worst. methodology. name. ever

    --
    If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
  13. Long standing agile developer by intranation · · Score: 4, Interesting

    Seems to me there are a few issues here:

    • The team leads as scrum masters is a conflict of interest. Managers should never be scrum masters, as often scrum masters need to go against management in order to get the team through blockers. Additionally, they can put undue ("you report to me") pressure on team members during scrum. That balance needs to be maintained;
    • Scrum masters, if picked from the development team, should be rotated to avoid keeping people out of the loop; but
    • Ideally they should be someone who is from a project management background. If you're doing agile a lot you'll want a dedicated scrum master. I never really bought into the idea that developers should be scrum mastersâ"they should just be trained in the right skills so they know how it works, but their core skills are unlikely to be organising people.

    If your company is "doing it right" you can raise these issues in the retrospective and hope they get picked up. If they're not doing or respecting retrospectives then they're doing it wrong, and all bets are off.

  14. When you cut through all the gibberish by petes_PoV · · Score: 5, Insightful
    You've got a development team. The senior members have been promoted to team leaders.

    No matter how you want to spin this, or wrap it up with neologisms, it's the same old stuff, with the same old problems and (it seems) the same old organisation - just with different names. In the end you (or your team / scrum call it what you will) still has ti turn out a product. Those who help get the praise, those who hinder get the promotions :-(

    Just like every development methodology before it - and no doubt, the ones to come - if you have talented people, they'll get the work done. If you have indolent people, no techniques: agile or not, will help you. Stop worrying about scrums, roles and all that malarkey - get on with the job of developing your product.

    Everyone in a company has problems to overcome. How you deal with them is the olny measure of your worth.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  15. Re:Yes, use experts as scrum masters by Delkster · · Score: 4, Insightful

    I conclude that the top people should be the scrum masters, because if you bring in someone inexperienced to be a scrum master (i.e. a project manager), all your projects will go to pot.

    I agree that a scrum master should have experience of project work, but he doesn't necessarily need to be a top developer. Also, a scrum master isn't technically just another name for a project manager. A scrum master doesn't make decisions; he's basically someone who makes sure that the team doesn't have to waste their time on unnecessary problems ("impediments") and that the whole thing doesn't break down into chaos.

    Can't do your testing because of some network problem? Or you aren't exactly sure about a detail of the requirements? Bring that up in the scrum meeting and the scrum master should solve your problem so you don't have to interrupt your work because the scrum master will run the errand for you.

    Did a meeting break down into an argument between two team members about an implementation detail? It's the scrum master's job to intervene and get the issue solved between the two rather than needlessly waste everyone's time in the meeting.

    Got a design issue and you have to decide which approach to take? That's not up for the scrum master to decide. The decision should be made by team concensus, or if they don't have the expertise to decide, get help from an actual manager or expert from outside of the team (architect, or what you have).

    I would recommend seriously reconsidering whether getting a better pipeline of events and allowing work to stretch past 'daily scrums' would be better.

    I don't know exactly what you mean to say, but I think you've misunderstood something. A daily scrum is more of a status meeting. It doesn't mean that you have to switch tasks as a result of each meeting, though it would be good to have tasks divided into small enough chunks that you can usually complete them within a day or two.

  16. Oh, for fckn, sake... by KZigurs · · Score: 5, Insightful

    Forget all about agile, forget all about scrum and forget all about management. The only places where I have seen some good code actually being written are the places where there were no 'process', there were no 'evangelists' and it was absolutely normal for managers and devs to swap roles in who is managing who - naturally.
    No process will improve on a (welcomed) shout across the room and reply coming back in 5 seconds.

  17. It's like AD&D by Spazmania · · Score: 4, Insightful

    It's like Dungeons and Dragons. Follow the rules too rigidly and you're so busy rolling dice that nobody has any fun.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  18. Doesn't improve everything, but are benefits by Webcommando · · Score: 4, Insightful

    I've lead scrum projects for a few years (actually introduced the technique to a few). It is a great tool but hardly is a silver bullet. Over time, there are tweaks needed to meet organization style and needs--including the kinds of products, release standards, regulatory environment. If you try to use as-is I think you'll find issues and ultimately fail.

    I think scrum has some very nice characteristics (not necessarily unique to scrum):

    - Lessons developer stress by allowing them to focus. You define the work for a sprint up-front and the developer knows their stories and can attack them as necessary. Everyone knows the stories and tasks (they are in your face..either in a tool, on a white board, stickies on the wall, whatever) and can trade or help as needed.
    - Helps drive results of working software. With the sprint concept, the team is expected to demonstrate the work product each cycle (3-5 weeks). This doesn't have to be software but you have to be able to show something specific. I think this helps eliminate the month long development grinds only to find nothing works right when integrated.
    - Gets the developers talking. The stand-up meeting (what is done yesterday, what is planned for today, what help is need) is very valuable to get the developers interacting. Very easy for software people to sit for long periods banging out code and banging their head against the wall. The daily meeting helps to uncover duplicate effort, solutions to problems, and allow an opportunity for senior developer to recognize where people are struggling.

    Just remember: scrum isn't an excuse to code first, design later or ignore gathering detailed and real requirements (a story isn't enough).

    --
    I love the sound of distortion in the morning -- webcommando
  19. Scrum master = Project manager!!!!! by node159 · · Score: 5, Insightful

    Scrum master = Project manager!!!!!

    Scrum master is a fancy word for project manager! If people start realizing this you wouldnâ(TM)t have the shit that the poster mentioned going on. Who in their right mind would make their technical lead or an intern a project manager...

    --
    GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?