Previously in our Lightning series, you learnt more about the design phase and its challenges to overcome while moving from Classic to Lightning.
Go to the Previous Post on Move to Lightning – Design Phase
This article will zoom on the implementation journey. We will share our experience on effective Lightning development planning and execution,
First Step of Build :
Where to Start and How to Start is the first question everyone has during the Lightning Transformation implementation journey. Salesforce Lightning requires multiple skill competency and due to this planning the Team structure is important for Implementation phase. Below is the recommended team structure,
UX Team :
Involvement of UX expert from the initial phase of the transformation is key to succeed. It is very important to onboard UX team with sufficient details on the functionalities of the project like different types of Persona involved, the current key pain points, process flows, etc,. In addition to it, they would interview end users and gather pain point. Based on the End-users feedbacks, UX team suggests the possible way of presenting in the UI layer. They can also help in setting up the brand and theme on the lightning application. Solution team, UX team and technical architect have to work together along the Lightning implementation.
Technical Architect :
For the core build, the Technical Architect is the captain of ship. He designs technical component architecture, collaborates with solution team, UX team and Expert team drives the success in terms of technical aspect.
UI Team :
This team must have strong knowledge in SLDS (Salesforce Lightning Design System). They develop the UI wire frames using SLDS and pass the HTML information to the Lightning developer team.
Expert Team :
Expert team is the core team where they enriches knowledge in UI frameworks, SLDS, LWC and Aura. Expert Team might not be needed for small company but they are very much required for big company where several streams working on salesforce platform. If the implementation is small, then Technical Architect can play the expert team role. They establish the best practice to be followed. They also perform consulting in order to develop the generic lightning components. The core responsibility of this team is to align and adapt the upcoming new lightning features and work closely with Salesforce Architects and Salesforce Program Managers. The generic component library will be maintained by them. There might be scenarios where Salesforce reaches out to expert team and request them to participate in the lightning pilot features.
What is Generic component ?
For example, in the Sales Stream there was requirement in Sales Cloud, say during the creation of Opportunity, there is a Lightning Component which should suggest possible related Opportunities. The Service Stream had similar requirement in Service cloud. Expert team based on the requirement, with the reference from library suggests the developer/ TA to reuse the component which already suggests related Opportunities (Generic component).
Lightning Developer Team :
This team develops the Lightning Web Components/ Lightning Components based on the component architecture. This team will have to know LWC framework, Aura framework, Apex and Lightning Configuration.
Insight into Build Process :
You can split the build process into several stages as below,
Discuss :
Lightning is not only new for Developers or Architects, it is also new for everyone using it, so brainstorm within Team (Developers, UX and Architect) and understand what is important and what is not important for the Lightning Transformation. Remember Lightning is not only about transformation it is also an opportunity for improvising or simplifying the complex process. The key discussion is on items like Lightning Readiness Report, whether a VisualForce page needs to be Lexified or redevelop the same using LWC or Aura framework, Redefine Profiles per Persona for the Lighting Home Page, Formula fields having javascript, etc,.
Prepare:
By this phase you will have fair idea on the Business Requirement for the phase, keeping that in mind Technical Architect will prepare Component Architecture Diagram. There might be possible scenarios where there is bottleneck blockers in order to implement things suggested by UX team. Keep calm and collaborate with UX team to see what best can be done in terms of achieving the goal.
Preparing Technical component architecture:
This part will be key for success as the technical delivery resides here. This will help the complex requirements split into pieces of work and easy to distribute the work to developers. Document the flow of component, say do we need simple component or parent child component, etc,. Developers looking into the architecture can understand the input/output and event handling on theirs and peers component. Below is the sample Component Architecture diagram. This lists down the Parent Component, Child Component, Events, attributes pass from parent to child, apex method call to the server, etc,.
Re-Estimate :
Re-Estimate the level of efforts as per the architecture. During this phase, you need to detail out the technical part of business requirement and the data model to your development team. This exercise will also let you know whether the scope of work can be achieved in the current phase or in the following phases. The productive way of estimating is to collaborate with your developer team and segregate in terms of complexity wise. As lightning not only new for business but new for the developers too, be honest and keep few hours of extra buffer considering the amount of complexity.
Review :
Do not forget to review the architecture with Expert team. Why ? As there are multiple streams working across the implementation, the expert team hold the definition list of reusable components in the org and they can recommend you in reusing the components which would drastically save a lot in terms of development time. They can suggest you the good practice that the technical architect might missed it ;). The expert team will make sure all the lightning components involved in the org is following best practice by doing code review.
Develop :
The technical requirement needs to be distributed to the developers in terms of their expertise. Remember the development is not only in terms of components but we need to use the standard features of Salesforce. You will have development work related to Record Page, Path, Community Page, aligning with the managed package, etc,. As we said Lightning is new, keep checking the status with the developer if they are struck up with blockers. Collaborate with your expert team and resolve it. If the requirements are too much repeated, then it might be a suitable candidate for creating reusable component. Bring the situation to the Expert team notice so that they can plan Generic Component. Insist your UI team to use the SLDS framework. They are tend to use their javascript methodology but you need to insist them to go through SLDS framework and design the UI in modern way.
Visualforce is Page-Centric model and Lightning components are App-Centric model. Lighting Components are designed to create self-contained components that build on top of each other. To be more clear, with Visualforce you would send an interaction to the Salesforce server and then update the entire page. However, with Lightning, you can send an interaction to the Salesforce servers and then update a specific component. This has huge implications for performance and for the fluid motion of a UI. This allows us to design UIs that are inherently responsive to the user interactions, meaning we update the things the user is interacting with and everything else remains untouched. The components can either have the logic to be processed on the Client-Side (using JavaScript code) or on the Server-Side (using Apex Code) depending on what the component is designed to do.
Validate and Test :
You need to schedule validate meeting with key business stakeholders. This process is key which will align the expectation of the business stakeholder on what can be expected during the UAT. Every two weeks once validate the business requirement which had been implemented till date.
Deploy :
At this stage the business requirement are validated and would be certified to go LIVE. As the Lightning solution is new, you need to have Deployment Team. They will train the business users in terms of on-boarding them to Lightning. After the testing phase, do not get surprise, there might be still defects which are tested by the core end users. As you are into global solution deployment, the solutions that is designed might not be adaptive to other geographical locations. On each case you need to find solution which is common across the globe. You need to document the pain points and technical issues and bucket them accordingly in terms of criticality for the Go Live. Discuss and collaborate between solution team and technical architect in terms of possible resolution.
- Lighting is about component and event based concepts. All this days we were using VFP for the custom pages which is very intuitive and need to wait until the entire page is loaded. In Lightning, the pages are based out of components which are quick to load and can be independently loaded in the page with its own response time
- Reusing the components is the key benefit in Lightning which will drastically reduce the build time
- If the components needed to interactive with user, make use of Flows.
- The new skills need good amount of coding practice. Keep the hunt open for the new scenarios and practice the skills accordingly
- Salesforce is releasing new Lightning features for every Release. Keep updating your knowledge on it and try to adapt
In the next Post, you will see how we finally jump into the Change Management phase