Last blog post I talked about the MDMP process in the military and how you can apply it to everyday problems. I want to expand on this process just a bit and show you how to get your team involved in the process…
During MDMP there is a big chunk of the process that is completed without your input or decisions. These are really mini decision points, but the big take away is that those decisions cannot be made without your guidance. It all goes back to your mission statement and intent. With these key pieces of information and confirmation that there is understanding and collaboration amongst the team, then you might as well micromanage the entire project and treat everyone like school kids. Having someone lurking over your should every couple hours to make sure you are doing it their way is a sure fire way to make everyone on your team quit the project or even the company. The best way to think about it is to become an enabler for your team and your teammates will hopefully reciprocate that love and enable you to accomplish your mission and goals.
There is a method to the madness of exposing your “vision” in a project. When you let your teammates know what you see for the future of the project, then you empower them to help make decisions, add tasks, remove tasks from the board, and be creative! What you really are looking for is for team members to step up and be proactive about what comes next in your project. This enables you to worry about the nuances of being a manager: interviews, timesheets, and meetings (just to name a few). Yes, that’s the life of a manager role. You have to keep the machine turning.
What does it mean to be proactive? Well there is the definition, but my version is doing things that progress the betterment of the team. This means to do the design up front, write the unit tests, and create some resemblance of common documentation. I will admit, this is my order of priorities too. I always leave documentation until last, but that also means that the team has to communicate in order to know what is going on in the architecture and system. Therefore it really foster’s collaboration, right? No, that is an excuse. I hate writing documentation as much as the next person, but that is why they have a technical documentation profession separate from software engineers. However fostering your team to be proactive when it comes to solving problems means that there is good communication and understanding amongst the group. Your vision is being absorbed!
Now. What is a proactive decision? Simply put it is the pairing of someone being proactive that helps the team make decisions. Trusting teammates to make decisions allows them to bring solutions to the table. This eliminates you from the input to the solution. All your job is to do is say execute what you have told me or tweak these things and then execute. For example, recently I was having a conversation with a team member about how to execute and data reduction problem. We had the option to write SQL to find the result set, or we filtered the problem through a structure procedure in a Storm pipeline. After discussing both sides, ultimately the decision was to go either way. “But that’s not a decision!” Well, it is because I knew what the team member wanted to do, but I didn’t want to make that decision for him. He just wanted my input. I wanted to layout my concerns and priorities, and let him decide which way was better. I give that mad props for coming to me with a solution already concocted and an explanation behind it. Now I had to play devil’s advocate and find the shortfalls in the solution. Eventually there is a pro and con to both solutions. One of the solutions works really well now, but might not scale well in the future. Do we really need to pre-optimize? Never!
Foster your team to be proactive and create solutions. Give them leeway to flourish and don’t smother them by micromanaging their every process or decision. Build a team that will be able to work without you. If you aren’t needed anymore, then you’re doing the right thing. It isn’t job security to keep so much on your plate that you fail at half of the tasks.