This document discusses how to adopt agile techniques for managing Plone projects with distributed, part-time teams on a fixed budget. Key points include:
- Defining roles like project owner, developer, designer, and project manager
- Scheduling projects into planning, deployment, and development iterations
- Using tools like Trac, Pivotal Tracker, ScrumDo, and Google Docs to facilitate communication, tracking stories and tasks, and planning iterations
- Integrating UX/UI design by including designers in the team and having them work closely with developers
1. Agile Development
with Plone
Sally Kleinfeldt
Plone Symposium East 2011
2. The Accidental PM
⢠I am not an expert!
⢠No PM or Agile training
⢠The developer with domain knowledge
⢠But small business == many hats
⢠So now I manage projects
⢠Use this session to share
3. Our Plone Projects
⢠Medium to large websites
⢠Custom functionality
⢠Custom theme
⢠Fixed budget
⢠Vague or changing requirements
⢠==> Agile!
4. Our Environment
⢠Distributed
⢠Everyone (client, each developers, me) in
separate locations
⢠Not full time
⢠Developers typically 10 to 20 hours/week
on a project
⢠==> Not Agile!
5. Challenge
⢠How to adopt agile techniques to manage
ďŹxed price, ďŹexible scope projects with a
distributed, part time team?
6. Our Solution
⢠Focus on:
⢠Communication
⢠Collaboration
⢠Stories
⢠Estimates
⢠Work in progress!
10. Roles:
Designer
⢠Part of development team
⢠Needs feedback on design implications
11. Roles:
Project Manager
⢠Facilitate communication
⢠Record decisions
⢠Understand both client and developer
worlds
⢠Translate client requests into developer
language
⢠Knowledge of Plone key!
12. Scheduling the Project
⢠Fixed budget, ďŹxed number of hours
⢠Divide between
⢠Planning - varies with uncertainty
⢠Deployment - varies with complexity
⢠Development iterations
14. Scheduling:
Development Iterations
⢠One or two week iterations ideal
⢠5-10 hours PM
⢠15-30 hours devlopers
⢠Important to hold to those hours
⢠Schedule evaluation weeks between
iterations!
16. Planning:
Discovery
⢠Varies depending on size of project and
what client has done
⢠Minimum: 5-10 hours gathering materials
and discussions with project owner
⢠Could be many hours of meetings, analysis,
and a formal report
17. Planning:
Story Development
⢠PM and project owner write stories
⢠PM guides stories to ďŹt Plone functionality
⢠There will be content editor stories and
site user stories
18.
19. Planning:
Planning Poker
⢠Developers, project owner and PM
⢠We use modiďŹed Fibbonacci - 0, .5, 1, 2, 3,
5, 8, 13, 20, 40, 100
⢠Trust developers to be independent
⢠Time consuming, but planning poker
discussions make developers understand
requirements and clients understand
development trade offs
20. Planning:
Technical Architecture
⢠A few hours of high level technical planning
after planning poker
⢠Developers and PM
⢠How to do theming, what add-ons are
necessary, approach to custom
development, etc.
21. Development Iterations
⢠Client chooses stories, guided by PM
⢠Iteration planning meeting
⢠Task breakdown and estimation
⢠Story/task assignments
⢠Daily standup meetings
⢠Yesterday, today, blockers
22. Tools
⢠âRealâ agile relies on co-located teams,
index cards, white boards
⢠We need tools that substitute for these
things
23. Tools:
Communication
⢠Skype
⢠IRC
⢠Chat
⢠Google Calendar
24. Tools:
Agile Development
⢠Many contenders
⢠Jira, Rally,VersionOne, ...
⢠Weâve tried a few
25. Tools:
Agile Development
⢠Trac and plugins
⢠Pivotal Tracker
⢠Scrumdo
⢠Google Docs
26. Trac
⢠We use ClueMapper, with its easy Trac/
Subversion integration
⢠Project staff access management
⢠Project documentation, including ReST
formatted Readme ďŹles in svn
⢠Support tickets after development
27. Trac
⢠There are numerous Agile plugins - Agilo,
Itteco, ScrumBurndown, etc.
⢠Mostly clunky, too many pieces
⢠We do not use Trac for development
iterations - stories and tasks
28. Pivotal Tracker
⢠Commercial hosted SaaS solution
⢠User friendly, nice feature set
⢠BUT built for full time agile teams with
back to back, same size iterations
⢠Does not match our process
29.
30. ScrumDo
⢠Commercial hosted SaaS solution
⢠User friendly, nice feature set
⢠More ďŹexible iteration scheduling and story
assignments
⢠Better task breakdown and assignment
⢠Written in Python!
31.
32. Dilemma
⢠Clients need a tool like ScrumDo that
provides overview of stories and easy drag
and drop prioritization and iteration
planning
⢠But for developers it doesnât have the
ďŹexibility and see-everything-at-once feeling
of a whiteboard
33. Google Docs
To The Rescue
⢠We use a Google Doc for each iteration
⢠Easily record stories, tasks, estimates,
assignments, and actuals
⢠Everyone can see it and see each other
editing it during meetings
⢠Itâs the closest thing to a white board and
index cards
34.
35. Design
⢠Perennial question: how to integrate UX/UI
design into this process
⢠Plone is not a blank slate, some designs are
easy to implement and some not
⢠Clients often bring designers to a project,
and they donât know Plone
36. Design
⢠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
37. Design
⢠Have developers mock up functionality ďŹrst
using available add-ons and use that as basis
for wireframe
⢠Create a sample Plone Page using all
WYSIWYG editor features and make sure
designer styles them all
⢠Make sure designer will be available for
theming questions for entire project!