Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 1 (more)

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

From wooda, 9 months ago

Plone is cool, powerful and does what it promises. But any ambitio more

855 views  |  0 comments  |  0 favorites  |  46 downloads
Embed
options

More Info

This slideshow is Public
Total Views: 855
on Slideshare: 855
from embeds: 0

Slideshow transcript

Slide 1: Anti-patterns and Patterns for successful projects Things to avoid and things to do in a difficult content management world ! Speaker: Kamon AYEVA

Slide 2: Me Kamon AYEVA Ingeniweb Zope/Plone solutions & training

Slide 3: Introduction (Why care ?) Any website project is a ”software” project ... at some level !

Slide 4: People User - Project Manager - Developer

Slide 5: Successful project ? Success depends on how the 3 parties work together

Slide 6: The main challenge Each party has his own priorities !

Slide 7: The first tip ! Better understand each other !

Slide 8: 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 !

Slide 9: The Project Manager Speaks with User... then speaks with Developer... then... Manages the budget.

Slide 10: The User The tool should address my needs. The tool should be easy to use. I don't want to change my habits !

Slide 11: By the way... User should be put first !

Slide 12: When a project works... User is happy. Project Manager can have better sleeps. Developer is creative, and can leave the office early.

Slide 13: Huh ? So it's possible ?

Slide 14: Me thinks so ! A way of living: Avoid things that don't work, a.k.a. ”anti-patterns” Apply rules and patterns that work !

Slide 15: Anti-patterns Things to avoid !

Slide 16: #1 Re-inventing the wheel Reinventing systems that are already good at the job: File Server, DMS, Mail Server...

Slide 17: #2 If You Build It, They Will Come What problem are you trying to address ? For who ?

Slide 18: IYBITWC trap Building interesting tools that the Enterprise users ● are not yet ready for Groupware / Sharing tools  Web 2.0 

Slide 19: #3 Gaz Factory You really want to avoid this one !

Slide 20: 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 ●

Slide 21: #4 The input of the field is a selection Incomplete specification !!! List of values or unique value ?

Slide 22: There are more... Software bloat ● Design by committee ● Golden hammer ●

Slide 23: Principles & Patterns Better live with some principles !

Slide 24: #1 The Pareto principle 80% of the effects come from 20% of the causes a.k.a. the 80-20 rule

Slide 25: The 80-20 rule in action Identify and focus first on delivering your 20% part of the message, content, system...

Slide 26: #2 KISS Keep It Simple Stupid !

Slide 27: Kiss, Kiss, Kiss... Whenever possible, choose a simple solution

Slide 28: KISS' friends Simple is better than complex ● Flat is better than nested/hierarchical – Complex is better than complicated ●

Slide 29: #3 YAGNI You Ain't Gonna Need It !

Slide 30: Typical ”YAGNI” ”The discussion forum”

Slide 31: Oh my gosh ! ”I want a forum within each teamspace”

Slide 32: YAGNI ? BKIS ! Better Know It Soon ! Avoid potential bugs with non-needed stuff.

Slide 33: #4 The Right Thing The design should be right ! (MIT)

Slide 34: #5 Worse is better Simplicity is more important than rightness

Slide 35: Advices Principles and patterns put into action

Slide 36: #1 Don't rethink the CMS Just extend it !

Slide 37: Extending ? Focus on UI : Tweak things for your needs ● Make compromises !!! ● Adapt existing logic... ● Plug additional logic ●

Slide 38: #2 Standardize or perish ! Use the tools/approaches adopted by others

Slide 39: The Community's best practices Infrastructure: Linux, ZEO... ● Content types: Archetypes, ATCT, ● ArchGenXML... Add-ons for OOTB services: PloneArticle, ● PloneFormGen, etc...

Slide 40: #3 Play with the Community Find help ! ● Give back ● code – documentation – testing, reviewing... –

Slide 41: #4 Seperate concerns Content vs. Presentation ● Models - Data storage - DB – Views - Templates – CSS ● Site structure vs. Site navigation ● Containers – Navigation Views - Topics - Relations ●

Slide 42: #5 Requirements User stories Use cases

Slide 43: #6 Use a tracker Better communication Give access to users so they can report bugs

Slide 44: #7 Quality Unit & Functional tests Documentation Build for scaling

Slide 45: More on scaling Optimization Caching ZEO + load-balancing

Slide 46: #8 Migrations A migration project is a normal project, with additional difficulties

Slide 47: Dump and reload ! Set up a new Plone site. Dump ”configuration & content” from old site and load it in new site.

Slide 48: #9 Use Plone 3 ”Best Plone Ever”

Slide 49: Thank You ! Questions ?