As more and more IT groups look to replace their legacy ECM solutions with Alfresco, one of the questions that typically comes up is if the group should look for consulting help, either from Alfresco themselves or an external partner. This post will summarize the typical roles in an Alfresco implementation and give a rough idea of the skills as well as the time commitment required for a simple migration from a legacy ECM system to Alfresco.
Alfresco Technical Architect
The hardest role to staff for most implementations is that of lead technical Alfresco architect. Typically clients will have existing technical architects but they will often lack the experience of a 4+ year Alfresco technical architect. A good Alfresco Technical Architect will need to be able to speak best practices for Alfresco but also other tools in the solution including AWS/Azure, DB and application development. While a good Alfresco Technical Architect can be developed over time, this role often makes the most sense to procure from outside at least for project start-up. Good Alfresco Technical Architect skills include:
- 4+ Years of Alfresco implementation experience
- 4+ Years Web development experience
- Experience with existing legacy implementation tools (Documentum, FileNet….) to be able to assist in migration efforts
- Detailed knowledge of migration and Alfresco development tools.
- Best Practice expertise with Object Modeling, Security, Workflow, Annotations and Renditions
- Experience performance tuning in ECM environment/software stack
- Knowledge of different Alfresco interfaces and software components available from Alfresco and the partner community including the pros/cons of each
TSG typically recommends some type of relationship with a committed Alfresco partner to help fill this role on either a part-time or full-time basis depending on the size of the project. Typical client resources assigned to an Alfresco project cannot dedicate the time to get up to speed on the new implementation without sacrificing project timeline or their other job responsibilities.
Alfresco Project Manager
A project manager role can be either procured or developed in house. Often times projects will leverage from an existing project management internal resource to coordinate both internal and external resources. Typical tasks include:
- Coordinating check-point and user meetings
- Facilitating design decisions
- Project Documentation including Requirements
- Facilitate Tracking Status, Budget, and Timeline
- Assigning deadlines and resources to project tasks
- Resolving open issues that are brought to the project level
- Confirming the appropriate level / thoroughness of testing
- Coordinating communication between different teams (end users, IT, Testing, etc.)
This is one role that tends to be less technical and with the right resource can be performed well internally rather than with an outside consultant. However, if the development and technical architecture is be conducted by a consultant, it is often more efficient to have the consultant manage the Project Management tasks.
Alfresco Business Analyst
Typically, a business analyst will be responsible for taking the current legacy system capabilities and aligning them with the development or configuration changes necessary for the new Alfresco system requirements. Typical tasks will include:
- Understanding business requirements and mapping them to technical designs
- Understanding of ECM and the typical functionality available from the Alfresco software suite
- Pushing back / questioning business when a requirement is not aligned with industry best practices
- Writing detailed designs for custom modules
- Overseeing and reviewing development and configuration deliverables
- Leading unit testing effort and resolving issues prior to business testing
Most Alfresco Consultants that serve as the Business Analysts role have a background in Alfresco development or at least significant experience in content management applications. An Alfresco or content management background gives the resource the ability to understand all development and configuration tasks as well as the system requirements and business objectives. Having an outside consultant fulfill this role allows the project to be aligned with the software and industry roadmap based on other experience, often preventing costly customizations.
Typically, clients struggle to find internal analyst resources that have content management or Alfresco experience.
It is the job of the Alfresco Developer to implement the requirements. At first, the skills of a typical developer and an Alfresco developer may appear to be very similar, but a consulting Alfresco developer will leverage experience and their colleagues to produce a faster development cycle.
The following technical skills are required to setup an Alfresco application and/or perform a migration of data and content into the application:
- Understanding of Alfresco Object Modeling
- Understanding of Alfresco Users / Groups / Security
- Alfresco API knowledge including CMIS / Webscripts
- Database Architecture and SQL
- SOLR Search and Indexing
While some of these skills are widely held, using them in the context of Alfresco development and deployment takes supervision and training rarely found internally at clients.
Alfresco Production Support
Most clients use internal or existing help desks to provide level 1 support (Servers and Application uptime, user password support, etc.). Level 2 support is often a shared task between the business, a technical consultant, and internal IT (if that role exists within the company). The internal resources would have some level of knowledge to determine if the reported issue is a training issue or a technical issue before forwarding the issue to an Alfresco Consulting support resource. Internal resources may be trained to assist with support, but if consulting resources have access to and are familiar with the system, they will solve complex issues faster and with little attention needed from the client.
When answering the question “Alfresco Consulting – Do I really need it”, the majority of legacy ECM migration projects would benefit from some consulting to fill the key role of Alfresco Technical Architect at a minimum to share best practices and for the project to avoid costly mistakes or delays. Other roles will vary based on resource availability and project size. TSG always recommends developing some type of relationship with an Alfresco partner that can provide both guidance and resources when required.
See our related post from 2016 – Alfresco Consulting – What makes TSG different?