SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
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?

Más contenido relacionado

Similar a Agile Development with Plone for Distributed Teams

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 togetherDassi 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 PlanSuite Solutions
 
Development Process for Micro Projects
Development Process for Micro ProjectsDevelopment Process for Micro Projects
Development Process for Micro ProjectsMartin Verrev
 
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-v4Andy Kucharski
 
Project Management Basics
Project Management BasicsProject Management Basics
Project Management BasicsBrian 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 2012Atlassian
 
How to Integrate UX and Agile
How to Integrate UX and AgileHow to Integrate UX and Agile
How to Integrate UX and AgileUserZoom
 
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 ManagersLeon Gallegos
 
The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT ArchitectureChristopher Grant
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM WatsonUserTesting
 

Similar a Agile Development with Plone for Distributed Teams (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"
 

Más de Sally Kleinfeldt

The Future of Search in Plone
The Future of Search in PloneThe Future of Search in Plone
The Future of Search in PloneSally Kleinfeldt
 
Large Files without the Trials
Large Files without the TrialsLarge Files without the Trials
Large Files without the TrialsSally 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 StudySally 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, DiscussionsSally Kleinfeldt
 
Running a Small Business with Plone
Running a Small Business with PloneRunning a Small Business with Plone
Running a Small Business with PloneSally Kleinfeldt
 

Más de 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
 

Último

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Último (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Agile Development with Plone for Distributed Teams

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