How to organise to "rock&roll" with Drupal 8 ... or any other new technology
Effective learning and knowledge sharing, while maintaining productivity and engagement on commercial projects is always a challenge for professional services organisation. I was watching an Acquia Partners video about learning Drupal 8 the other day, and I found it quite interesting, inspiring and also addressing this problem. I believe the webinar provided several valid points on how to achieve the technical competence across an organisation when learning new technology.
> We love to learn, but the challenge is to share the knowledge across the organisation.
I would like to share couple of notes and principles from this webinar. I also believe that these principles apply for learning and sharing knowledge in general, not just in Drupal scope. Please understand this is not a full blog post, rather notes and ideas from webinar, I'd like to share.
- Drupal 8 is here now (for a while).
- Organisations need to stay relevant and provide up to date services.
- On one hand we need to delivery projects, business as usual, but we need to learn at the same time.
Scope of changes
Drupal 8 introduces huge architectural change, new code components, methodologies and principles.
- OOP - for Drupal developers many times new and unknown thing, probably the biggest barrier.
- Symfony2 components.
- Twig - new theming layer.
- Mobile first.
- Caching and performance changes.
- Configuration management.
- View in core.
- Blocks are now plugins.
- Schema.org ready.
- Additional fields.
Who needs to know what?
- Project scope:
- Usage and availability of contrib modules - the teams need to know what’s out there, available for Drupal 8, stable and usable.
- Porting modules & custom code - teams need to know know how to port modules from Drupal 7 and how to write own custom modules for Drupal 8, whether porting an existing site from Drupal 6 or 7 to Drupal 8, or building on Drupal 8 from scratch.
- Team scope:
- Acquia divides learners into three groups:
- Explainers: sales, marketing, business development
- Assemblers: non-coders, consultants, builders
- Makers & Fixers: coders, support, architects
- How much time? - to gain SOME level of confidence to be able to talk to the customer
- Explainers: 1-4 hrs
- Assemblers: 10-20 hrs
- Makers & Fixers: 40-80 hrs
- Internal knowledge base:
- Acquia identified that internal knowledge base documenting scope of learning is crucial for success of the learning project. The wiki provides overall scope of what is being learned and provides effective way to introduce the scope to newcomers to learning project at any time.
- Mentorship is the key to velocity of learning. Gained knowledge needs to be handed over from person to person, ideally in pairs (hence mitosis).
- What does mitosis mean? A pair of learners goes through the learning process, teaching each other and gaining knowledge. At some point they split, pair with new candidates eager to learn and hand over the knowledge. Afterwards the process repeats.
- Outcome of the learning process: gaining theoretical knowledge + practical exercise and experience with port a Drupal module to D8. Module mirrors architecture of the framework.
- Lessons learned are documented in the wiki.
- What? - Practical steps.
- Rate of trained people grows exponentially: 2,4,8,16, ...
- Pick initial pairs.
- Create starting instructions.
- Continuous documentation is crucial.
- Pairing people with no experience with people with some experience 2 -> 4 -> 8 -> ...
- Velocity: 10 weeks, 4hrs/week.
Learning vs. productivity
- This way of learning provides flexibility of resources to the organisation.
- Progress can be easily tracked.
- Communicate often.
- Ownership of the knowledge is shared, not sitting with individuals.
- Finishing the training cycle can be evaluated as KPI.
- Confluence - documentation
- Google apps.
- Progress tracking spreadsheets.
- Contrib module tracking spreadsheets.
- Coordination meetings.
- Chat room & email (collaboration).
- Protected time for the training - specific week/day/time, when people are blocked/allocated for the training despite their other assignments.
- 10 x 4hr block.
- Carving out protected time.
- Scheduling and tracking.
- Differences in skill sets.
- Resistance to Drupal 8 methods.
- Resistance to training method.
- Creating and finding good documentation.
Search for opportunities to learn
- Internal site, internal project.
- Porting modules of interest from Drupal 7 to Drupal 8.
- Community website.
- Contrib projects.
- Bleeding edge customer jobs.
I believe that by setting correct goals and using the mitosis approach, an organisation can learn new technologies (not just Drupal 8) more effectively. For example an internal Drupal 8 based project, where you could apply this learning method, including everyone who needs to know Drupal 8 development. That way an organisation can be ready for their first Drupal 8 commercial project sooner than the competitors ... or any other new technology for that matter.
The original video can be found on https://www.acquia.com/resources/webinars/organizing-rock-and-roll-drupa....