• Scrum Failures #3: Organization Doesn't Support Scrum

    According to Ken schwaber the success rate on implementing scrum is 35%. According to my friend Michael Vizdos the success rate is less than that. So it would come as no surprise if your organization fails to implement scrum, however what did they do to support it?

    Your organization might not support scrum if:

    1. Priority isn't treated top down in a serial process.ie Priority 1 is worked on until it's finished then priority 2 is tackled.
    2. People are asked to work on secret projects to accomplish them.
    3. Team impediments never get looked at by anyone above middle management.
    4. The culture of command and control never changes to support empowered teams.
    5. commitments are more important than reality
    6. blame is cast from department to department
    7. visibility stops at middle management so a spin can be put on it for the executives.
    8. punishment for bringing execs 'bad news'
    9. "it's worked for 30 years we're not going to change" type of comments (unwillingness to respond and adapt)
    10. Team isn't supplied with the appropriate resources or tools. (whiteboards, conference rooms, collocated workspaces, etc)
    11. Training/Mentoring is ignored.
    12. Unwillingness to grease squeaky wheels.

    What things have you seen?

     

    Full story

    Comments (0)

  • Scrum Failures #2: The team never normalizes

    In teams there's basically 4 states the team can be in

    1. Forming
    2. Storming
    3. Norming
    4. Performing

    In "Forming" the team learns who they are and is cordial to eachother for a while.

    In "Storming" the team conflicts happen as people start settling in to who they "really are"

    In "Norming" the team is comfortable with there differences and begins to start operating in a basic fashion without stomping on eachother.

    In "Performing" the team is really sync'd up and knowing how to utilize eachother to the fullest potential.

    Teams often cycle through these and usually never stay in performing or even norming for long periods of time. Occasionally they come back to storming for a while as they learn new things or have things come up that they didn't storm through before.

     

    If scrum is failing because the team has never normalized, it could be a lot of things:

    1. maybe they don't stay together long enough
    2. they don't trust eachother enough to be open
    3. they don't respect eachother
    4. theres bad blood that cannot be gotten over
    5. theres no soft skills training or coaching for conflict resolution

    what else might be getting in the way of your team normalizing?

    Full story

    Comments (0)

  • Lean Burritos, Muchachos

    So I was in a chipotle mexican grill the other day. chipotle1.jpg

    The place was packed and the line was wrapped around the whole restaurant. I got up to the lady at the counter who asks me what I want. I say a "Carnitas Fajita Burrito"...

    she steams a tortilla and puts it on a piece of foil then passes it to the next employee on the line... "What kind of beans?" she says.

    "Fajita please, with carnitas" i say

    she passes it to the next person on the line.

    "what kind of meat?" they say.

    "Carnitas"

    then another person for the salsa,

    another person for the lettuce, cheese, and sour cream, and another person who bags it up, and finally 1 last person who rings me up and asks me "What did you have?"

    "Fajita Carnitas..."

    I left there thinking what kind of pile of crap service and efficiency is that?

    Not only did i have 7 people who i had to explain what i was eating to each time they passed it off but some of them were faster than others and when i watched the lettuce guy chillin' and making cheesy small talk with the cooks and not working it sortof made me think of how to lean down a chipotle meal area.

    Now i know there's issues of cross contamination and what not but what if one person greeted you, asked you what y ou wanted and then walked with you down the line making your burrito and only handed it off at the very end to the person on the register (because obviously u can only hvae 1 person running the money or you can't trust the drawer will be even).

    leanburrito.jpg

    This way you'd get a continuity of service for your whole burrito and the chance that something would get screwed up would be minimal.

    To further impress the issue. Have you ever ordered 2 different burritos at a chipotle at the same time while they were busy as hell? One time i went in to order me and a friend a burrito. Granted his burrito needed to be special because he's a picky sonofa-B but needless to say i ordered my first burrito, then she passed it on, then started asking the dude behind me what he wanted before i had a chance to start ordering my second burrito.

    Meanwhile the second person in line was asking "What kind of bean?" while i was still trying to get the first lady to recognize i needed a second burrito.

    I went back to my burrito telling them what to put on it and they totally screwed up my buddies burrito because he wanted it special and they just passed it down the line putting all the wrong stuff on it without asking me anything.

    If 1 person was responsible for everything i wanted all the way down the line, i doubt this would have happened.

    My experiences at subway have been equally screwed.

    Ironically, jimmy john's does it right. They take the order and whoever isn't making a sandwich makes yours right then. Usually it's done before you finish paying.

    Full story

    Comments (0)

  • Scrum Failures: Reason #1 - The Bad Product Owner

    You might have a bad product owner and fail at scrum if your product owner:

    1. interrupts sprints with side projects.
    2. diminishes the impediments you bring up and/or claims they're just 'the way things are'
    3. watches and allows team members to be abusive to eachother or not adhere to scrum values.
    4. hides the true velocity from the executive sponsor
    5. doesn't bring stakeholders to the table for planning and/or keeps them at arms length from the developers
    6. decides things for the team on specific implementation/doesn't empower the team to make decisions
    7. leads by politics instead of business value
    8. is passive aggressive
    9. doesn't take responsibility for the results of a sprint
    10. doesn't participate in sprint planning
    11. doesn't prioritize effectively/constantly
    12. doesn't keep the backlog estimated by soliciting estimates from team

    Remember, product owners are people too... sometimes they just don't understand agile/lean practices and are simply too use to traditional methods.

    Full story

    Comments (0)

  • Must haves for agile then setting the dials

     

    Recently, I was approached to classify what I felt were the “Must Haves” of any agile team and I was left stunned and in a stupor of just how to communicate such a thing. Looking back at it I have finally formed what I think I should have said.

     

    Get a list of all the things the customer wants, have the people who will be doing the work estimate it, get it prioritized by the customer, and then start doing small (2-4week) iterations from that list with small crossfunctional (tester, business, programmer, security, hardware, etc)teams (6-8 people) that have all the expertise required to do the work. Demand that they report back with potentially shippable software as the primary measurement of success and require that they constantly reflect and improve themselves. Lastly and most importantly, give them total control of how they do their work, remove any roadblocks/impediments they might have and keep them protected from any outside interruptions.

     

    Now in regards to the constantly improving I found these dials useful for upping engineering skills with your team:

     

    For those not familiar with extreme programming, you may want to read up here.

     

    This information was brought to me by Martin Olsen, one of the thought leaders here in Kansas City who runs Agile KC users group.

     

    Martin uses what he calls “Setting the dials” and basically this comes from extreme programming’s practices.

     

    Get a BIG piece of white paper board. Write on it down the left side these things:

     

    Then all the way across the top write 1,2,3,4,5,6,78,9,10 spanning the width of the board.

     

    Now draw lanes on the board for each of the above items.

     

    These are our dials.

     

    Have the team reflect about their sprint and shade in with a red marker where they think they are in each of the categories.

     

    For example, the team may decide that they are a 5 on the planning game. Have them talk about why they think they are a 5. If people say they’re way higher, ask them why. Have them justify why they are so high. If they say they are way lower, ask them why… again have them justify why they are so high. Don’t fill it in until everyone agrees where they are…

     

    AND

    Then agrees to where they are going to get by next sprint. Have them write that on the big board also by drawing a red outline around the area they intend to reach.

     

    Here’s a pretty rough example: (the team thinks they are a 5 and want to be a 6 after this next sprint)

    image002.jpg

     

    Now the simplicity in this is the big chart that makes the team accountable to what they say and how big and in everyone’s face it is. Of course, management has to stand behind something like this because people are going to refuse to participate. Especially if they’ve been able to get out of participating in the past.

     

    Martin said in fact, take care of any squeaky wheels right away by removing them from the room and have a discussion with them separately. His comment was that it’s simply not acceptable for people to sit and ‘stagnate’ in the way they do their work, everyone should be improving and this is a focused way to improve engineering skills as well as collaboration.

     

    Your business unit that is “On the team” should be in this retrospective as well. Everyone should be accountable in the “Whole team” not just programmers and testers for example.

     

     

    Full story

    Comments (0)

  • Scrum Sucks! The symptoms of something wrong.

    I think I found my favorite site in the world. http://www.scrumsucks.com/

     

    Now, I don’t know if the authors are intentionally saying that scrum sucks of if they’re simply collecting a list of gripes that people have about scrum, but I’ve found it amazingly useful in exploring some of the most commonly noticed Symptoms of an impediment or a roadblock to development.

     

    Huh?

     

    Ok let me break it down.

     

    Your car starts sputtering and has a lack of acceleration. That is a symptom of the problem. It’s something that you perceive… and this is good. It means you now KNOW there is a problem.

     

    Break for a second. Scrum doesn’t resolve problems, it’s not a silver bullet, it simply tells you that there is news and it’s THE TEAM'S job to do something with that news.

     

    Ok so now you know there is a problem, your car is sputtering and won’t accelerate. You take it to the mechanic and they start looking at things… the fuel injection, the fuel pump, the mass air flow sensor, the spark plugs, the distributer or electronic ignition system… etc. etc.

     

    To troubleshoot the issue they may swap out a part… like replace the air filter and see if that helps.

     

     

    Ok let’s get back to scrum.

     

    You have a symptom… something isn’t working… you go into the retrospective and you know something isn’t right. Let’s say people constantly sandbagging estimates. You put that right in front of their faces and say “hey look you’re sandbagging”. We don’t mean to put you on the defensive, we’re simply wanting to know why you’re sandbagging. The sandbagger may not even know why they are sandbagging their estimates or maybe they don’t even realize that they are sandbagging their estimates.

     

    One of the interesting things I hear from developers (very very experienced developers especially) is that well we have to estimate way larger, trust me you don’t want to estimate on the short side.

     

    What does this mean?

     

    Well let’s think through what “Normally” happens when you say something is going to be done in 2 weeks. The managers or people that you feel have a big affect on your career and your pay scale expect that thing to take 2 weeks so they go and tell other people that it will be done in 2 weeks, they go and scream to the world that hey it’s going to be done in 2 weeks because I trust my developer!

     

    2 weeks come and go and it’s not finished… guess what happens?

     

    We’ve all been here… people are disappointed.

     

    So we don’t like to disappoint people who affect our pay scale! So we make our estimates bigger and bigger so there’s no way we could possibly fail at delivering in the timeframe that we suggest!

     

     

     

    How are people in your work experiencing symptoms of a bad scrum like you see on http://www.scrumsucks.com/ ?

     

    What are some examples of the real root cause of these symptoms?

     

    I’d love to see some comments.

     

    Full story

    Comments (0)