I’m going to let you in on a secret. Salesforce and Agile are meant to be used together. When you take some agile principles and use them with the power of Salesforce, you can build some extensive functionality with a very small team in a short amount of time. All of that means you save money in the long term. The key here is what the team builds is what you expect the final product should look like.
As mentioned before, Salesforce enables small teams (3 team members seems to be the sweet spot) to quickly build new functionality and applications with ease. Just think of the resources you don’t need to invest in when using Salesforce. No need for a database admin team or a web server team since that comes out of the box with Salesforce. Keep in mind that just because your team is smaller, that doesn’t mean you still can’t build the wrong thing. This is where Agile comes into play.
Imagine the following scenario: You hire a Salesforce consulting team and you give them the following requirement:
“Build a search screen in my Communities website that allows my users to search for chatter groups and it looks really nice.”
Sounds simple enough. Your consulting team takes the requirement verbatim and writes code where they provide a page that allows users to search for all chatter groups and simply just shows the text of the chatter group name, and the page looks really nice.
Two days before this is supposed to go live, they tell you that the search page is ready. You go and see their final product. You quickly realize that the page is searching both public and private chatter groups but you only wanted public groups to be searchable. You also notice that the page does indeed give you the chatter group name but nothing else. No link that takes you to the chatter group or any other details you would think would be helpful to your users.
What happened? Well, you described product “A” but the consulting team heard product “B”. This is where agile principles can be used to avoid this whole issue.
Principle 1 – Prioritize
Prioritize what is most important to you. You mentioned both a searchable page that looks nice. In the case above, it appears the consulting group prioritized how the page looked above what should be searched. Agile helps both sides get on the same page and define what is the most important item to work on first and so on.
Principle 2 – Create Thin Slices of Working Functionality
Implement the work in thin slices. The point of Agile is to write functional code, end to end and build upon it.
What the consulting group should have done is worry about the look and feel later and instead quickly build a page that searches for chatter groups. The page might not look like much but it’s addressing the critical part of the requirement first, which is searching groups. Once you have this general functionality built, this takes us to the next principle.
Principle 3 – Gather Early Feedback and Iterate
Iterate through the task while constantly gathering feedback. Once the first iteration of the page was built and searching for groups, they should have shown you what they have created. This serves a couple of purposes.
First, it starts the conversation between the company asking for the page and the consulting group earlier and provides the development team enough time to correct items. In our original case, you would see that the page was searching both public and private groups and you would see that it’s just providing group names, nothing else.
You’d then call out these observations and the consulting group would then iterate through the functionality again, implementing the suggestions.
Why Does This Work?
If you think about it, the key here is constant communication. The earlier the better so it provides enough time to correct course. This not only helps your department or company get the product you requested but it also helps the consulting team because their customers are happy and provide good value for the money by not having to totally rebuild functionality.
You’ve Probably Seen Agile Principles At Work Without Knowing It
I’ll leave with an interesting observation about how Agile principles work with any project and not just software development.
Did you see the movie “The Dark Knight Rises”? If so, you benefited from Agile principles. Months before the movie was released, they showed an extended movie trailer that featured the villain Bane. The general public reaction to the trailer was they could not understand a word that Bane was speaking. After the studio heard the viewer feedback, they had enough time to iterate back through the Bane scenes and adjust the audio to make his character more understandable.
They may not even have known about the principles but regardless the process worked.
All of us at 6 Street Technologies are extremely comfortable with using Agile principles in our Salesforce projects. In fact, I’m also a Certified Scrum Master who has lead several projects in this methodology. If you’re ready for a change in how your projects are typically created, reach out to us and let’s work together.