Managing Agile CMS Projects           Sally Kleinfeldt         Gilbane Conference          November 2012
Your Website Project• You’ve chosen a CMS• Lined up the budget and developers• Selected a design firm• Extracted requiremen...
Your Website Project• Medium to large website• Custom functionality• Custom theme• Fixed budget• Vague or changing require...
Your Website Project• Distributed Environment  • Everyone (client, developers, PM) in    separate locations• No full time ...
ChallengeHow to adopt agile techniques to managefixed price, flexible scope projects with adistributed, part time team?
Solution•   Adapt and refine agile techniques• Focus on:    • Communication    • Collaboration    • Stories    • Estimates
Roles
Roles• Project owner• Developer• Designer• PM
Project Owner• Single point of contact• Domain expert• Decision maker• Available for meetings
Developer• Technical expert• Open minded• Honest
Designer• Part of development team• Needs feedback on design implications
Project Manager• Facilitate communication• Record decisions• Understand both client and developer  worlds• Translate clien...
Initial Scheduling
You’re Starting the            Project• Fixed budget, fixed number of hours•   First step: create a high level schedule•   ...
High Level Schedule• Divide budget among 3 phases • Planning - varies with uncertainty • Development - timeboxed iteration...
Development Iterations• How many depends on: • Available hours • Size of team • Go-live date
Development Iterations • One or two week iterations ideal • For a team of 2 developers  • 5-10 hours PM time  • 15-40 hour...
Evaluation Periods•   Schedule an evaluation week    between each development iteration•   Clients need the time to test, ...
Deployments•   Several smaller deployments are    preferable to one mega-deployment•   Easy to run out of time for fixing b...
Planning Phase
Planning• Discovery• Story development• Technical architecture
Discovery• Clarify problem, solution, expected    benefits•   Uncover issues•   Agree to priorities•   Build working relati...
Discovery Tools• Research, interviews, analysis• Brainstorming session• Prioritization exercise• Card sorting exercise
Discovery Outcomes•   Prioritized requirements•   Technology recommendations•   High level data model•   Information archi...
User Stories•   Describe a system feature in user terms -    content editors, site users, site admins...•   As a [role], I...
User Story Development• PM and project owner write stories•   An index card worth of information, will    get fleshed out d...
Story Estimation•   How big is each story? How long will it    take?•   Critical information for client - informs    prior...
Planning Poker• Developers, project owner and PM•   PM reads story, developers ask    questions, project owner answers•   ...
Planning Poker•   Time consuming, but planning poker    •   Makes developers understand        requirements    •   Makes c...
Distributed          Planning Poker•   How to play planning poker with a    remote team?•   Plugins available for Pivotal ...
Distributed         Planning Poker•   Android and iPhone apps available    (Google for "free online planning poker")•   Us...
Story Prioritization•   Stories are the “backlog”•   Have project owner arrange stories in    backlog in priority order
Technical Architecture• Define high level technical architecture  after planning poker• How to do theming, what add-ons are...
Development Iterations
Anatomy of an Iteration• Client chooses stories based on points  and priority• Iteration planning meeting • Task breakdown...
Designers•   How to integrate UX/UI design into    development process?•   A CMS is not a blank slate, some    designs are...
Tips for Working With          Designers•   Try to include designers in the dev team•   Have developers review preliminary...
Designers•   Have developers mock up functionality    first using available add-ons and use that    as basis for wireframe•...
Tools
Tools• “Real” agile relies on co-located teams,  index cards, white boards• We need tools that substitute for these  things
Communication• Skype• IRC• Chat• Calendar
Agile Development• Many contenders • Jira, Rally, VersionOne, ...• Hosted SaaS solutions worth checking  out • Pivotal Tra...
Questions, Discussion?
Upcoming SlideShare
Loading in...5
×

Managing Agile CMS Projects

1,204

Published on

