Over more than 10 years of rolling out CPQ projects across different businesses, one thing is always true, regardless of the CPQ platform we pick, if the delivery team is not ready or doesn’t have the necessary skillset, the project is bound to fail. CPQ projects delivered by inexperienced or incomplete teams rarely succeed. I have seen projects costing 3 times the original budget and still could not finish, and I have seen projects finishing on time and within the budget. When I analyzed the reason for the failure of that project, I noticed that the project team members had their roles mixed up, were unsure about their own deliverable, and the right resources were not assigned to the right tasks. In the end, the stakeholders ended up being confused, unhappy that they invested a huge amount of money, but still couldn’t get the CPQ fully operational. On the other hand, the successful projects always had the roles and responsibilities well defined, deliverables defined, and people worked as a functioning team. In this article, I’ll focus on the key roles for the CPQ delivery team. Note, CPQ delivery team, regardless how strong the expertise of the team, cannot alone deliver the project successfully, for a successful project, we also need a strong and dedicated business team to go with CPQ delivery team.
Project Manager
For any given project, the success or failure of the project depends a lot on the project manager. However, in CPQ Projects, the role of a project manager is complicated, and while in most cases, it seems to be aligned with the standard definition of the role of a project manager, the role is also very different. The nature of a CPQ project is that the project is very volatile, the scope, timeline, budget, resources, all can change during the course of the project, and the project is subject to external influence a lot. For example, if the market is down, sometimes the customer who is paying for the project may try to cut the cost of the project by either removing the scope or reducing the resources. A project manager for CPQ project needs to be very agile and flexible to adapt to these changing situations. At the same time, it is not fair to blame a project manager for the issues in a project. A CPQ project depends on input, development and output. If the input from the business stakeholders is not clear or is not complete, and the Solution Architect cannot catch the gap, the project is definitely going to have problems. In this case, it is even possible for a CPQ project manager to try to ensure all business requirements are signed off, but it is still nearly impossible to guarantee that the project will go smoothly. On the other hand, a bad project manager can easily ruin a project. In one of my last projects, I had such a type of project manager, who against all advice, decided to run the project without much documentation. In the end, the project burned out twice the initial budget and delivered only a portion of the scope. Now we can see that the role of a project manager in a CPQ project is not a simple and straightforward role, and not everyone can be successful here.
What skills to look for in a successful project manager for a CPQ project? If you search the Web for the skills for a successful project manager, you will get so many that it is impossible for any human being to have that many skills. So, here are the ones that are really important for a CPQ project manager:
- Product Knowledge. A successful CPQ project manager knows his/her CPQ product by heart. We don’t expect them to be coding or writing scripts in a language that takes years to learn. But, we need them to be aware of how that particular CPQ works, what are the advantages of that CPQ over other CPQ products, what are the deficiencies and how to overcome the deficiencies. In most cases, all CPQ products will deliver Configure, Price and Quotation capabilities; but, those are the basic functions and those alone don’t define a successful CPQ product. Just like we cannot expect an Oracle PM to be successful in managing a SAP project without any difficulties, a project manager who has exposure with a certain CPQ product has a bigger chance of running a successful project for that specific CPQ product. However, as the role grows, he/she may acquire knowledge and skills of more than one CPQ platform, and that is fine, but we don’t expect them to know every possible CPQ product in the market.
- Flexibility. CPQ projects are unique, so when someone asks me which PM delivery approach I take, my answer is always, “it depends”. I have seen projects which were successfully delivered using waterfall methodology, while I’ve seen projects which were failed for trying to stick to the same methodology. A CPQ PM needs to be flexible in pretty much everything from the way a project is organized, to the way it is going to be delivered, and up to the way it is going to be managed. However, flexibility doesn’t mean lack of organization. On the contrary, a CPQ PM never compromises on core organizational needs. Because of the multi-faceted nature of a CPQ project, lack of organization is a sure road to the mess costing the business money without delivering anything fruitful. A flexible CPQ PM will also adjust his/her way of managing the project according to the actual need by that specific project. Another example is the RACI matrix of a project, in CPQ world, the roles are different in each business, even though they can be categorized in a broader sense; a good CPQ PM will know how a role, or a collection of roles, will get the deliverables needed to deliver a CPQ project successfully.
- Creative Problem Solving. A good CPQ PM should have very strong ability in solving problems in a remarkable short period of time. No CPQ project is without issues, and the long experience in running CPQ projects enables the PM in solving many diverse problems during the lifecycle of the project, and it is a very crucial skill for any PM to be able to solve problems in a project. It doesn’t go a single day when we don’t have issues like missed requirements, resource not available, timeline risk, or unwanted escalations. However, I’ve added the word ‘creative’ here because I believe having the ability to solve a problem creatively is also very important. A good CPQ PM will explore all obvious solutions to a problem, he/she will also explore all other solutions which were not so obvious or traditional in nature, as long as the solution solves the problem and gets the project back on track.
Now, in addition to the above skills, any project manager should have the common traits of the role, including, but not limited to: leadership skills, communication skills, team work, attention to details, coping with challenges, etc.
Solution Architect:
Solution Architect is one of the most important roles while rolling out a new CPQ project, this person is also critical for keeping the CPQ system going after going live with the solution. Solution Architect is generally aligned with a specific CPQ technology. Knowledge and skills about specific CPQ products help them develop the right business and technical solution using CPQ platform. This person has several responsibilities:
- Requirements: Solution Architect is generally responsible for driving requirements gathering workshops, they drive the analysis of current business process flows and help the stakeholders define future state to achieve the desired business benefits. Solution Architect, while mostly technical in nature, can also help the business explore potential business benefits of a CPQ project, define high level project plans, and create initial resource plans/budgets.
- Solution: Another key task of the Solution Architect is to define the future solution. Because of their broad experience and knowledge of CPQ, ERP, CRM and other platforms, they help the stakeholders define the end to end solution which will meet the business need. The Solution Architects may know a CPQ product very well, confusing them with Technical Lead or Developers will be wrong. A CPQ Solution Architect acts as the functional leader, bringing in the best practices, documenting all the requirements, and working collaboratively with internal team members for the activity.
- Documentation: Solution Architect is generally responsible for documenting business requirements, technical solutions, overall solution design documents, as is and to be a business process, overall system integration maps, training materials (sometimes), and any other documentations as needed.
- Liaison: While Project Manager facilitates overall project coordination, the Solution Architect liaises between stakeholders and CPQ technical teams to communicate, explain, verify, clarify requirements so that the technical team can deliver the solution without errors. Time to time, the Solution Architect will take part in testing, together with other stakeholders and guide the users in adoption of the new platform.
A specific type of professional with a mixture of technical, business process improvement, solution design, and communication skills can be a good Solution Architect for CPQ. A good Solution Architect continuously improves the skills through working in different projects, exploring different technological platforms and solving complex system integration problems.
There are two ways a Solution Architect gathers skills, the first is, of course, through learning CPQ platforms and taking necessary training. This is very important, as knowing the CPQ strengths and weaknesses will define the success of the overall solution. The other way to improve overall knowledge and skill is to work through the projects. As it happens, each CPQ project is different, and each project brings in new opportunities to learn technical solutions, and a good Solution Architect takes this opportunity to improve his/her skills. A Senior Solution Architect should have at least 8 to 10 years of experience in the CPQ arena, should have some kind of formal training, and should be able to communicate properly with the business and technical teams.
Now, what about the potential pitfalls of wrong direction? If a Solution Architect is too much into technical nitty gritty of CPQ development, he/she will not be able to meet the demand of building the right solution, as his/her judgement will be limited to the technical limitations of the system. This is why, not all Technical Leads or Developers can turn into a good solution architect. I generally use building a staircase as an example, a Solution Architect will focus designing the right staircase which will take the person from one floor to the next floor with minimal effort and maximum efficiency, he/she may not get bogged down by the material type or the how to build each step (cutting, nailing, polishing..). While a Developer may immediately focus on ‘how’ the stairs will be built, instead of ‘what the business wants’. That is why, to be successful as a Solution Architect, a person needs to focus on the end solution, and should avoid getting bogged down by technical nitty gritty.
Technical Lead
While Solution Architect captures business requirements and creates the business and technical solution to meet the business requirements, Technical Lead converts those business requirements into technical design that the developers can deliver. A good Technical Lead has an extremely good understanding of the technical side of the CPQ platforms, very good at integrating the CPQ platform with other platforms, and very detail oriented. Technical Lead should also deliver technical documentations which include low level design documents, technical design documents, and code reference materials. Technical Lead may not necessarily be a configurator or developer himself/herself, but he/she needs to understand all the nitty gritty of the CPQ back-end and development efforts. The Technical Lead role is sometimes a gradual career progression from a developer/configurator role.
Some of the common deliverables of the Technical Lead in a CPQ project:
- Leading the technical development/configuration, making sure the development meets business requirements.
- Ensuring the development quality, by performing initial testing, analyzing overall design.
- Driving best practices in terms of technical design and development, focusing on long-term scalability, performance, and usability.
- Diagnosis and solution to development issues, integration issues, and other technical challenges.
- Supporting the Solution Architect with technical know hows, to ensure the overall solution is technically feasible, practical, and of quality.
- Managing the assigned development/configurator team, helping and guiding them where needed, driving overall efficiency and quality in deliverables.
A Technical Lead, as the title suggests, needs to be very good at the CPQ technology that he/she aligned with. Unlike Project Manager or Solution Architect, a Technical Lead is always expert in one CPQ technology, as it takes many years of hard work to get to that level. Provide technical design to business solutions, direct developers and test the modules. A technical lead generally has several (at least 4 or 5 years) years of experience in a hands-on development role, has strong software development background, skills in one or more languages like Java, good communication and management skills, and ability to transform business needs into technical design.