Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile: Better Planning and Better Teams

Avatar for samdanavia samdanavia
October 18, 2011

Agile: Better Planning and Better Teams

Agile techniques in practice at the UK's busiest startups

Avatar for samdanavia

samdanavia

October 18, 2011
Tweet

Other Decks in Technology

Transcript

  1. Agile: Better Teams and Better Planning Sam Phillips MagRails Conference

    - 14th October 2011 About me - Ruby chap, including being the original developer for OTB. In recent years, I’ve been “doing agile” - both with OTB and other startups as an agency technical director, and at The Hut Group Thanks to the MagRails guys for inviting me.
  2. Planning is easy • 70% of you wanted to talk

    about agile planning... • Accurate planning for predictability is very easy. • It’s in the Scrum book! Why planning? I was looking a topics people wanted to cover - and planning was at the top (70%). But planning is easy - if you’re after predictability. The question suggests that Chapter 6 in the Scrum book has not worked for everybody :)
  3. Predictability vs Performance • What is the overall goal? •

    How can these be achieved in practice? • ... through understanding your organisation A lot of what I’m going to say is old hat management - Peopleware was published in 1987, The Goal in 1984. More recently - Google’s project Oxygen showed how they had incorrectly valued engineering talent over management skills. Here’s how we started out in my organisation.
  4. • One of the UK’s fastest growing companies • Still

    feels like a start-up, fast-paced as any company you can name • Strong commercial drive, run on the numbers • No established project management framework • Super efficient development with Java and MSSQL • Informal, low-structure environment - looking for performance, not process Consistently in the top ten of The Sunday Times’ Tech Track 100 Founders both accountants - heavy reporting capability enables a culture focused on close monitoring Most startups are unstructured and don’t have a waterfall process in place - Scrum may feel heavyweight to them.
  5. The same challenges as you? • ‘Productivity’ - a lot

    of people, sometimes achieving less than they could Hands up if you’ve ever been months into a project and said “What is the scope of this project? Why are we doing it?” This is ok because this is typical. • ‘Projects’ - difficult slogs, sometimes never finished What we did: got better at teams What we did: got better at planning A lot of this stuff is simpler than ‘full-blown agile’, but it was effective.
  6. What size is a team? • Organisations and departments are

    often too big to be teams • An individual or a pair is smaller than a team • Merge groups together to create a team I was assigned a couple of developers for our API, and a couple for operations and customer service - that was enough to make a team.
  7. Typical Hut Team • Typical Hut Team: • Project Manager/

    Business Analyst • Tech Lead • 4-7 Developers/ Testers PM co-ordinates with other PMs, TL the same with the architecture group :)
  8. Work together • Owned space is crucial, but it doesn’t

    have to be physical • Co-location is the best - even on a micro level • Back to back vs face to face • We weren’t afraid of moving around • If not, share an IRC channel, campfire room etc Different cultures will work at different tech - Setfire had IRC successfully (important when we split onto two floors) - but this never caught on at THG.
  9. Stay together • People are not interchangeable; a mature team

    is a system - keeping people together helped a lot • What’s better - the ‘best people’, thrown together to solve a problem, or the best team - a working system? • “A system is not a sum of its parts, but a product of its interactions” - Russ Ackoff One senior dev is not the same as another senior dev Quote from Martin Rue, Ashley Moran - one of many on this subject, but a good one :) - got it from the #xpman IRC channel.
  10. Stages of group development Storming Bruce Tuckman - 1965 Forming

    Norming Performing A group of individuals, often told what do to Boundary testing - conflict may be necessary People understand their and others’ fit within a team If achieved, self-managing and independent Just a model - not gospel. But if it’s true, how might we expect individuals to just do this?
  11. Situational Leadership • Depending on a team’s own autonomy and

    experience different types of management are appropriate Paul Hersey - 1969 Supportive Behaviour Directive Behaviour Low High Low High Managing Coaching Mentoring Delegating New teams Self-organising teams The worst managers are laissez-faire - they feel they’re giving autonomy to a team that really lacks direction. A skilled manager aims to use as little control as necessary - to let individuals get on with it themselves. Give out tasks Give out objectives
  12. Give feedback • It’s the main way people improve •

    One-on-ones • Appraisals, objectives • All are mechanisms for feedback - tailor to your organisation. • Listen Ask people about stuff - even if you’re not a manager, you have a duty of care to give feedback. I’d say it’s better to give feedback in a sub- optimal way than to not give it. If you wait to be great, you’ll never do it. Giving feedback is about listening - not an excuse to moan :)
  13. A standup meeting is a planning meeting • We were

    constantly reminded of the important of this meeting • Purpose is for the team to co-ordinate
  14. Some high performance teams will have lots of standups -

    others will be a constant continuum of planning and don’t need it. Standup - no point being strict as can be divisive. If it takes the team 30 minutes to co-ordinate, let it - but ask why.
  15. Card wall • Match your wall to your process •

    Represent analysis as a separate step? • Take photos - historical perspective • Change as and when you need
  16. Didn’t match our process - was demo/ review the last

    column? Separated out technical tasks from stories - so could see where each tech task got us Size of story boxes depended on complexity - and done in pen so as to be easy to alter size
  17. Analysis now a specific step, along with code review. Colour

    coded Avatars (one each) to represent team members Icebox gives roadmap
  18. One project, many plans • Planning is done at lots

    of levels - daily, per- project and with an overall product roadmap
  19. Articulate your end goal • Of course this will change

    - that’s the point • Build a roadmap for 6 weeks as a point of reference • What is “done”? With this, you can easily see what will have to move if something more important comes up
  20. Technical Planning • Evolve your architecture incrementally • Work out

    how much you’re biting off in a given phase • Run new code alongside older components I haven’t said legacy - but even components a year old were being retired at THG
  21. Cut scope to create phases • Work out how to

    validate your assumptions and build value quickly • Our first iteration on a project was 2-4 weeks, never longer. • Come up with phases - not just the old ‘phase 2’ trick • Subsequent phases were quicker I got a rep as a scope cutter - but it meant we could deliver things earlier. Strike a balance with your stakeholders, and make sure you really do deliver another phase and another It sounds like basic BA and PM, but people don’t do it - I’ve sat with PMs who are happily adding stuff to scope! Quicker was difficult because of our tech and legacy (again, common) - slower was project suicide.
  22. Estimation • When estimating a backlog, compare work to work

    to previous projects from the team - velocity, without the magic! • Translate into real dates - give target launch weeks up to 6 weeks in advance • Update estimates and let people know • We didn’t estimate individual technical tasks as monitoring felt like overkill Estimates are the only way that you can decide whether or not a piece of work can happen - pushing back often means no investment. Are there any typical weeks? Bank holidays, sickness etc - ask the team when things will actually drop
  23. Information radiation • Measure the impact of the work you

    are doing - any way that you can • Good for a numbers organisation • Stick it on the wall!
  24. Pro-active reporting • Produce a weekly report giving a red/

    amber/green status for your project, with detailed narrative • Stakeholders will read, even in a low- structure organisation like The Hut Group • Good opportunity for you to reflect on the week Not sure they are? Don’t attach it to the email :)
  25. Push for feedback • Big demos are difficult - identify

    key players and get their feedback first. • Let people know you are waiting for them. Essentially product owners - trick them into it! Again - important in a low-structure environment. BI Solider - left on your desk if the BI team is waiting for your feedback on a piece of work they’ve done for you! :)