SlideShare a Scribd company logo
Agile Development
    with Plone
         Sally Kleinfeldt
   Plone Symposium East 2011
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
Our Plone Projects
• Medium to large websites
• Custom functionality
• Custom theme
• Fixed budget
• Vague or changing requirements
• ==> Agile!
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!
Challenge


• How to adopt agile techniques to manage
  fixed price, flexible scope projects with a
  distributed, part time team?
Our Solution
• Focus on:
 • Communication
 • Collaboration
 • Stories
 • Estimates
• Work in progress!
Roles

• Project owner
• Developer
• Designer
• PM
Roles:
     Project Owner

• Single point of contact
• Domain expert
• Decision maker
• Available for meetings
Roles:
         Developer

• Technical expert
• Open minded
• Honest
Roles:
            Designer

• Part of development team
• Needs feedback on design implications
Roles:
      Project Manager
• Facilitate communication
• Record decisions
• Understand both client and developer
  worlds
• Translate client requests into developer
  language
• Knowledge of Plone key!
Scheduling the Project

• Fixed budget, fixed number of hours
• Divide between
 • Planning - varies with uncertainty
 • Deployment - varies with complexity
 • Development iterations
Scheduling:
Development Iterations
 • How many depends on:
  • Total development hours
  • Size of team
  • Go-live date
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!
Planning

• Discovery
• Story development
• Technical architecture
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
Planning:
  Story Development

• PM and project owner write stories
• PM guides stories to fit Plone functionality
• There will be content editor stories and
  site user stories
Agile Development with Plone
Planning:
       Planning Poker
• Developers, project owner and PM
• We use modified 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
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.
Development Iterations
• Client chooses stories, guided by PM
• Iteration planning meeting
 • Task breakdown and estimation
 • Story/task assignments
• Daily standup meetings
 • Yesterday, today, blockers
Tools

• “Real” agile relies on co-located teams,
  index cards, white boards
• We need tools that substitute for these
  things
Tools:
     Communication
• Skype
• IRC
• Chat
• Google Calendar
Tools:
   Agile Development

• Many contenders
 • Jira, Rally,VersionOne, ...
• We’ve tried a few
Tools:
   Agile Development
• Trac and plugins
• Pivotal Tracker
• Scrumdo
• Google Docs
Trac
• We use ClueMapper, with its easy Trac/
  Subversion integration
 • Project staff access management
 • Project documentation, including ReST
    formatted Readme files in svn
 • Support tickets after development
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
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
Agile Development with Plone
ScrumDo
• Commercial hosted SaaS solution
• User friendly, nice feature set
• More flexible iteration scheduling and story
  assignments
• Better task breakdown and assignment
• Written in Python!
Agile Development with Plone
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
  flexibility and see-everything-at-once feeling
  of a whiteboard
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
Agile Development with Plone
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
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
Design
• Have developers mock up functionality first
  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!
Questions, Discussion?

More Related Content

PDF
The Great Migration- How Top Publishing Companies Are Preparing for Drupal 8
PPTX
Agile SCRUM presentation HJT_Final
PPTX
Using an Agile Inception to Kick Off a Project
PPTX
Make better share point stuff with an agile methodology
PPTX
Agile project control
PDF
ReliefWeb | DevSeed Meeting | 03 Sep 2010
PDF
PrototypingToolsDiscovery_1280x720_v3
PPTX
So you want to manage a remote team
The Great Migration- How Top Publishing Companies Are Preparing for Drupal 8
Agile SCRUM presentation HJT_Final
Using an Agile Inception to Kick Off a Project
Make better share point stuff with an agile methodology
Agile project control
ReliefWeb | DevSeed Meeting | 03 Sep 2010
PrototypingToolsDiscovery_1280x720_v3
So you want to manage a remote team

Similar to Agile Development with Plone (20)

