Slideshare.net (beta)

 
Post to TwitterPost to Twitter
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

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, 11 months ago

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

899 views  |  0 comments  |  0 favorites  |  47 downloads
 

Categories

Add Category
 
 
 
 

Groups / Events

 
Embed
options

More Info

This slideshow is Public
Total Views: 899
on Slideshare: 899
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 ?