I don’t know if this is a good idea, but it’s an idea I had today. I thought I would try it on for size in this blog post. I’d love to hear your thoughts and comments.
A project is a time-limited, scope-limited, amount of work that you do that will create a change. The PMI definition of a project says that it will create a “unique product, service, or result.” [What is Project Management?] When you are creating something unique, it means that you are invoking a change. Unique means that it hasn’t happened before.
What if we treated our individual tasks like microprojects? A lot of times we have different projects that we need to do, but they are too small to open as formal projects. We treat them like tasks, and we stroke them off of our task-list once they are complete. But many of these smaller tasks could benefit from the same structure that we give to our bigger projects. If we had a clear stakeholder list we wouldn’t miss consulting with key stakeholders. If we had a communication plan, we would know ahead of time what we need to be thinking about when it comes to this project. Having a risk management plan would avoid the issues that arise.
The reason that we don’t open a formal project for these tasks is that it would take way too much work to put together a package for each small task. But what if there were a different way of doing this?
What if I had a setup where I could open my MicroProject and all of the other pieces would automatically become attached to it? Let’s think about how this might look.
On Tuesday morning I walk into the office and my boos tells me that the board has told us that we have to install a second flux capacitor in case our first one fails. This is a fairly easy thing to do since our flux capacitor board has a slot for an additional capacitor. I just have to go out and buy one and install it.
If we treat this like a task, it is up to me to go out, buy the capacitor, and to install it. I will then report back to my boss and take a long lunch. If this is a task, then the only stakeholder I have is my boss. If I do what she says, I am successful.
If I understand this to be a microproject, then I suddenly am much more responsible. If the risks are that we exceed the power capabilities in the server room, or that additional equipment will cause the cooling mechanisms to fail, then I should address risks also. If some of the stakeholders include finance for budgeting, and legal because the second flux capacitor increases the risk of data leakage into the past, then I should be involving them in the decision.
How Could This Work?
I would love to have a system where I could open a MicroProject just as easily as opening a task (one description line and an end-date.) Once you have your MicroProject, then you would be given lists of templates that you could apply to your project. Stakeholder lists that could be reused, risk logs that could be expanded or contracted, a communication plan. You would immediately have the lessons learned log, which reminds you of previous pitfalls. With each of these parts of the project plan pre-populated, you could then pick and choose specific aspects to remove or add details.
The best part of the MicroProject approach (and this tool that I described) is that if you discovered something that you needed to add, you could add it once and it would appear on the templates that you choose in the future. It could make reusability of components very easy.
And when a project is closed, you could add to your lessons learned log. And this would help out with every other project in the future.
The more I write about this, the more I like the idea of MicroProjects. I wonder if I should trademark the name.
Postscript: A geeky[boring] description of what a microservice is. The idea of MicroProjects came from the concept of microservice architecture used in system development.
What are microservices? A microservice architecture is a structure of developing software in a way that each function is a module to itself. A microservice interfaces with other microservices and persistent data. The benefit is that it can be easier to maintain and problem solves individual services, at the same time providing a fast way to implement new services that can give immediate benefit and new features.