Agile Development with Salesforce
What is ‘Agile’? Agile is an approach to product delivery that helps teams respond to unpredictability through incremental, iterative work cadences (known as sprints). This gives us the ability to develop a subset of high-value features first, while incorporating feedback sooner.
You can also think of it as a mindset shift away from the idea of a project (that has a start and end date) to a ‘product’. So long as the ‘product’ exists, whether that be an integration, new application, enhanced cancelation process and so on, then there’s the potential to add value.
When living in a fast-changing world, anything can happen. Just think about what happened in 2020. How many unfinished projects have been compromised as organisations were forced to shift their focus? Constant delivery of value, with a constant feedback loop, is a powerful way to reduce wasted resources and prevent deviating from the overarching goal.
How Does Agile Apply to Salesforce?
You may be a Salesforce admin, developer or on the ops side of things, wondering how this can relate to Salesforce. In Salesforce terms, managing your org in an agile way means deploying useful features frequently, on a daily or weekly basis, instead of a bulk deployment every couple of months. By doing so, new features can start adding value immediately. I still hear horror stories of 18 months projects which means that no measurable benefits have been rolled out!
Benefits to Working Agile With Salesforce
Working in an agile way keeps you ‘on your toes’, constantly refining your plan as circumstances change around you and your team. It’s certainly more comfortable going through the motions one ‘stage’ at the time – but comfort is complacency.
Think of all the unfinished projects, abandoned in the requirements gathering or design stages before anything was actually delivered to users due to Covid-19. What a waste.
Think of mastering agile as a grade – the closer to agile you can be, the better you will perform against your competition.
Let’s look at Salesforce themselves. In 2006, Salesforce made the switch from a waterfall approach to an agile approach to development, in order to improve productivity within a rapidly expanding, global engineering team. With that switch, Salesforce increased productivity by 38% and major releases were completed 60% faster! Those are big numbers.
Agile Project Stages
If someone is selling you a step by step guide to agile that they hope you follow like a thermomix recipe, it’s a lie! Run, fast, hurry!
Agile is a mindset, not a methodology.
First, read the Agile manifesto to understand where this mindset came from; the principles you will find here will guide your action. This reminds me of an Aristotle quote: “We are what we repeatedly do, excellence then is not an act but a habit.”
To get into those habits there are a few frameworks to help teams and organisations to get an Agile rhythm.
As a Certified Scrum Professional (CSP®-SM) I can give you a taster of what the Scrum framework is:
Rarely do we have the perfect knowledge at the beginning – in fact we know more about the project as we progress than we did at the start.
The scrum framework uses timeboxes to harness uncertainty to your advantage. Your bigger timebox is a sprint (generally 1 or 2 weeks in duration), and a smaller timebox is 24 hours.
At the beginning of the sprint, come together as a team (your product owner, development team and scrum master) to define the goal of the timebox. As a collective team, you refine the different items that are required to reach that goal, broken down into tasks.
At the start of every day during the sprint, come together as a team to align your achievements and how your efforts in the next 24 hours will work towards the common goal.
At the end of the sprint, you show stakeholders or anyone interested, the tangible product (the output from the sprint’s goal eg. an integration, new application, enhanced cancelation process, etc.) to gain feedback, ask questions, and inform the next steps of the product.
Gather your team to discuss how you are doing things and how it can be tweaked to make improvements. We focus so much on what we are building that we forget to look into how. This time to pause and reflect is key.
Post Salesforce Link