by John Adams
Agile and Salesforce
For the bulk of my career, I used the Waterfall methodology of development. This meant weeks, sometimes months, would be spent defining requirements, creating mockups, and documenting processes before coding even started.
Recently, I’ve been working with Agile, a rapid application development (RAD) methodology and iterative approach that emphasizes rapid development of functional components.
Salesforce, and by extension, the applications built on the Force.com platform, such as NGO Connect, Advancement Connect, and foundation Connect, are ideally suited for Agile development. Even without developers to create Apex code and Visualforce pages, System Administrators can configure the platform to add new fields, flows, rules etc.
Rather than compare and contrast Waterfall vs. Agile, I want to focus on a potential negative side effect of adopting Agile. While Agile allows for greater flexibility during development, neglecting to document changes can undermine future productivity.
When Is “Agile” Too Agile For Its Own Good?
At their start, most projects have a well-defined and limited scope. However, after a project is complete, this scope tends to change to accommodate new functionality or unforeseen use cases. With the “clicks, not code” capabilities of the Salesforce environment, changes can be made in minutes. Take for instance, adding a new value to a picklist.
With Agile, it is easy to fall into the trap of continuing to spin off new functionality, address new use cases, and fix gaps in original design without detailed documentation. The result is that when tasked with tracking down an issue, adding new functionality, or expanding the process to others, you rely on memories and disconnected high level requirements spread over time.
“But we use Agile so we don’t have to spend so much time writing detailed requirements!”
True, Agile allows you to react quickly to changing situations. Still, this should not mean that you can disregard documenting your business process and other changes in your org. Instead of trying to write and maintain a large volume of requirements, try diagraming the processes involved.
Process Mapping goes hand in hand with capturing Business Requirements. Organizations should take this step at the onset of a project. However, if you haven’t done so already, it is never too late! Start mapping your existing process now! You will be thankful later when a change is requested or you need to train users.
“How do we do map our process?”
There are a number of tools available to diagram processes and flows, such as Visio, Gliffy, and LucidChart. I’ve used all of these over the years, but recently, I’ve been experimenting with a free service called Elements.cloud.
Mapping Processes with Elements.cloud
Elements.cloud allows users to map processes in a hierarchical manner, allowing both author and viewer to drill down from the top-level diagram into successive levels of detail.
Set the scope of the process at the top level, with a small number of high-level activities, then use the drill-down feature to expand on each activity, providing ever increasing levels of details. At the lowest levels, I capture key system settings (page view used, field values, record states, etc.). For example, if the process is completing a transaction, then Opportunity Stage would change to “Closed.”
One way of recording this information is to note in the process box that a field value has changed. Another approach is to use the Data Table functionality to record picklist field values, record stages etc. Data Table and Reports are useful for tracking various use cases and for testing purposes later.
“How do you justify the time and effort?”
Yes, mapping out a process and going deep into the details is time consuming. After a project is complete, it is especially hard to keep processes up-to-date as changes occur. However, this has many benefits throughout the life cycle of your project–not just at the beginning. A few of the benefits of mapping the processes include:
- As-Is / To-Be planning
- Define the scope of a project
- Explain and train the process to new staff
- Help plan integration efforts and explain to third parties
- Identify the root cause of an issue
- Aid in User Acceptance Testing
By taking the time to document your processes thoroughly, your organization can continue to run efficiently and achieve a greater impact.
John Adams is a Principal Consultant for NGO Connect by roundCorner. Managing and executing key implementations, he helps organizations leverage the Salesforce platform to build and nurture life-long relationships with constituents.