A Salesforce Commerce Cloud Project
Next I would like to share the team that I consider necessary to achieve a successful project in Salesforce Commerce Cloud.
I will not limit this post to listing the main roles and responsibilities, but I will propose the project management methodology that, based on my experience, I consider most appropriate.
Just remember that this post is a small "pill" of information, so it is not a detailed document nor does it deal in depth with all the topics covered. What I mainly intend is to have a summary based on my experience on how to approach the development of a project in SFCC.
I would like to suggest the following methodology "Salesforce Adaptative".
The two main agents of this methodology are partners and customers. In order for both parties to have a successful project, the Salesforce Adaptive Methodology encourages partners and customers to discuss and review the customer's top goals. Every project is distinct. Some, like the waterfall technique, are predictable. Others are agile and adjust to the shifting demands of the client.
Regardless, the Project Manager is in charge of guiding the procedure through the subsequent steps of the Salesforce Adaptive Methodology.
Project Stages & Purposes:
- Inform others of the data obtained during the sales process.
- Describe the tasks/responsibilities and roles of the team.
- Describe the project's management strategy.
- Make sure everyone is informed of the project's specifics and their involvement.
- Plan and Architect
- Describe the function of the solution.
- Plan the construction of the solution.
- Document how the solution has to be built.
- Obtain the client's approval for the prior actions.
- Determine the possible tasks that will be needed to complete the project.
- Construct, Validate, Deploy, and Support
- Create and release the product backlog's priority tasks.
- Obtain input, then modify the solution in light of it.
- Give assistance for a predetermined length of time.
- Monitor and Control
- Track, examine, control, and provide information about the project's performance.
- Determine any spots where the scope has to be changed.
- Start the scope changes you've agreed to.
Project Roles & (some) Main Responsibilites:
In this proposal I do not indicate the percentages of dedication by role, which can change depending on the size of the project. Similarly, not all roles would require full dedication, but this would also vary depending on the size of the project.
- Project Manager
- Manage the project to ensure the sucess by adding value to the product.
- Create Project Plan ensuring SFCC B2C Project Phases.
- Make the Project Diagram with planning.
- Track Tasks and Timings together with Business Analyst and Team in weekly planning review meetings.
- Create project WBS (work breakdown structure) to define scope of project.
- Business Analyst
- Create the functional and non-functional requirements (FSD)
- Validate FSD with Stakeholders (before build & implementation phase)
- Create and define tasks to meet agreed requirements. (User Stories)
- Verify all the requirements have been done (DoD)
- Technical Architect
- Promote SFCC B2C Best Practices (security, performance, etc.)
- Create the "Development-Guide-Lines" for the Technical Team.
- Repository Strategy (i.e: Git-flow),
- Cartridges Structure.
- Overall Architecture Diagram.
- Review, check and approve the TSD. (Assist the Technical Lead) (TSD Technical Specification Document)
- Provide/Design complex technical solutions.
- Develop proofs of concept to validate technical solutions.
- Management of technical risks.
- Participate in the SRA process together with the Project Manager and the Business Analyst.
- Tech Lead (a senior developer, fullstack if possible)
- Engage Developers to follow the "Development-Guide-Lines".
- Create TSD Document Skeleton and start to complete the project technical information.
- Support Project Manager and Business Analyst in SRA. Defend TSD in SRA Sessions.
- Develop Complex Functionalities.
- Review & Approve/Refuse Merge Requests.
- Manage GIT releases, deploy code and ensure code replications process properly.
- Backend Developer
- Create Cartridges Skeleton.
- Create Controllers, Models, Libraries (Server Side JS), Hooks, Jobs.
- Create Custom Objects.
- Create Custom Attrs (SOT&COT)
- Use CVS: GIT
- Frontend Developer
- Use and extend Bootstrap (SFRA)
- Create ISML Templates (html structures)
- Parse data in Templates ISML directives
- Create Translation Files.
- Create CSS: CSS Compilers: LESS/SASS
- Create/Manage Content slots & assets.
- Setup files for the Static Code & Compilations.
- Use CVS: GIT.
- QA Tester
- Create the Testing Plan according to the requirements.
- Execute planned tests and after development provide report.
- Test the solution in the agreed devices and planned versions.
- Automate deploy processes in the planned environments. (i.e.: Integration Env., Development Env, Staging Bridge)
- CI, CD.
What defines the success of a project?
In my opinion, what decides the success of a project is that the Solution meets the agreed scope, the duration of the project and customer satisfaction.