Governance for AEM/CMS Projects
Document a best practice project framework
Demonstrate a successful implementation
List key lessons learned and gotchas
Help answer questions to avoid pitfalls and reduce learning curve
Bring together a community of professionals
Develop a better understanding in running projects efficiently
Enable Collaborative Development Process
3. Overview
Introduction
Problem Statement
What is AEM.Design
Project History
Goals of the Project
Project Audience
Who can get involved in this project
Project Team
References
Project License
Developer Guide
Links
FAQ
3
4. Problem Statement
A whole bunch of techies and businesses alike are excited about AEM today.
However, there is a real set of barriers facing effective project implementation.
1. AEM is relatively new and lacking open best practice definition
Specialists do not have one central place to demonstrate knowledge
Limited input by AEM online community
2. All Digital IT Projects share common implementation and failure points
Common avoidable mistakes compound to project cost overruns/failures
This is especially so for AEM implementations
4
5. AEM.Design is a formula for your next project success.
This formula is designed to save you lots of time and effort. How?
GOVERNANCE - systemic approach to project practices to ensure all effort is essential and valuable to all
members of project
MINIMISE ONBOARDING of developers to your next project. Developers can start working quicker, test on real
environment locally on their workstation without interrupting others.
STREAMLINE TESTING. Helps remove dependency on costly UAT. Developers can eliminate costly bug fixing
cycles ensuring that all features are tested through automated testing.
AUTHORING COMPETENCE. Ensure your Business Team can use your CMS to evolve your CX digital
experiences, this is done by provide a Lockstep approach to authoring and training
MINIMISE COST of EFFORT by leveraging experiences from other contributors though tried and tested
patterns
What is AEM.DESIGN
5
6. Project History
What lead us here?
Over many years, we have found that the majority of projects we undertook has had exactly the same components that we build
and in hindsight they all were all fundamentally the same but all looked different
In addition to that all of the projects to a degree has similar organisational and overhead issues that seem to be easily fixed if
you started with a right set practices and tools from the start
We kept systematically fixing and reviewing our practices until we realised we have a framework that we can share with
everyone, as it has helped us in many ways
We are packaging a framework that would enable organisations to leverage their platform better without having to repeat our
learning experiences and not have to know what we know.
We believe that if we can't give you something to follow it’s not worth us telling you about it
As an initial stage of project we are creating and polishing a foundation framework on which all of the governance processes
will rely and subsequently manage.
We have been looking to 6
7. High Level Goals of the Project
Document a best practice project framework
Demonstrate a successful implementation
List key lessons learned and gotchas
Help answer questions to avoid pitfalls and reduce learning curve
Bring together a community of professionals
Develop a better understanding in running projects efficiently
Enable Collaborative Development Process
7
8. Project Audience
Key groups of people who will find AEM.Design highly useful:
CIO/COO - ensure that ROI on the platform year on year, by ensuring governance
practices facilitate stable ongoing development
Project Managers - manage a lean and agile process for delivering digital
transformation programs
Marketing Manager - empower your technical team to give you something you can
use while evolving your Marketing Offering
Project Team members (developers, testers, business analysts) - leverage complete
package tools and practices to enable you business to deliver value
Implementers - leveraging a framework that will deliver value to your customer 8
9. Who can get involved in this project
Who may want to contribute
Organisations who have completed AEM projects
Professionals looking to learn about comprehensive implementations
Implementers looking for a better way to run projects
How you can contribute
Review this document
Leave us your comments on our site aem.design
Share us with your colleagues
Get your team to take a look this presentation and aem.design
Ask us for more information via contribute@aem.design
9
10. Pain Points Being Addressed by AEM.design Project
Governance
Project documentation
Structured approach to component documentation
Developing
Make sure all dev have same environment and all moving parts
Development Practices
Component Standards
Share component code
Testing
Consistent way to test
Design
Consistent dialog for describing design
Rapid Prototyping
Consistent Frameworks
DevOps
Consistent provisioning across all environments
Centralised Orchestration
Delegated testing of provisioning - to developers
Monitoring and Logging
Here is a bunch of issues the project identified too keep in mind for future roadmapping.
10
13. Enable Collaborative Development Process
Provide structured
process that enables
collaboration
Establish clear patterns
for each role on the
project
It’s complicated! We
know, we are doing
something about this...
13
14. License References
Project License:
- Apache License 2.0 ( https://www.apache.org/licenses/LICENSE-2.0 )
This enables us to share with you and you can share with us.
14
15. Project Links
http://aem.design - current intro site “manifesto” and blog (will be aem.report)
https://github.com/aem-design/aem.design - site code
https://app.codeship.com/projects/197854 - github -> github pages build
https://app.statuscake.com/AllStatus.php?tid=1843155 - site status
http://aem.report - future blog
https://gitlab.com/aem.design - primary dev code base
https://github.com/aem-design - gitlab fork
https://aemdesign.slack.com - slack channel
https://gitter.im/aem-design - gitter channel 15
16. FAQ
What type of projects is this framework suitable for?
All AEM based Projects
How big should my team be to use this project?
One BA and One Snr Developer minimum...
Does this apply to AEM only?
No, Governance applies to all digital platforms
16
18. What you need on your box to get started!
Java 1.8+
Gitlab account, Request Access access@aem.design
Git, Git LFS
VirtualBox, VirtualBox extensions
Bash
Python 3.6
Osx, Linux, Windows
IntelliJ
18
19. Code Separation - Repos
aemdesign-parent - root for project, entry point for developers
aemdesign-aem - local version of AEM, not for development, just for hacking
aemdesign-aem-author - contains all of the update to OOTB AEM Functionality
aemdesign-aem-common - contains all of the components for project
aemdesign-aem-services - all of the service code, bundle deo, helpers etc, anything that needs unit testing
aemdesign-aem-content - initial seed content to be added to clean AEM instance, used only in development
aemdesign-aem-showcase - content used for demonstrating components during sprints
19
20. Other Tools
ACS - collection of developer tools
AEM Core - provides a collection of components
weRetail - sample site part of sample content for AEM
AEM SASS Compile
20
21. Thing to know, eventually
Ansible, Yaml
Docker, Swarm
Jenkins
Nexus
Gulp, Yeoman, Node, Npm
Centos
Consul
21
22. Quick Start
22
1. Prepare your Box
2. Clone parent repo
3. ./devops - follow onscreen instruction
4. ./devops quickstart - get projects, build vm and deploy services
5. ./devops accesslocal - ssh into your vm to look around
Tell us where you get stuck!
Notas do Editor
Possibly other CMS projects
In business terms what AEM and why it’s so good for you next project?
People ask for list of gotchas and best practices but no one showing best practice implementation.
List here things that don’t have standards and that we are addressing
Maybe we can park this slide in Refernces...like frequently asked questionskk
Ok