Traditional project methodologies usually involve the creation of a design document that details the system/product, its new features or updates and associated cost in terms of resources. They include information about the business process, any custom fields, roles and profiles. The entire document is reviewed and approved by the client before any implementation begins. Any change will have to go through the review/approval process again. While this works for most engagements, it does not work well for Salesforce projects. Why?
Salesforce’s major selling points for businesses have been its elastic capabilities and ease of customization and configuration. Since each business has its own unique processes and requirements that evolve rapidly, administrators and developers need to make quick changes in order to keep up. They need to be, in a literal sense, “agile”.
With the agile methodology, projects are structured in repeatable sprints of design- develop-test-evaluate. It provides the following benefits:
When it comes to Salesforce projects, time is of the essence. In order to start capitalizing on their Salesforce investment, businesses prefer projects that could be accomplished in iterations. With agile, requirements gathering and implementation happens almost simultaneously at the beginning of the project, lending itself to rapid delivery.
Considered one of its greatest strengths, agile allows the freedom to make changes as necessary. After every sprint, the team evaluates re-evaluates the direction of the project and adapts accordingly. With other methodologies, project managers are bound to what is in the design document that was approved in the very initial stage of the project.
Realistically, no client can form a lucid view of the product from a written design document. With agile’s early prototypes and quick iteration, the development team can engage the client on day one. They can go in and see what is going on with the Salesforce project, evaluate the object-specific reports, look at results, raise concerns and provide valuable feedback for the next iteration. By the time it finally goes live, the client has become a very knowledgeable user able to navigate the product inside and out.
Predictable schedule and cost
The agile methodology calls for sprints which have narrower scope and shorter timeframes. With each sprint having a known duration and scope, there is a clearer understanding of the cost of the entire project as well as the timeline for its delivery. This enables the client to not only evaluate costs estimates for each sprint, but also make informed decisions about which features are needed to be prioritized. This gives them greater control over the direction and cost of the project. In turn, it provides the development team insight into the features that are more important to the client.
Identify issues early
One of the advantages of the agile methodology provides is the ability to uncover issues early. Iterative testing and integration is done throughout the entire cycle of the project so the development team is able to address issues with each release and adapt to change, when necessary.
Transparent and open communication channels
The team has a system in place to communicate openly. There is clear visibility to the status of the project. Clients have the opportunity to review the project, see how it is progressing, and provide feedback.
Provides high value
The continuous process planning and constant feedback keep the product usability on top-of-mind and the project cost in check. It also saves time and resources by reducing the risk of veering from the original business intent.
The agile methodology is great for Salesforce projects because it enables faster response to changing business requirements. From the start, the client has greater visibility and autonomy over the project. The regular review enables the development team to work with more relevant data to produce a high-value final product.
Also published on Medium.