Understanding ‘AEM’ Implementation from People, Process, Technology (PPT) Framework
The purpose of this document is to understand the AEM implementation from the ‘People, Process, Technology’ framework and also to discuss and brainstorm the challenges, new opportunities that have to be streamlined in upcoming projects.
Like any other medium to large software application development initiative, the AEM Implementations (Sites, Assets, or both) are significant undertakings in terms of Costs, Business Objectives, and the organization’s Digital Transformation goals. Thus its paramount importance to have a successful strategy and tactical approach to DELIVER the project ON-TIME, and within BUDGET to set an organization on the right digital trajectory.
Typically AEM project initiatives fall into the following types,
- Re-platform To AEM From ANY CMS:
- Lift & Shift
- Redesign
2. AEM Migration:
- AMS or On-Prem hosted to AEM as a Cloud Service
- AEM 5.X/6.X to AEM 6.5
3. AEM Assets Implementation as an Enterprise DAM
Below discussion/concepts primarily applies to No-1, however, but few concepts are valid for the rest as well.
Software Development — Key Ingredient
First, let’s understand the key ingredients for a successful Software Development initiative.
People
The “people” refers to the human resources available/assigned to Software Development efforts. The main task is to onboard the right people. Businesses need to identify their key employees with the right skills, experience, and attitude for the job. The engineering + business leaders will have to identify, hire, make available and train the right people to execute various tasks. Such resources should have the right skill set to be successful. Based on various factors like budget, timelines, and in-house skill-set availability an organization might choose to `outsource` a portion of defined work. These are key decisions that are crucial to the success of the project.
The people also need clear role definitions so everybody knows their responsibilities. This will help in decision-making, solution design, process deployment, and personnel hiring. The ultimate goal should be, engineering + business leaders need to get a buy-in from the people. Without the full buy-in from the people, it will be challenging to have a successful outcome that meets Business Goals and leadership will observe sub-optimal delivery.
Process
The “process” is the steps or actions that combine to produce a particular goal. And processes are repeatable actions that theoretically produce the same result independent of who performs them. Below are a few key points to consider
1. It’s crucial “people” understand how they *fit into a process* and they should *understand the process*. What their role is in it, and what they need to achieve on a day-to-day basis.
2. Program management should identify and focus on the key steps first, which could be
- The high-level hand-off between various team members
- Quality gates or checkpoints
- Daily & Weekly meetings with clear agenda
There are various processes and methodologies to choose from such as
But it is important to note (and not to sound preachy) “Culture Eats Strategy (read Process) For Breakfast”. Thus ‘Process’ should be people-centric and evolve via regular Feedback.
Technology
The “technology” provides the tools that the people use to ‘plan, collaborate and implement’ the requirements to successfully deliver on day to day basis or the final product. There are various tools involved, some are designed for one activity during the whole life cycle, while others are for specific actions. They can be categorized as
- Project Management
- Collaboration & Communication
- Development
- Automation
- DevOps
AEM Specific Point Of View (POV)
The size and scope of AEM Implementation depends on various factors like,
- The complexity of Website: Webpage & component variations. Also static brochure-ware site v/s dynamic business/data/user-centric content.
- Integrations: Adobe Experience Cloud, 3rd party marketing products, and internal applications.
- Misc: Review + approval process, multilingual, translation needs, content migration, and business operations, etc
Key takeaway is, it's not just a set of AEM configuration changes to be LIVE in production but development (coding) activities.
As we have acknowledged the AEM implementations are significant undertakings and we briefly reviewed the ‘Software Development — Key Ingredient’, let's review the ‘Ideation to Development’ of AEM implementation from a High-Level point of view and outline key elements for the ‘People, Process & Technology’ PPT framework.
People
Primarily there are three categories to onboard or assign “people” for AEM implementations efforts. Let review their Roles, Responsibilities, Final Output, and their Hand-Off TO.
PREP WORK
2. AEM DEVELOPMENT
3. DEPLOYMENT & LAUNCH
Note: Apart from the above there are few important
roles that are not listed but must be included for making sure planning, governance, and project health (cost, time, risk, etc) reporting purposes, such as
- Scrum Master
- Project or Program Manager
- Infrastructure or Network Engineers
Process
- END-TO-END PROCESS
The below diagram depicts the End-To-End AEM development process and for each step, it suggests participants and the primary owner (e.g. UX*, PO*) of the step. The participants collaborate, understand or verify the outcome of the step and are equally vested in making sure the output is clear and ready to be handed off to the next step/lane.
Note: Depending on the complexity and type of AEM Project, the above lane + process steps can be removed or combined.
Front End & AEM Development Separation
From the above diagram, it's clear AEM development work in most cases depends on the Front End (FE), and thus to have an uninterpreted, streamlined flow of delivery, the FE development workstream should be at least one sprint/cycle ahead of AEM development workstream. They could collaborate via the same (AEM Project Archetype’s ui.frontend
module) or separate source code (git) repositories but to be successful the hand-off should be clearly defined. The hand-off should detail, how FE-built artifacts such as HTML, CSS, and JS be consumed by the AEM Dev team, and target location or mapping within the AEM project.
2. SAMPLE JIRA BOARD
There are various tools to track the overall process and get a birds-eye view on the status of the development.
3. MEETING CADENCE & EFFECTIVENESS
Note: Any meeting is only effective when there is clear agenda, action items, and next steps communicated to make/review progress.
Technology
In this section, we will review the same sub-sections & tables from the ‘People’ aspect but add a technology lense to it.
- PREP WORK
2. AEM DEVELOPMENT
3. DEPLOYMENT & LAUNCH
Challenges
AEM implementation is no exception when it comes to software development challenges that derail the projects or deliver value. Few prominent items are
- Skilled Developers (or attrition)
- Onshore/Offshore collaboration and shared responsibility between vendor/partner and organization’s engineering teams
- Motivated and Driven team and its members
- Oversold promises by Sales/Stakeholder
- Date driven delivery
- Changing requirements or priorities
- Multi-tenant AEM platform
- Collaboration with other marketing products (Analytics, Personalization, Campaign) teams
- IT operation and governance framework
- Business/Marketing process optimization, streamlining goals (KPIs)
- Organization’s expertise + structure to build products (client needs/opportunity to a working product)
New opportunities
A streamlined AEM Development for rapid & successful execution via ‘People, Process, Technology’ framework and standardized templates for requirement gathering, stories, content architecture, solution design, source code organization & management, AEM environment usage, coding best practices, build & deployment, production support/escalation.
In a future article, I will put forward a few ideas that can be adapted based on your organization and project needs.