Project
The aim of the project is digital transformation by implementing Adobe Experience Manager (AEM) in a CMS (Content Management System). Adobe Experience Manager is a platform for creating, managing, publishing and optimizing digital content on different channels, such as websites, mobile apps, marketing emails etc. For a client essential were:
- Effective management of content on websites; information updates on products and services, publishing corporate information, providing educational content etc.
- Content personalization based on client’s data, behavior online and profiles of users, enabling providing personalized offers, products and content recommendations adjusted to individual needs of clients.
- Management of the digital assets (DAM) such as images, graphics, etc., making the storage, indexing and sharing them easier.
- Coordinating communication with clients via different channels, such as mobile apps, emails, social media etc.
- Flexible content management by marketing and content teams without the need of advanced technical knowledge. Implementing changes, content updates and adjustments can be done in an intuitive and simple way.
- Data analysis and optimization with analytical tools, which enables monitoring effectiveness of content, analyzing users’ behavior and adjusting communication strategies based on the data.
Realization
The project has been divided into 6 repositories, with each component assigned to one repository. Project team is split into 3 scrum teams. Each team is responsible for the two main repositories, but, due to the common components and modules integration, also commits to different repositories. It enables the propagation of project knowledge onto each team and facilitates the cooperation. Project was also constructed with the Content Authors in mind, which are responsible for technical consultations, creating in Adobe Experience Manager (AEM) and implementation new functionalities.
Team
Each scrum team consists of:
2x frontend developer,
5x backend developer,
4x QA Engineer (manual and automatization).
Additionaly in each team there are:
- 1x Product Owner,
- 1x Scrum Master,
- 1x Dev Tech Lead,
- 1x QA Lead.
People from j‑labs are creating overlay/application for the CMS system based on the Adobe AEM platform and conducting tests of the application, both manual and automatic, with an integration with existent systems and services. Work extent includes creating frontend, backend, manual test (that includes exploration test) and building and upgrading testing framework. Additionally, they are responsible for integration with already existent applications, creating coherent entirety based on existing technologies. They implement modern solutions and conduct refactorization of the existing modules.
Created platform is a web app, dedicated for all kinds of browsers and mobile apps for iOS and Android systems. Application is developed in Java 11, Service Pack 17 language. Testing framework is also based on the Java language in version 17, with the usage of Selenium 4 and BDD.
People from j‑labs are present at all phases of software development:
- Frontend and backend developers are responsible for implementation of new functionalities, modification of existing ones, refactorization of code, maintenance of code, fixing errors, writing unit tests, creating release packs, providing support in on-call mode, creating environments, cooperation with other teams and stakeholders and close cooperation with QA engineers within the project.
- QA Engineers are responsible for manual and automatic testing new functionalities, creating new testing scenarios, creating test scripts, modification of existing ones if needed, reporting errors, re-testing fixed errors, conducting regression after each implementation (if needed), conducting regression before release, creating environments, maintenance of testing framework, and conducting productivity test with results analysis.
Both QA and developers are actively participating in every scrum meeting and in support groups for developers and QA, which are aiming to developing skills and solving particular problems. In these groups one is also able to hand in propositions for changes in project approach.