Thursday, April 16, 2015

Agile Methodology at Salesforce

Agile development is believed to be one of the top many reasons why salesforce.com is so successful. This method encourages continuous collaboration among stakeholders and frequent delivery of useful functionality. One fine day, I was talking to one of my friends who works at salesforce.com. We were discussing work culture, projects, teams, Agile, releases, enhancements etc. I was very excited to know that both of us are working in Scrum environment. It became more interesting when he started telling me this new methodology that salesforce.com has adopted – “ADM” also known as Adaptive Delivery Methodology.


ADM is a flavor of popular agile methodologies and framework which mainly focuses on short cycles, iteration, learning, team improvement. While the main technique that salesforce.com follows is Scrum  Lean management principles govern the Decision making and product development strategy. One of the main principles that they follow is optimizing the value stream for the whole organization and not just teams. These teams consist of all the roles required for the smooth functioning of the product delivery at the end of each sprints without being dependent on any other teams. Salesforce.com promotes scrum master certifications within the organization.

Highlights of Adaptive Delivery Methodology-
  • Self Sufficient Teams
  • Prioritized work
  • Shorter Sprints with Time Boxed Work
  • Daily Stand up meetings
  • Effective Communication between Team Members
  • Visualize the ongoing work
  • Transparency between Team, Team Members and Management

The 7 lean principles that salesforce.com follows are 

1. Eliminate Waste

Waste also known as Muda is something that does not create any value for the customer. Half done work, task swaps, defects, unnecessary transportation of resources are all examples of waste.

2. Build Quality In

A satisfied customer whose requirements are fulfilled with a simple system, less clicks
And which gets the job done correctly

3. Create Knowledge

Learning is critical for any successful organization. To keep up with the everyday challenges at work employees have to keep themselves updated. Also if the work is stored in the repository, these can be referred by the team members who solve similar issues.

4. Defer Commitment

Postpone the decision for the changes that cannot be reverted back. By postponing such decisions we are actually keeping all our options open. Keep balance between late but not too late. Gather enough information and then take decisions which does not affect the team and timeline but is also a safe game to play.

5. Deliver Fast

Long delivery will increase the change in requirements. Fast delivery makes sure customer is satisfied by receiving frequent delivery of useful output. Build your product fast and release it in the market let customers use it and then improve it in small increments based on the real customer feedback.

6. Respect People

Everyone should be treated same irrespective of their knowledge, diversity, position, background.Recognize and appreciate the work, let individuals take their own decisions about their work. Respond to your team members immediately, listen to their questions and concerns. Make efforts to let them feel that they are valued in the organization.

7. Optimize the Whole

Make efforts to make the entire system effective and not just one or two teams. All the teams should have sufficient workers with all the roles necessary to deliver output or a product as a standalone group and not dependent on other teams for work.

Source: Agile Methodology at Salesforce, an Inside Look

No comments:

Post a Comment