An Adobe Experience Manager® (AEM) implementation project not only requires technical knowledge of AEM, but also requires extensive knowledge of the business that is implementing AEM. This includes the computing and technical standards employed by the business, its marketing standards, and knowledge about the customers and markets of the business.
When implementing AEM, the project team needs to include people who represent ALL of these areas of knowledge. If some of this knowledge is not available to the project team, the implementation may not be successful. For example, lack of marketing representation on the project team may result in a website that does not meet the needs of the business’ end user customers.
Nine essential AEM project team roles are listed below.
1. Product Owner (Manager). The term “product owner” is taken from Agile Scrum, and is one of three defined scrum roles. The Product Owner (or Product Manager) is responsible for decisions about what is to be developed. The Product Owner exercises this control through controlling the Product Backlog, or items to be added to the product. In this case, the “product” is the AEM implementation for this specific business.
2. Scrum Master. The second of the three defined scrum roles, the Scrum Master is responsible for promoting and supporting Scrum practices. Scrum is defined as a particular process that can be used to manage work on complex projects—and an AEM implementation can certainly be complex. As noted as the final secret in the 7 Secrets for Adobe AEM Implementation Success, Scrum is the most common methodology to drive the desired outcome of a successful implementation. The Scrum Master ensures that the methodology is understood by everyone involved in the project.
3. Creatives and Marketing. The third of the three defined scrum roles is the Development Team, but this team is not limited to software coders. Creatives and marketing are a key part of an AEM development team, because they advise on the needs of the business, and how the website should be presented to the end users of the business website. Marketing themes, company design standards, target audiences, and other key information is communicated by creatives and marketing to the rest of the development team.
4. User Experience (UX) Design. UX design experts are responsible for the designs of the screens. Their designs must encompass all possible views of the content, including desktop, laptop, tablet, and mobile views.
5. Front-end User Interface (UI) Developers. The UI developers implement the UX design. UI developers must have knowledge of how AEM operates. This includes AEM’s core components and templates, as well as the ways in which these components and templates can be configured.
6. AEM Developers. These developers are well-versed in the capabilities of AEM, and can architect and configure a system to meet the specific needs of the business. AEM and UI developers roles can be assigned to a full-stack AEM/UI developer instead. Check out our article on the full stack developer subject.
7. Quality Assurance (QA) Engineers and Testers. The QA engineers and testers are committed to finding software defects as quickly as possible. In an Agile Scrum environment, where QA is performed within the Scrum Team itself (rather than as a separate post-development function), defects can be found quickly.
8. Development Operations (DevOps) Engineers. DevOps is involved in the entire lifecycle of the project, from the specification of requirements to the “go live” of the production site. DevOps engineers are helping with writing scripts to provide Continuous Integration (CI) and Continuous Delivery (CD). In other words, DevOps engineers are involved with automating the application builds while checking the code quality, deploying the application artifacts to different environments, rolling back artifacts, and other similar activities.
9. Network, Security, and Infrastructure Engineers. Because the final website and the data contained within it will be exposed on the public Internet, it is imperative that network, security, and infrastructure engineers serve on the project team. These engineers can ensure that the final website can support the users that access the website, can handle the tasks that these users will perform (downloading of files, placement of orders, etc.), and can withstand attacks designed to take down the website.