PDF
Requirements the Last Bottleneck
PDF
UX and Agile can be better together
PPTX
Remote PI Planning: ScrumMaster & RTE Edition
PPTX
DITA Quick Start Webinar Series: Building a Project Plan
PPTX
Development Process for Micro Projects
PPTX
Project management
PPTX
Chapter-4.pptx
PPTX
Improve your library: Using the 5 Phases of Project Management
PPT
2012 bad camp-project management tools and organization-v4
PPTX
The Agile Mindset
PPTX
Project Management Basics
PPTX
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
PPTX
Project Management
PDF
Agile and UX
PPT
How to Integrate UX and Agile
PPTX
Feature Driven Development agile sofwtare
DOCX
Project management.docx communictionLecture notes Training for Trainers in Ge...
PPTX
Microsoft Project Online for Project Managers
PDF
The Profession Of IT Architecture
PDF
UX in Action: IBM Watson
Requirements the Last Bottleneck
UX and Agile can be better together
Remote PI Planning: ScrumMaster & RTE Edition
DITA Quick Start Webinar Series: Building a Project Plan
Development Process for Micro Projects
Project management
Chapter-4.pptx
Improve your library: Using the 5 Phases of Project Management
2012 bad camp-project management tools and organization-v4
The Agile Mindset
Project Management Basics
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Project Management
Agile and UX
How to Integrate UX and Agile
Feature Driven Development agile sofwtare
Project management.docx communictionLecture notes Training for Trainers in Ge...
Microsoft Project Online for Project Managers
The Profession Of IT Architecture
UX in Action: IBM Watson
Ad

More from Jazkarta, Inc. (20)

PDF
Traveling through time and place with Plone
PDF
Questions: A Form Library for Python with SurveyJS Frontend
PDF
The User Experience: Editing Composite Pages in Plone 6 and Beyond
PDF
WTA and Plone After 13 Years
PDF
Collaborating With Orchid Data
PDF
Spend a Week Hacking in Sorrento!
PDF
Plone 5 Upgrades In Real Life
PDF
Accessibility in Plone: The Good, the Bad, and the Ugly
PDF
Getting Paid Without GetPaid
PDF
An Open Source Platform for Social Science Research
PDF
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
PDF
Anatomy of a Large Website Project
PDF
Anatomy of a Large Website Project - With Presenter Notes
PDF
The Mountaineers: Scaling the Heights with Plone
PDF
Plone Hosting: A Panel Discussion
PDF
Plone+Salesforce
PDF
Academic Websites in Plone
PDF
KEY
Online Exhibits in Plone
PDF
Online exhibits in Plone
Traveling through time and place with Plone
Questions: A Form Library for Python with SurveyJS Frontend
The User Experience: Editing Composite Pages in Plone 6 and Beyond
WTA and Plone After 13 Years
Collaborating With Orchid Data
Spend a Week Hacking in Sorrento!
Plone 5 Upgrades In Real Life
Accessibility in Plone: The Good, the Bad, and the Ugly
Getting Paid Without GetPaid
An Open Source Platform for Social Science Research
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
Anatomy of a Large Website Project
Anatomy of a Large Website Project - With Presenter Notes
The Mountaineers: Scaling the Heights with Plone
Plone Hosting: A Panel Discussion
Plone+Salesforce
Academic Websites in Plone
Online Exhibits in Plone
Online exhibits in Plone
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MIND Revenue Release Quarter 2 2025 Press Release
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.

Agile Development with Plone

  • 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 fixed price, flexible scope projects with a distributed, part time team?
  • 6. Our Solution • Focus on: • Communication • Collaboration • Stories • Estimates • Work in progress!
  • 7. Roles • Project owner • Developer • Designer • PM
  • 8. Roles: Project Owner • Single point of contact • Domain expert • Decision maker • Available for meetings
  • 9. Roles: Developer • Technical expert • Open minded • Honest
  • 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, fixed number of hours • Divide between • Planning - varies with uncertainty • Deployment - varies with complexity • Development iterations
  • 13. Scheduling: Development Iterations • How many depends on: • Total development hours • Size of team • Go-live date
  • 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!
  • 15. Planning • Discovery • Story development • Technical architecture
  • 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 fit Plone functionality • There will be content editor stories and site user stories
  • 19. Planning: Planning Poker • Developers, project owner and PM • We use modified 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 files 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
  • 30. ScrumDo • Commercial hosted SaaS solution • User friendly, nice feature set • More flexible iteration scheduling and story assignments • Better task breakdown and assignment • Written in Python!
  • 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 flexibility 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
  • 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 first 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!