As explained in my previous article, Adobe CQ5 has done well to carve out a niche in the web content management space and giving competitors a run for it’s money. However, an elegant system such as this can be challenging to implement and has many companies still baffled with it’s underlying technologies and nuances despite the highly usable front-end for authoring and publishing pages. It begs the question as to why this is so, and what can be done to create a powerful cohesive team that can bring out the best from this product and blend perfectly well with all the business objectives and vision of the company.
The key, in my opinion, is to remove the thinking that this is just an elaborate piece of software which can be customized like other COTS software to bring increased business value to the company going forwards. I again use the analogy of Apple. Apple did not get where they are if they didn’t love their product or had a passion to really understand the product and business gaps/values to really make a difference. Somethings that Apple have demonstrated time and time again.
Since many groups are involved in the management and development of CQ5, I have prepared a list of roles and their activities and awareness that are essential for companies to succeed in a CQ5 project.
At the top of the tree are stakeholders, the executive business decision makers, then comes program managers, project managers, architects, team leaders, developers, business analysts etc. The group may engage in agile or waterfall methodology depending on the culture and history of the organization.
Stakeholders & Executives:
You have probably selected the Adobe CQ5 based on many iterations of WCMS systems that the company has screened, or you may have seen demos of the product or you are simply going by the ‘crowd’ preference. These are all fine but at the end of the day, you look at the visions/objectives of the company and how this product will fit into your enterprise and bring value. At the same time, you are thinking how this would reduce cost and effort and put you in a better position for the company to grow and succeed. The important work that can be done here are to look at not only the product by itself, but how it fits into the organization. Unfortunately, many are starry-eyed by the capabilities of the product (ie. upper management) and overlook these important factors that will be crucial to the longevity of the product and the benefits it will bring.
You need to reel in your very best people who will give you advice on this product choice and how it fits into the other departmental legacy systems. Is the company trying to consolidate many of it’s legacy systems, if so, how will this product fit into this enterprise. One mistake also made at this level is the assumption that technology implementors of this product are freely available in the market, it’s just a question of getting the project off the ground. Here, one needs to think ahead and ask themselves the crucially important questions such as the level of in-house expertise and outside consultants. The difficulty here is that one has to mull over the in-house expertise that brings benefit in the long-term as opposed to quick-term benefits from consultants. The problem becomes exacerbated when the in-house team is unable to drive the project with the outside consultants as they can be out of sync. Aside from the experts, you need highly seasoned consultants who have many years experience working at all levels and who can potentially guide the company through this phase.
Program managers are key to a complex project gone bad or promoting the development of a product through its life-cycle and instilling necessary culture and leadership to the whole process. For them to work effectively and thus the overall performance of the project(s), they would need to have project managers that they can communicate and trust. Program managers need to translate the business vision of the stakeholders and oversee the overall project performance, improvements and changes needed. They may not necessarily have the technical depth or knowledge to drive CQ5 projects but they must form a communicative platform for these projects to succeed. CQ5 is a mix of technologies that no single individual can have the complete body of knowledge to develop, drive and execute the projects and thus communication and clarity of scope is very important. Ideally, the Program Manager has risen from an architect role in the case of CQ5 and this would help with the projects that CQ5 demands.
A common failure of CQ5 projects are often due to the lack of technical knowledge on the product, coupled to the lack of understanding on how the Sling framework makes requests and executes repository information. Unfortunately, Project Managers can be very people orientated or on the other hand very technically orientated. It is my belief that two project managers are actually required for a CQ5 project to succeed. A project manager that is team focused must allow the breadth and knowledge of technical decisions to another individual of the same level. You could argue that a technical lead would suffice but unfortunately this is not enough since critical technical decisions need to be made with respect to a wider audience within the team. This individual will have been a developer and team lead prior and has also been in an architect role. Unfortunately, there is a misconception that people with various roles put together in a team will come together and perform the duties of the project to success. In the real world this is not the case and if anyone has been in any technical projects, they will know that a ‘perfect’ team is just not enough for a project to succeed. It requires a holistic approach to the project to bring a team to gel together and become productive. As indicated above, the Program Manager plays a part in instilling a sense of culture and kindred spirit within the group so that they are more cooperative and productive as a result. Many mistakenly think that a methodology of approach to a project ie. agile, extreme etc will be the answers to a productive team. In my opinion the methodology should only fit into a team that is fully capable of encompassing such a approach and not just be thrusted upon them.
Developers & Leads:
These are the people that will be writing code, analyzing, testing etc that will meet specific objectives of the project. Unfortunately, when PMs are lacking the proper technical or communication skills, the project artifacts may get completed but the underlying code can become haphazard and as a result lead to a huge maintenance issue in the future. More importantly, the code can become dysfunctional to the point that reusability and extensibility can no longer be applied. This becomes more apparent when the underlying system needs to be integrated with other legacy system within the enterprise. So much for reusable object orientated programming!
Education & Training:
I leave this important topic to the last since this section is often ignored by some companies and many issues in projects could be avoided as a result. Adobe provides training on their products for developers, authors and more recently for executives and business decision makers. They have understood the need to provide such valuable training that would be crucial to companies to fulfill their goals that I discussed above. Although, the idea is grand, in practice it does not always materialize this way for several reasons explained below.
The demand for the Adobe CQ5 (AEM) product has been so great that they have had trouble providing the savvy individuals that will shower significant benefits to those attending the classes. Again, we see a division of labor where ‘pigeonholing’ respective people into roles can often lead to poor quality deliverables. It could be said that only developers would make the best trainers for other developers but then others would argue that they may lack communication skills. On the other hand they have deep passion for learning, and training exclusively for other people’s benefits may not be in their best interest. Then again, money can become a point of contention too, after all trainers/teachers inevitably make less than fully fledged developers. It is my opinion that the training has to be of superlative quality in the CQ5 space that will benefit companies enormously, especially when they are starting out.
One can see that CQ5 like most other enterprise applications needs a careful approach to planning, implementation and execution, but this is of no consequence if the proper types of people and management are not in place. Companies unfortunately, can become too focused on the ‘front-end’ and lack the knowledge or appreciation of the back-end which can lead to significant issues within the overall project. With CQ5 one needs to have a solid understanding and a foundation of what you are dealing with and strong leaders and seasoned technologists who can work together to make the project succeed.