Tuesday, August 13, 2013

Plone Drills - Mastery through practice

Inspired from a post on performing Code Katas I would like to introduce my own spin on things. I call them “Plone Drills”. The goal is to develop a series of exercises which, if practiced regularly, will help to make Plone development a reflex for new developers.  This is about brain rewiring through practice, it also focuses on giving persons the opportunity to imitate then innovate. Finally, somewhere wrapped in all of this is a methodology for documenting processes.




The Components

A Drill

The goal is to design a Drill that lasts less than 10 minutes and reinforces a valuable skill required for implementing some aspect of Plone.

A Session

A scheduled time to practice drills. Sessions can be done as individuals but there is great value in performing them in group settings. The length of the session depends on the number of participants.

During the session a drill is repeated as many times as possible by as many participants as possible. I recommend that the drill be performed in order of experience, from the most experienced to the least experienced and then repeated. Each participant aims to become more fluent in their performance on each iteration. These are only my thoughts at the moment, think of them as a template, I'm open to improvements.

Conducting a Session

If you don't have a projector use a screen-sharing technology of your choice (or both can be implemented). Before the session, invite participants and state clearly which drills will be performed, preferably with a link to the documented drills.

A session involves the following:
  • Setup - Make sure all the technology is working (projector, screenshare etc..)
  • The Drills - Perform the selected drill
  • Review - Discuss any important ideas or observations
  • Closure - Pack up
I recommend having a cheat-sheet easily accessible for participants who are not familiar with some of the tools (e.g. buildout, git, unix terminal, bash, ssh, public private keys etc..)

I've created two drills so far, they are works in progress, see the next section for details.

Official Home for Plone Drills

For now I'm hosting Plone Drills in a Google Drive Folder. Contact me if you want to contribute a new drill.

Drills that already exist

Drills I hope to create or would like to see

  • Theme Template Override
  • Theme Diazo Rules
  • Theme GenericSetup
  • Development: Add new fields to user profiles


4 comments:

TsungWei Hu said...

This is great, and it is helpful to build a Plone learning path. I'd like to add a drill: Plone Theme 0 (install a theme package).

David Bain said...

Thanks for the offer, I'll contact you and give you access to the folder so that you can add your drill.

TsungWei Hu said...

My drill (Install Theme Package) is basically completed. You might want to include it in the Plone Drills folder. I don't know how to move my document to the folder.

https://docs.google.com/document/d/1_ruqls51ayn6rYC_QbPDyzF26VdYPGWuVyD9IlYL_oc/edit?usp=sharing

David Bain said...

Just seeing this... I've added it to the http://tinyurl.com/plonedrills folder

Sign up for my upcoming Plone 5 Book & Video tutorials

plone 5 for newbies book and videos