• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Kamon Ayeva   Antipatterns, Patterns, And Rules Of Thumb For Successful Plone Projects
 

Kamon Ayeva Antipatterns, Patterns, And Rules Of Thumb For Successful Plone Projects

on

  • 2,934 views

Plone is cool, powerful and does what it promises. But any ambitious Plone project is difficult if you don't pay attention to some prerequisites and follow some rules, both general and specific to the ...

Plone is cool, powerful and does what it promises. But any ambitious Plone project is difficult if you don't pay attention to some prerequisites and follow some rules, both general and specific to the Plone world. This presentation hopes to help people involved in Plone projects to stop worrying and experience bad or unproductive communication we see sometimes, and adopt a new mantra : "Let's deliver that project and move on to the next one !" Based on the experience of the community at large, we are going to review the traps, the requirements, and how to approach problems if you want your project to succeed. In the tradition of "reuse what already works", you can apply already known project management patterns and antipatterns to your Plone project. You will be surprised to see that it works ! More importantly, the session will bring advices to the different parties of a project (the Company/User and the Consultant/Developer/Provider), and investigate how they can work together for a better outcome for the end-user.

Statistics

Views

Total Views
2,934
Views on SlideShare
2,934
Embed Views
0

Actions

Likes
0
Downloads
63
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

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

    Kamon Ayeva   Antipatterns, Patterns, And Rules Of Thumb For Successful Plone Projects Kamon Ayeva Antipatterns, Patterns, And Rules Of Thumb For Successful Plone Projects Presentation Transcript

    • Anti-patterns and Patterns for successful projects
        • Things to avoid and things to do in a difficult content management world !
        • Speaker: Kamon AYEVA
    • Me
        • Kamon AYEVA
        • Ingeniweb
        • Zope/Plone solutions & training
    • Introduction ( Why care ?)
        • Any website project is a ”software” project
        • ... at some level !
    • People
        • User - Project Manager - Developer
    • Successful project ?
        • Success depends on how the 3 parties work together
    • The main challenge
        • Each party has his own priorities !
    • The first tip !
        • Better understand each other !
    • The Developer
        • It's a though game here !
        • CMS, DMS, Web 2.0
        • Frameworks, Flex, AjaX, JavaFX
        • Python, Java, Ruby, .Net
        • Trying hard to get the CMS right !
    • The Project Manager
        • Speaks with User... then speaks with Developer... then...
        • Manages the budget.
    • The User
        • The tool should address my needs.
        • The tool should be easy to use.
        • I don't want to change my habits !
    • By the way...
        • User should be put first !
    • When a project works...
        • User is happy.
        • Project Manager can have better sleeps.
        • Developer is creative, and can leave the office early.
    • Huh ?
        • So it's possible ?
    • Me thinks so !
        • A way of living:
        • Avoid things that don't work, a.k.a. ”anti-patterns”
        • Apply rules and patterns that work !
    • Anti-patterns
        • Things to avoid !
    • #1 Re-inventing the wheel
        • Reinventing systems that are already good at the job: File Server, DMS, Mail Server...
    • #2 If You Build It, They Will Come
        • What problem are you trying to address ?
        • For who ?
    • IYBITWC trap
      • Building interesting tools that the Enterprise users are not yet ready for
        • Groupware / Sharing tools
        • Web 2.0
    • #3 Gaz Factory
        • You really want to avoid this one !
    • GF example
      • Publishing workflow that maps the organization hierarchy
        • ”I need N reviewing steps because the Author has a boss who has a boss who has a boss...”
          • This is Web - 1.0
    • #4 The input of the field is a selection
        • Incomplete specification !!!
        • List of values or unique value ?
    • There are more...
      • Software bloat
      • Design by committee
      • Golden hammer
    • Principles & Patterns
        • Better live with some principles !
    • #1 The Pareto principle
        • 80% of the effects come from 20% of the causes
        • a.k.a. the 80-20 rule
    • The 80-20 rule in action
        • Identify and focus first on delivering your 20% part of the message, content, system...
    • #2 KISS
        • Keep It Simple Stupid !
    • Kiss, Kiss, Kiss...
        • Whenever possible, choose a simple solution
    • KISS' friends
      • Simple is better than complex
        • Flat is better than nested/hierarchical
      • Complex is better than complicated
    • #3 YAGNI
        • You Ain't Gonna Need It !
    • Typical ”YAGNI”
        • ” The discussion forum”
    • Oh my gosh !
        • ” I want a forum within each teamspace”
    • YAGNI ? BKIS !
        • Better Know It Soon !
        • Avoid potential bugs with non-needed stuff.
    • #4 The Right Thing
        • The design should be right !
        • (MIT)
    • #5 Worse is better
        • Simplicity is more important than rightness
    • Advices
        • Principles and patterns put into action
    • #1 Don't rethink the CMS
        • Just extend it !
    • Extending ?
      • Focus on UI : Tweak things for your needs
      • Make compromises !!!
      • Adapt existing logic...
      • Plug additional logic
    • #2 Standardize or perish !
        • Use the tools/approaches adopted by others
    • The Community's best practices
      • Infrastructure: Linux, ZEO...
      • Content types: Archetypes, ATCT, ArchGenXML...
      • Add-ons for OOTB services: PloneArticle, PloneFormGen, etc...
    • #3 Play with the Community
      • Find help !
      • Give back
        • code
        • documentation
        • testing, reviewing...
    • #4 Seperate concerns
      • Content vs. Presentation
        • Models - Data storage - DB
          • Views - Templates – CSS
      • Site structure vs. Site navigation
        • Containers
          • Navigation Views - Topics - Relations
    • #5 Requirements
        • User stories
        • Use cases
    • #6 Use a tracker
        • Better communication
        • Give access to users so they can report bugs
    • #7 Quality
        • Unit & Functional tests
        • Documentation
        • Build for scaling
    • More on scaling
        • Optimization
        • Caching
        • ZEO + load-balancing
    • #8 Migrations
        • A migration project is a normal project, with additional difficulties
    • Dump and reload !
        • Set up a new Plone site.
        • Dump ”configuration & content” from old site and load it in new site.
    • #9 Use Plone 3
        • ” Best Plone Ever”
    • Thank You !
        • Questions ?