Friday, September 7, 2018

Delivering Dynamics 365 - Agile in Enterprise

This is part-2 of my multi series blog about Delivering Dynamics 365 online (Customer Engagement) in the Enterprise. In my earlier blog (Part-1) I have written about Enterprise Design Thinking. This blog focuses on using Agile to deliver Dynamics 365 in the enterprise. The thoughts below are from my experience in design and delivery of Microsoft Dynamics solutions for Enterprise clients using Agile and my learning from IBM Agile academy.

Continuing from my earlier blog, Enterprise design thinking helps in selecting the right project based on user outcomes, Agile helps in delivering the project right for the user outcomes.


1. What is NOT Agile ? - I think there are many books and research out there to talk about what is Agile so I would like to start by discussing "What is NOT agile ?" 
Many years ago when I started with agile delivery I had the feeling that Agile was more like the "6 blind men and elephant story". 
What is NOT Agile ?

If anyone has felt like this on an Agile project than you know what i am talking about and this is NOT Agile. Especially on an Enterprise project where there are multiple teams, with unique expertise like - business, BA, design, Dev, QA, Performance, UAT.., working in different parts of the world brought together to deliver, doing Agile becomes a challenge. And yet, it is possible to be successful - as Agile is a team mindset when working together. It requires certain process and simple rules to be adhered to (I will discuss some below). In an Agile project everyone has a mutual understanding of the desired user outcome. 

Another important concept is the Minimum Viable Product (MVP) - delivering value to the user in an iterative process. This is the prototype approach to delivering. Microsoft Dynamics 365 provides a ready to deliver platform (with Power Apps, Power BI, Flow etc.) which can help in creating an MVP prototype in days. The team can than using, Agile methodology, iteratively build on the prototype to meet and exceed user outcomes.
MVP using Dynamics 365


2. Flavors of Agile - All enterprise clients I worked with, have a unique understanding and would like to implement Agile in their specific way.   I call it the different flavors of Agile. No matter what flavor it is, there should be a common understanding of the reason why Agile is selected as a methodology.
Sometimes it is just a name which is given to the existing mashup process and there is no intention for being agile. If the top management has a clear directive to all employees to use agile and the team members are trained on Agile, it is well understood and accepted. Agile is a mindset that needs to be embraced by the enterprise.

3. The soft(er) values of Agile - As per IBM Agile academy, the values in Agile guide how we, as a team relate to each other, the values are – Trust, Respect, Openness, Courage and Empathy. The values are to be taken seriously and applied in every action of the project. The team (consisting of Client and Consultants) should have mutual respect and trust each other. If a team does not have the right values,  the project implementation becomes a challenge and instead of getting together the team gets divided and may disrupt the project.

4. Agile principles - IBM Agile academy also provides certain principles to guide the team. The 3 principles of Agile are
  • Clarity of outcome
  • Iteration over perfection
  • Self directed teams
I will discuss each of the principles below and add my project experience. It is important that each team member understand & adhere to the principles in the Project.

5. Clarity of outcome – This is to be clearly defined for the project team and this may be documented in the project charter / SOW. The SOW is used by implementation team as the bible / guide for the project. If there is an ambiguity in the SOW it can lead to confusion and difference in expectations. If the project team is not following the SOW, it needs to be highlighted and understood. Many Dynamics 365 project have not succeeded because of the lack of clarity due to not involving users in the entire process.

6. Iteration over perfection – In agile the goal is continuous improvement. After each iteration the team improves working together, the process is better understood and the velocity increases over time. So do not expect the team to be perfect from day 1. In one of my Microsoft Dynamics 365 agile project, our team velocity increased from 100 points in the initial Sprint to 300 points in the end of the Project phase. The first software delivered is an MVP and also every delivery is a prototype that will be improved upon in the next Sprint iteration. 

7. Self directed teams – Teams need to be empowered to take decisions. Once the team members know that they have the power to contribute and make group decisions, the team is motivated and does the necessary actions to complete the work. 
If you see something, say something

Team empowerment is a very powerful principle of Agile. This requires the team members to actively participate and have the courage and be allowed to speak up during agile meetings. It is vital to call out and fix an issue in the earlier stages of development than when it is found in Production.

I hope the above gives you a taste of Agile and would love to hear about your experiences in delivering Dynamics 365 using Agile.

Mihir Shah
Twitter - @mihircrm
LinkedIn - https://www.linkedin.com/in/mihircrm/

No comments:

Post a Comment

Please add your comments and feedback. Thanks for reading.