• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Managing Agile CMS Projects
 

Managing Agile CMS Projects

on

  • 1,199 views

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 ...

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.

Statistics

Views

Total Views
1,199
Views on SlideShare
1,107
Embed Views
92

Actions

Likes
2
Downloads
0
Comments
0

2 Embeds 92

http://www.jazkarta.com 91
http://m.jazkarta.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Managing Agile CMS Projects Managing Agile CMS Projects Presentation Transcript

    • 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 requirements from stakeholders• How are you going to manage it?
    • Your Website Project• Medium to large website• Custom functionality• Custom theme• Fixed budget• Vague or changing requirements• ==> Agile!
    • 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!
    • 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 client requests into developer language• Knowledge of CMS key!
    • Initial Scheduling
    • 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
    • High Level Schedule• Divide budget among 3 phases • Planning - varies with uncertainty • Development - timeboxed iterations • Deployment - varies with complexity
    • 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 hours developer time • Timeboxed! Must hold to those hours
    • Evaluation Periods• Schedule an evaluation week between each development iteration• Clients need the time to test, reflect, meet, adjust priorities
    • 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
    • Planning Phase
    • Planning• Discovery• Story development• Technical architecture
    • Discovery• Clarify problem, solution, expected benefits• Uncover issues• Agree to priorities• Build working relationships
    • Discovery Tools• Research, interviews, analysis• Brainstorming session• Prioritization exercise• Card sorting exercise
    • Discovery Outcomes• Prioritized requirements• Technology recommendations• High level data model• Information architecture• Roadmap of iterations• Budget estimates
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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/
    • 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
    • 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 necessary, approach to custom development, etc.
    • Development Iterations
    • 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
    • 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
    • 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
    • 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!
    • 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 Tracker, Scrumdo
    • Questions, Discussion?