An implementation project playbook
This page is for project leads in implementation partners. It is a playbook, not a method you must follow: adapt it to your contracts. The project managers' section of the help has the planning detail (Planning an Exponential project).
The phases
| Phase | Deliverables | Help |
|---|---|---|
| 1. Discovery | Goals, audiences, languages, sites, integrations, constraints | Planning an Exponential project, Multisite and multilingual planning |
| 2. Content model | Classes, attributes, sections, roles, workflows | Content modeling workshops |
| 3. Environment | Hosting, PHP, database, engine; Git repository | Choosing hosting, database and OS, Develop with Git |
| 4. Build | Designs, templates, layouts, extensions | The layouts editor, Extensions, Estimating and scoping with extensions |
| 5. Content migration | Import scripts or manual entry, redirects | doc/eng-us/install/ migration chapters |
| 6. Quality gates | Accessibility, security, performance, browsers, languages | Quality gates and acceptance, Accessibility, security and compliance checklists |
| 7. Launch | DNS, TLS, caches, monitoring, backups | Security hardening |
| 8. Handover | Editor training, documentation, credentials handed over securely | Getting started, Editing content |
| 9. Maintenance | Release updates, security fixes, PHP upgrades | Keeping customer sites current, Release and upgrade planning |
Partner-specific checks per phase
- Discovery: Is there an existing extension for each requirement? Search before you estimate (Extensions).
- Environment: Use a currently supported PHP (8.0 to 8.5 for 6.0.15; Velocity included from its release 0.0.4.54,
doc/eng-us/install/02-requirements.md). - Build: Keep generic improvements separate from customer code, so they can go upstream (Contributing code back).
- Quality: Run the customer's site in light and dark mode and at high zoom if you changed the administration.
- Launch: Remove or protect installer files and change every default password (Default administrator password).
- Handover: Tell the customer that the software is GPL and that they may move to another partner at any time (Licensing for partners).
Risks to manage
| Risk | Mitigation | Page |
|---|---|---|
| Unsupported extension in the critical path | Choose maintained extensions; budget to maintain the rest | Risk management |
| Scope growth | Change requests in writing | Project templates |
| Upgrade debt after launch | A maintenance contract with release updates | Keeping customer sites current |
| Knowledge in one head | Git history, documentation, pairing | Running a team on Git |
After the project
- Ask for permission to publish a case study and to name the customer (Writing a case study).
- Log the project for points (Logging your partner activity).
- Add the "Powered by Exponential" badge if the customer agrees (Showing "Powered by Exponential").
Related pages
- Implementation partners
- Project managers: start here
- Testing releases before your customers do
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.