In this talk given at the 2012 Gilbane Conference, Sally Kleinfeldt describes an approach to managing website development projects in an agile fashion, with a part time, distributed team. Topics include roles, scheduling, release planning, writing user stories, and estimation. The value of these techniques are very clear to stakeholders - they get full ownership of their project, choosing what is delivered at every step along the way. And by working with the CMS rather than against it, they get the system they envisioned while minimizing development costs.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,204
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Managing Agile CMS Projects

  1. 1. Managing Agile CMS Projects Sally Kleinfeldt Gilbane Conference November 2012
  2. 2. Your Website Project• You’ve chosen a CMS• Lined up the budget and developers• Selected a design firm• Extracted requirements from stakeholders• How are you going to manage it?
  3. 3. Your Website Project• Medium to large website• Custom functionality• Custom theme• Fixed budget• Vague or changing requirements• ==> Agile!
  4. 4. Your Website Project• Distributed Environment • Everyone (client, developers, PM) in separate locations• No full time staff • Developers typically work 10 to 20 hours/week on a project• ==> Not Agile!
  5. 5. ChallengeHow to adopt agile techniques to managefixed price, flexible scope projects with adistributed, part time team?
  6. 6. Solution• Adapt and refine agile techniques• Focus on: • Communication • Collaboration • Stories • Estimates
  7. 7. Roles
  8. 8. Roles• Project owner• Developer• Designer• PM
  9. 9. Project Owner• Single point of contact• Domain expert• Decision maker• Available for meetings
  10. 10. Developer• Technical expert• Open minded• Honest
  11. 11. Designer• Part of development team• Needs feedback on design implications
  12. 12. Project Manager• Facilitate communication• Record decisions• Understand both client and developer worlds• Translate client requests into developer language• Knowledge of CMS key!
  13. 13. Initial Scheduling
  14. 14. You’re Starting the Project• Fixed budget, fixed number of hours• First step: create a high level schedule• Provides a framework for what you need to do when
  15. 15. High Level Schedule• Divide budget among 3 phases • Planning - varies with uncertainty • Development - timeboxed iterations • Deployment - varies with complexity
  16. 16. Development Iterations• How many depends on: • Available hours • Size of team • Go-live date
  17. 17. Development Iterations • One or two week iterations ideal • For a team of 2 developers • 5-10 hours PM time • 15-40 hours developer time • Timeboxed! Must hold to those hours
  18. 18. Evaluation Periods• Schedule an evaluation week between each development iteration• Clients need the time to test, reflect, meet, adjust priorities
  19. 19. Deployments• Several smaller deployments are preferable to one mega-deployment• Easy to run out of time for fixing bugs if postpone deployment to end of project
  20. 20. Planning Phase
  21. 21. Planning• Discovery• Story development• Technical architecture
  22. 22. Discovery• Clarify problem, solution, expected benefits• Uncover issues• Agree to priorities• Build working relationships
  23. 23. Discovery Tools• Research, interviews, analysis• Brainstorming session• Prioritization exercise• Card sorting exercise
  24. 24. Discovery Outcomes• Prioritized requirements• Technology recommendations• High level data model• Information architecture• Roadmap of iterations• Budget estimates
  25. 25. User Stories• Describe a system feature in user terms - content editors, site users, site admins...• As a [role], I need to [do task] so that [business value]• Self contained, testable, one to three days of work
  26. 26. User Story Development• PM and project owner write stories• An index card worth of information, will get fleshed out during development• PM guides stories to fit CMS functionality - work with the CMS not against it
  27. 27. Story Estimation• How big is each story? How long will it take?• Critical information for client - informs prioritization• Developers learn about the project through understanding and estimating stories
  28. 28. Planning Poker• Developers, project owner and PM• PM reads story, developers ask questions, project owner answers• Developers simultaneously “play a card” with relative story points (not hours)• Define and estimate stories as you need them, not all at once
  29. 29. Planning Poker• Time consuming, but planning poker • Makes developers understand requirements • Makes clients understand development trade offs• Informed clients can get what they really need while minimizing costs
  30. 30. Distributed Planning Poker• How to play planning poker with a remote team?• Plugins available for Pivotal Tracker, Scrumdo, Jira• Free online planning poker from Mountain Goat Software: http://www.planningpoker.com/
  31. 31. Distributed Planning Poker• Android and iPhone apps available (Google for "free online planning poker")• Use a Google Spreadsheet: http:// fourkitchens.com/blog/2012/07/16/ scrum-playing-planning-poker-scattered- team
  32. 32. Story Prioritization• Stories are the “backlog”• Have project owner arrange stories in backlog in priority order
  33. 33. Technical Architecture• Define high level technical architecture after planning poker• How to do theming, what add-ons are necessary, approach to custom development, etc.
  34. 34. Development Iterations
  35. 35. Anatomy of an Iteration• Client chooses stories based on points and priority• Iteration planning meeting • Task breakdown and estimation • Story/task assignments• Daily standup meetings • Yesterday, today, blockers
  36. 36. Designers• How to integrate UX/UI design into development process?• A CMS is not a blank slate, some designs are easy to implement and some not• Clients can bring designers to a project that don’t know the CMS
  37. 37. Tips for Working With Designers• Try to include designers in the dev team• Have developers review preliminary wireframes and graphic designs before client sees them• Have designers work on wireframes for a story at the same time as developers
  38. 38. Designers• Have developers mock up functionality first using available add-ons and use that as basis for wireframe• Have designer style all tags and classes the CMS will output• Make sure designers will be available for theming questions for entire project!
  39. 39. Tools
  40. 40. Tools• “Real” agile relies on co-located teams, index cards, white boards• We need tools that substitute for these things
  41. 41. Communication• Skype• IRC• Chat• Calendar
  42. 42. Agile Development• Many contenders • Jira, Rally, VersionOne, ...• Hosted SaaS solutions worth checking out • Pivotal Tracker, Scrumdo
  43. 43. Questions, Discussion?

×