Acknowledging your mistakes, allows you to learn from them #
After 3 and half great years in my last role I have moved for a new challenge and I’m excited about joining PowerObjects. I met some great people and leave better person with more experience than when I joined.
Looking back over the last 3 and half years, it’s been a great journey and team effort. The key to it was hiring talented people with potential and let them do their jobs (e.g. don’t micromanage them). The culture of the team is important because you want the team to collaborate and share information, experiences, mistakes and solutions.
When I joined there were a handful of people in the Dynamics team and when I left there are 10 times that amount. Few people knew there was Dynamics team and now the team has a blog and social media presence. It is one of the biggest Dynamics team I worked on until I started at PowerObjects 🙂
Below are some highlights I contributed to, as most things in life it was a team effort that made everything work.
Enterprise projects means needs software engineers not developers because there is more to development than just writing code. Having lots of developers working on a single Dynamics project is tricky, you need high standards and create quality customisations because you create lots.
With Enterprise projects the focus is doing things right, not doing things quickly. DevOps shortens the feedback loop, allowing the team to find problems quickly with small code set.
DevOps automates boring tasks (reducing errors), automate quality checks and best practices. The result is better collaboration on the project, higher quality and finding problems quickly.
I didn’t contribute to DevOps because I was a Scrum master/Solution architect and not directly creating customisations. I helped with discussions, encouragement, making sure the software engineers understood it and used it.
Storing Dynamics customisations in source control
Automated the build – no manual deployments!
Creating a data migration tool (which is available to download for free) which automated the moving of data between environments. https://www.nuget.org/packages/Capgemini.Xrm.DataMigration.Engine/
Ability to reset an environment, import customisations, data and have a new environment created in minutes with no manual steps.
Open sourcing many of the DevOps tools – CapgeminiUK NuGet and you can read about it here Our open source DevOps accelerators will help you deliver high quality Dynamics 365 solutions
The team could monitor Microsoft adding changes in the xml files, we noticed this because it sometimes broke the build, read more here Problems with Microsoft Dynamics 365 patches
DevOps is becoming more common in Dynamics projects, Microsoft created the solution checker and the PowerApps BuildTools.
It’s good to see Dynamics developers using the best practices from software engineering and increasing the quality of our processes and solutions.
The strength of a team is the people and the culture they work in. I learnt not to lower my standards in hiring because a poor hire can be disruptive and slow the productivity of your good team members.
Only hire strong candidates, if you are not sure, don’t.
I did lots of interviews and it helped me improve and know what I’m looking for, below are numbers of phone/face-to-face interviews
35 Interviews 2019
28 interviews in 2018
47 interviews in 2017
27 interviews in 2016
I helped create digital interviews for 3 different roles and watched at least 60 digital interviews. I attended 4 assessment days helping assess graduates/DA’s.
Recruitment was a priority for me because the key to building a good team is getting people with good character and right attitude. This makes it easier for leadership to create the right culture.
Consultancy and delivering large projects is all about people. When you have a team of capable people with the right attitude, you feel you can do what’s needed to make it successful. The goal is to have multiple people contributing to the team and many leaders.
- Passion – Be passionate in Dynamics, Power Platform and creating solutions, otherwise you will be average
- Team player – IT Projects are a team sport and you must work well in a team
- Drive – People who want to improve and progress
- Curious – Curious learn how things work results in deeper knowledge and enables the creation of flexible solutions to changing requirements
- Potential – Hire for what they will become, not just what they are now
Technical knowledge is a prerequisite, it’s stops someone from being hired but its not a reason to hire. A talented person can learn technical skills but someone with good technical knowledge will find it very difficult to change their character.
An example is I would hire a good Cloud native/C# developer and teach them Dynamics if they had many of the traits above.
People with good character and mindset take responsibility and get the work done, they help the team and improve others. These people deliver projects and make the team stronger by creating best practices, accelerators.
I onboarded most the people who joined the Dynamics team; I felt it was important for people to start a new role well, give them the information they need and set expectations.
I improved the process but onboarding is about people, welcoming and introducing to them to as many of the new team as possible. This is a challenge with distributed teams because people are on site and not available to meet people.
Team spirit and sharing knowledge
Teams should work as a hive mind with collective knowledge. Dynamics, Power Platform and Azure is too big for any one person to understand all parts of it. You want the team to learn from individual mistakes, solutions/limitations and successes. Avoid everyone making the same mistakes individually on each project.
When you learn as a team and everybody learns faster.
Theoretical knowledge is useful but unproven, practical knowledge is invaluable because it’s tried and tested. Learning when and when not to use a customisation or solution can save you weeks of effort/expense/time.
If everyone shares experiences, then the team can learn as whole without each individual needing to make mistakes.
I arranged a Monthly meeting where we shared solutions, showed new functionality, updated the team on projects, bids, certifications, blogs etc. This was successful because everyone took their turn to present. If we all do a little, then no one individual needs to do a lot.
The challenge of distributed teams is project teams not feeling part of a bigger team. It’s important to remind everyone they are part of a larger team. It’s expensive to meet in person but a worthwhile investment.
It’s hard to work as a team and help each other if you have never seen each other. Delivering IT projects are a team game and the better the relationships between people the more effective they will be.
The better you know other team members, the more fun you have at work.
I raised the profile of the team, help the Dynamics community by sharing the approaches, best practices, problems solved, technical solutions and experiences of the team. This encourages people to join if they see what we are doing and how we we do it.
I created the Medium publication and hassled people to contribute posts. The start was mostly me writing posts and persuading others to help. In the first 8 months we write 30 posts and momentum starting to grow.
The blog now has over 100 posts and 370+ followers, with many people contributing.
Attended Extreme 365 Europe for the last 3 years
I presented at CRMUG in Birmingham
I attended a Power Platform Hackathon this year
I raise the team profile using social media to share blog posts, job roles, celebrating new joiners, certifications and other achievements of the team. The team is no longer a secret.
My goal was to create an atmosphere and culture where everyone is trying to improve the team, other people and themselves.
I encouraged individuals to share their knowledge. When you explain something via a blog or presentation, it forces you to understand it, then you can describe how it works and the key points (not all the points).
One of my favourite sentences was – “That would make a great blog post”.
I improved over the last three years. My experience in delivering large projects and leadership isn’t something you can prepare for, jump in the water and learn to swim.
Reading, doing and reflecting were the keys to improving. I tried to work harder but you reach a limit where you can’t work any harder because there are only 24 hours in a day. I had to learn to work smarter, delegate more and think how I could motivate others to contribute.
When leading a team you must have priorities and a plan, you want to act strategically or you can react to situations and not progressing.
I am a big believer in Dynamics professionals getting certified because it expands their knowledge of the out of the box functionality. If you specialise in delivering Dynamics projects, then you should be an expert in Dynamics 365 and the out of the box functionality.
You need to know the out of the box functionality is so you can align the requirements to fit out of the box functionality.
Read more here – What are the benefits of CRM certifications
I have had a lot of fun over the last 3 years and worked with some great people and hired people who will progress well in the careers.
Delivering large IT projects is a tough and challenging. It’s important to inject fun into the proceedings and create a good team spirit. Happy workers work harder and have more fun. Enjoyment at work comes from interacting with people, laughing and creating solutions that help people.
I have had lots of enjoyable meals and nights down the pub with the team, this improved relationships and made work enjoyable.
It’s the role of the senior people on the project to make sure you create the moments where the team can be together without thinking about work.
Based on my leaving present in the picture, maybe I didn’t do a good as job as I thought 🙂