Managing a project to implement Adobe Experience Manager (AEM) requires planning and understanding to ensure you are aware of the issues and (related) decisions that you must make, before and while implementing your project.
To help you, the best practices consist of:
An interactive checklist that lets you track and monitor your progress with these best practices.
Documentation, based on the checklist, that details the:
Further reference material to provide more details on specific areas.
The Project Heartbeat worksheet provides a graphical overview of critical metrics for your project:
The project plan is broken down into distinct (high level) phases.
Each phase contains its own milestones. For each persona (or role), the relevant milestones are listed, together with the documents that are required to produce the defined deliverables.
There is not a direct 1:1 relationship between the individual required documents and deliverables.
Preparation of your project forms the basis of the entire project. Define key requirements together with clear goals and expectations for the:
Scope and Schedule
How you prepare, plan, and run your project and implement your solution is affected by the restrictions you are operating under. For example, fixed budget, fixed timeline, quantity of content, quality required.
As always, adjusting any of the factors impacts the others. For example, reducing the time, but requiring the same quality level will probably increase the price while reducing the quantity of content you can cater for. Budget is often a key factor so such relationships cannot be forgotten.
The Four Factors:
In this phase, you must validate and confirm the goals for the project; for example:
What do you want to achieve/provide?
What is the scope?
How do you define success?
How do you measure success?
What are the requirements, business and technical?
Are there legacy systems to be replaced and if so, is there data to be migrated?
Who is involved?
How do you measure progress?
How often do you review progress during the life of the project?
Before you start any project you need a reliable, realistic estimation of what it costs to implement:
Planning your project consolidates the preparation. Here you need to start converting the goals and expectations into a well-defined roadmap consisting of concrete tasks, bound by clear communication, with stringent reviews to measure progress.
A clean handover ensures that the appropriate persona/groups are aware of their responsibilities within the project.
Full details should be provided/generated to ensure they have a full understanding of all relevant aspects, including the roadmap, scope, goals, requirements, and KPIs.
To avoid unpleasant surprises, use risk assessment to identify and quantify any potential risks together with their impact and probability.
This should be done early in the project life cycle to ensure that any vulnerabilities are identified and evaluated. Based on the findings you can report to your stakeholders on whether the full requirements can be implemented and, if necessary, whether it is possible to plan for appropriate actions to be taken and tracked.
Communication is always key to the success of any project. You need to communicate clearly and efficiently to ensure that everyone is:
The Kick Off meeting is used to raise awareness that the project is starting. It is a good opportunity to:
Invite all interested parties (or at least group-representatives).
Present key facts about the project.
Ensure that everyone has the same knowledge base.
Get commitment from everyone who will be involved - this will have to be earned.
Planning the development is key to ensure that your project is built on a solid design by a team that has the required knowledge.
Development Team Staffed and Trained
Before starting on any project, you should ensure that your development team is appropriately staffed and that all team members are trained for the task in hand.
The content architecture defines and describes the future architecture of the content; including:
The system architecture defines the conceptual view of your system; including (among other information):
System structure for all required environments
Interfaces; hardware, software, and human interaction
Processes for each environment; for example, deployment and maintenance requirements
Maintenance activities (Datastore GC, TarPM optimization, and so on)
Performance for the client-side (JS minify, concat, css sprites, total number of http requests, and others)
The application architecture defines and describes the behavior of the proposed applications.
It is focused on:
The definitions should cover:
System integration requires you to plan (then implement):
Before starting development, you should draw up an in-depth and comprehensive concept of all testing requirements for your project.
This should include (among others):
Experience Design (XD) involves designing the user experience for your solution.
The user experience should be analyzed and developed for both your authors and the final users of your website.
Before development, all support processes required to deploy, release, test, and report issues, should be set in place.
See also the Adobe Support Portal.
On a similar basis, the operations must be properly planned to ensure you have the environments that you require - for all stages of the project life cycle. You also need the appropriate processes for maintaining them.
You need to plan and then implement a Roles and Rights Concept for all users/groups that will use the solution.
A list of roles (that is, groups) with
write access definitions for each
Definition of the use of privileges that impact the publish environment; for example,
For users with minimal privileges, workflows should be defined
Users in the
editor group should not have
admin rights nor be part of the
For more information, see User Administration and Security.
Monitoring and Maintenance
Monitoring and maintenance are key aspects of ensuring the smooth operation of your solution once it goes live. For this you need to define:
See also Monitoring and Maintenance for more information.
Any content from the legacy system should be reviewed and validated for migration.
Ensure that you have a recovery plan in place. In an emergency situation, this must be available to secure the production use of AEM… This should cover situations such as backup, restore, fallover, and others.
Development is a crucial phase that requires more than just coding.
Plan and document your development environment, including:
A typical environment consists of:
Third-party software integration/dependencies
Plan and document your test environment, including:
Plan and document your production environment, including:
Plan, document, and test all aspects of the system and solution integration, including:
Plan, document, and test all aspects of the content migration; including:
Ensure that all team members and project persona are kept up-to-date, as necessary.
Document the solution fully; including:
Once the new application is available it will need to undergo stringent testing, both for functionality and performance.
Any testing team should be allowed to remain neutral and deliver the testing results.
It is the responsibility of the Project Manager to assess any implications of the results and decide on appropriate action.
End-User Acceptance Test
User acceptance testing (UAT) is crucial to ensure that:
There should be a formalized checklist for customer handover; ideally automated and run on a nightly basis against a snapshot. The results should be sent to the project manager and development team
Performance and Load Tests
Performance and load tests are used to ensure that the solution meets the required performance levels, at average and peak loads.
For more information about performance testing, see:
This process has to be continued during normal use of AEM, but these initial stages are the most crucial.
Rollout of your new application needs careful planning to ensure a smooth Go Live. This includes confirming a high level of security, training all prospective users and making multiple dry-runs to confirm that all issues have been dealt with.
Preparation and planning will help ensure a smooth rollout.
Ensure that all involved staff have been trained.
See Adobe Experience Manager in the course catalog.
Ensure that your solution administrators have:
Ensure that your authors have:
Penetration tests simulate an attack on a computer system to identify potential security weaknesses.
To ensure the security of your solution, perform specific penetration tests, together with a wider range of security tests.
See the Security Checklist for more details.
You want your Go Live to be as smooth as possible. Again, the final steps need to plan for clean execution.
Preparation and planning will help ensure a smooth Go Live.
Confirm the security of your solution for both internal and external users and their content.
Ensure that all systems, procedures, and mechanisms required for fallback are in place before going live.
Ensure that support services are in-place and ready.
Plan and execute the transition to your production environment and users.
Prepare and execute your smoke tests.
The checklists are designed by persona. These are the roles with significant involved in the project life cycle.
There is also some other persona that are involved in specific tasks.
The project sponsor is:
Responsible for providing/presenting the business case for the project.
Key to shaping and defining the scope of the project; including:
Provide the main milestones based on the client roadmap.
The project manager is:
The solution architect:
The business analyst:
Is primarily responsible for gathering and analyzing the high-level requirements, then transforming these into specifications:
Works closely with the client to analyze the requirements. They match these against:
The development lead:
Is responsible for the technical delivery of the project.
Is responsible for selecting a development methodology that is compliant with client requirements.
Draws up the development strategy:
Works closely with the architect (especially when drawing up the development strategy for AEM) to define aspects such as the relationship between templates and components, the integration strategy for third-party applications and any specialized functionality.
The quality lead:
The system engineer:
Is responsible for overseeing the project infrastructure.
Is responsible for:
Provides hardware recommendations, monitor the various implementations and provide operations support both prior to go live and afterwards.
The security lead:
Authors and End Users
The checklists cover the Required Documents and Deliverables for each milestone.
The Required Documents are needed by the appropriate persona when producing their deliverables.
For each Required Document, the persona should indicate:
For each milestone, the appropriate persona are responsible for delivering specific documents and therefore realizing their responsibilities for a specific milestone.
For each Deliverable, the persona must indicate:
Deliverables are often used as Required Documents for either the current or a later milestone.
For best practices on deploying, administering, developing, or authoring, see the following:
In addition, the following sections of AEM documentation are of particular interest (however, this list is not exhaustive):