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

Similar to Agile Development with Plone

Requirements the Last Bottleneck
Requirements the Last BottleneckRequirements the Last Bottleneck
Requirements the Last Bottleneck
Karwin Software Solutions LLC
 
UX and Agile can be better together
UX and Agile can be better togetherUX and Agile can be better together
UX and Agile can be better together
Dassi Shusterman
 
Remote PI Planning: ScrumMaster & RTE Edition
Remote PI Planning: ScrumMaster & RTE Edition   Remote PI Planning: ScrumMaster & RTE Edition
Remote PI Planning: ScrumMaster & RTE Edition
Laura Caldie Richardson
 
DITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanDITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project Plan
Suite Solutions
 
Development Process for Micro Projects
Development Process for Micro ProjectsDevelopment Process for Micro Projects
Development Process for Micro Projects
Martin Verrev
 
Project management
Project managementProject management
Project management
Brian Pichman
 
Chapter-4.pptx
Chapter-4.pptxChapter-4.pptx
Chapter-4.pptx
ssuser2a57a3
 
Improve your library: Using the 5 Phases of Project Management
Improve your library: Using the 5 Phases of Project Management Improve your library: Using the 5 Phases of Project Management
Improve your library: Using the 5 Phases of Project Management
ALATechSource
 
2012 bad camp-project management tools and organization-v4
2012 bad camp-project management tools and organization-v42012 bad camp-project management tools and organization-v4
2012 bad camp-project management tools and organization-v4
Andy Kucharski
 
The Agile Mindset
The Agile MindsetThe Agile Mindset
The Agile Mindset
Tony Caniglia
 
Project Management Basics
Project Management BasicsProject Management Basics
Project Management Basics
Brian Pichman
 
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Atlassian
 
Project Management
Project ManagementProject Management
Project Management
Brian Pichman
 
Agile and UX
Agile and UXAgile and UX
Agile and UX
Haunani Pao
 
How to Integrate UX and Agile
How to Integrate UX and AgileHow to Integrate UX and Agile
How to Integrate UX and Agile
UserZoom
 
Project management.docx communictionLecture notes Training for Trainers in Ge...
Project management.docx communictionLecture notes Training for Trainers in Ge...Project management.docx communictionLecture notes Training for Trainers in Ge...
Project management.docx communictionLecture notes Training for Trainers in Ge...
berhanu taye
 
Microsoft Project Online for Project Managers
Microsoft Project Online for Project ManagersMicrosoft Project Online for Project Managers
Microsoft Project Online for Project Managers
Leon Gallegos
 
The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT Architecture
Christopher Grant
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
UserTesting
 
Adamson "Blueprint for Managing Your Project"
Adamson "Blueprint for Managing Your Project"Adamson "Blueprint for Managing Your Project"
Adamson "Blueprint for Managing Your Project"
National Information Standards Organization (NISO)
 

Similar to Agile Development with Plone (20)

Requirements the Last Bottleneck
Requirements the Last BottleneckRequirements the Last Bottleneck
Requirements the Last Bottleneck
 
UX and Agile can be better together
UX and Agile can be better togetherUX and Agile can be better together
UX and Agile can be better together
 
Remote PI Planning: ScrumMaster & RTE Edition
Remote PI Planning: ScrumMaster & RTE Edition   Remote PI Planning: ScrumMaster & RTE Edition
Remote PI Planning: ScrumMaster & RTE Edition
 
DITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanDITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project Plan
 
Development Process for Micro Projects
Development Process for Micro ProjectsDevelopment Process for Micro Projects
Development Process for Micro Projects
 
Project management
Project managementProject management
Project management
 
Chapter-4.pptx
Chapter-4.pptxChapter-4.pptx
Chapter-4.pptx
 
Improve your library: Using the 5 Phases of Project Management
Improve your library: Using the 5 Phases of Project Management Improve your library: Using the 5 Phases of Project Management
Improve your library: Using the 5 Phases of Project Management
 
2012 bad camp-project management tools and organization-v4
2012 bad camp-project management tools and organization-v42012 bad camp-project management tools and organization-v4
2012 bad camp-project management tools and organization-v4
 
The Agile Mindset
The Agile MindsetThe Agile Mindset
The Agile Mindset
 
Project Management Basics
Project Management BasicsProject Management Basics
Project Management Basics
 
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
 
Project Management
Project ManagementProject Management
Project Management
 
Agile and UX
Agile and UXAgile and UX
Agile and UX
 
How to Integrate UX and Agile
How to Integrate UX and AgileHow to Integrate UX and Agile
How to Integrate UX and Agile
 
Project management.docx communictionLecture notes Training for Trainers in Ge...
Project management.docx communictionLecture notes Training for Trainers in Ge...Project management.docx communictionLecture notes Training for Trainers in Ge...
Project management.docx communictionLecture notes Training for Trainers in Ge...
 
Microsoft Project Online for Project Managers
Microsoft Project Online for Project ManagersMicrosoft Project Online for Project Managers
Microsoft Project Online for Project Managers
 
The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT Architecture
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
 
Adamson "Blueprint for Managing Your Project"
Adamson "Blueprint for Managing Your Project"Adamson "Blueprint for Managing Your Project"
Adamson "Blueprint for Managing Your Project"
 

More from Sally Kleinfeldt

The Future of Search in Plone
The Future of Search in PloneThe Future of Search in Plone
The Future of Search in Plone
Sally Kleinfeldt
 
Large Files without the Trials
Large Files without the TrialsLarge Files without the Trials
Large Files without the Trials
Sally Kleinfeldt
 
Scientific Collaboration with Plone: A Case Study
Scientific Collaboration with Plone: A Case StudyScientific Collaboration with Plone: A Case Study
Scientific Collaboration with Plone: A Case Study
Sally Kleinfeldt
 
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, DiscussionsScientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Sally Kleinfeldt
 
Plone Web Services
Plone Web ServicesPlone Web Services
Plone Web Services
Sally Kleinfeldt
 
Running a Small Business with Plone
Running a Small Business with PloneRunning a Small Business with Plone
Running a Small Business with Plone
Sally Kleinfeldt
 

More from Sally Kleinfeldt (6)

The Future of Search in Plone
The Future of Search in PloneThe Future of Search in Plone
The Future of Search in Plone
 
Large Files without the Trials
Large Files without the TrialsLarge Files without the Trials
Large Files without the Trials
 
Scientific Collaboration with Plone: A Case Study
Scientific Collaboration with Plone: A Case StudyScientific Collaboration with Plone: A Case Study
Scientific Collaboration with Plone: A Case Study
 
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, DiscussionsScientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
 
Plone Web Services
Plone Web ServicesPlone Web Services
Plone Web Services
 
Running a Small Business with Plone
Running a Small Business with PloneRunning a Small Business with Plone
Running a Small Business with Plone
 

Recently uploaded

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 

Recently uploaded (20)

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 

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
  • 18.
  • 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
  • 29.
  • 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!
  • 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 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
  • 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 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!