Have you been recently put in charge of a big software project?
Maybe you have been given a large team, a long list of stakeholders and some pretty complex subsystems to develop and you are feeling that butterfly in the stomach?
Maybe you wished that a perfect tipsy topsy timeline milestone-oriented project plan would fall from the sky right into your lap?
But that’s not possible at all, is it? So, you have to buckle up and do it yourself, unfortunately! project management is not difficult or scary after all.
Here some of the tips of how (not) to do that!
Listen Up, You Fresh Project Manager! So you think managing software projects is like ordering pizza? Pick what you want, tell people what to do, and wait for delivery? Oh boy, you’re in for a treat! Let’s start with the basics – your absolute guide to turning any project into a chaotic mess while feeling like a boss.
Don’t Waste Time Reading Books or Articles
Books about project management? Articles about best practices? What a waste of time! You’ve played enough video games to know how resource management works. If you can manage a team of warriors in an RPG, how different could managing real developers be? Besides, those authors probably never managed a real project in their life – they just sit around writing books!
Assume Everything Will Go According to Plan
Murphy’s Law? Never heard of him! Your project plan is perfect, and nothing can go wrong. Why bother with contingency plans or risk management? That’s just negative thinking! And backup plans? Please! If plan A doesn’t work, we can always come up with plan B while everything’s on fire. That’s when people think best, under extreme pressure!
Not identifying the capability of each resource: After all; you have recruited them saying that they must all be “full stack” developers, right? Who cares if one of them is better in front end and someone else is prolific in backend? If the job description says they have to be “full stack”, they have to be “full stack”!
Focusing on technology rather than the user need: We are a software company. Our holy target is to practice and implement latest and greatest technologies and trends there is! Who cares about what the end users are hoping for and at what timeline? What do they know about latest industry trends; right? Do they have any idea how much their prestige will go up if the project has latest untested beta version of the framework which might increase the project time by 30-50%?
Absolutely not!
Not allocating time for refactoring: Refactoring is for the weak! The alpha developers just write the code on top of old code, and it works? Besides, we are not going to stay at this company forever; right? So, what if the next guy that comes after me pull out his/her hair in agony while fixing bug in my code? Tough luck! Besides, the time that we spend on ultra super cutting-edge technology just crept on us and now the customer demands to finish the project in such a short period of time! We already extended the deadline 3 times. And we successfully pissed them off. Ain’t nobody got time for refactoring now!
Planning with ‘everyone‘: After all; how hard planning could be? I can just ask each developer how much time they need for a task. After that put the estimate in Jira and bam!
We are done with the planning.
After all, when was the last time any developer overestimated his/her capabilities; am I right?
Using Excel Only: We have bought the whole Microsoft suite with a lot of money. And we are going to use it to the fullest! We just put what each developer thinks each task might take. We sum up the hours and divide it by the number of developers. And What do we get? The date the project is going to be finished. Easy peasy lemon squeezy!
Who needs advanced planning tools and techniques anyway, am I right?
Make Deadlines Without Consulting Anyone
You’re the project manager! You know better than anyone else how long things should take. Just look at the task, think of a number, and multiply it by 0.5 – because developers always overestimate, don’t they? If someone says a feature will take two weeks, tell them they have until Friday. Nothing motivates people like impossible deadlines!
Ignore Technical Debt Like Your Personal Credit Card
Technical what? Debt? That sounds like a problem for future you – or better yet, for whoever takes over after you move to your next job! Just keep piling up those quick fixes and workarounds. Who needs clean code when you can have a tangled web of dependencies that would make a spider jealous? Besides, spaghetti code is a delicacy in some cultures!
Skip Documentation – It’s Just Busy Work Documentation is for people who can’t read code! Real developers can figure everything out by looking at the code itself. Why waste time writing docs when you could be adding more features? And user manuals? If users need a manual, maybe they shouldn’t be using your software! Let them figure it out – it builds character.
Trust Your Gut Over Data
Metrics, analytics, and performance data are just numbers made up by computers. You’ve got something better – your gut feeling! Who needs burn-down charts when you can just look at people’s faces in the morning stand-up? If they look tired, the project must be progressing well!
Living in the dream world: There wouldn’t be any employee turnover. So, we don’t need to consider things like time to bring a resource up to date with business, past process, technology of the current project etc. I mean; who would want to leave this paradise, right?
And what if they are audacious enough to leave? The new one should be able to start working from day one. They are getting the same salary as the last one; so how can they not?
Treating things like blue collar job: If someone can write 50 lines in first hour and finish 1 issue in first 2 hours; shouldn’t he finish the day with at least 400 lines of code and 4 fixed and deployed issues? Or am I missing something here? What is so difficult about this project management?
Considering everyone “equal”: I mean we are a team here. So, a senior developer and junior developer; front end guy or backend guy; new hire or 5-year-old veteran; all should chip same amount of output; right?
Change plan, team, expectations and deadlines whenever needed: World is unpredictable; so are we and our project planning! If we can’t score in normal way; we just have to move the goalpost a little bit. What’s the harm in it, right?
Throw more resources at a problem rather than fixing it: If 1 woman can deliver a baby in 10 months; shouldn’t 10 women be able to do it in a month?
Micromanage the hell out of everything: What is the benefit of trusting your team and delegating responsibility when you can micromanage each and every thing and paying the price down the road? I mean; project management has “manage” in the title!
Take the big decisions all by yourself: While planning with everyone is a viable option; we can also take each big decisions; like project deadline, resources, technologies, challenges, risk factors etc.; by ourselves also. What is the point of taking suggestions from someone who can’t think and express themselves like us; right?
Meetings each day; everyday: Talking is fun! Giving motivational speech is more fun! Talking about productivity in each day meeting is even more fun and intuitive! And meeting without clear agenda and points? Oh, boy! They are just heavenly. Maybe we could order some snacks and lunch (or dinner) for the meeting so we can kill more time together!
Sounds fun!
Point fingers: What’s more fun than meeting each day is delivering blame, guilt and personal judgement. Who needs to focus on the result and teams and process and motivations when we can just sit around a table and point fingers to each other?
Create Multiple Competing Teams
Nothing spices up a project like some healthy competition! Split your team into smaller groups and let them race against each other. Better yet, don’t tell them what the other teams are doing. Surprise integration day is always fun! And if things go wrong? Just watch them point fingers at each other – its like reality TV, but you’re the producer!
Celebrate Overtime Like It’s a Badge of Honor
9-to-5 is for amateurs! Real software projects happen between midnight and 4 AM. If your team isn’t sleeping under their desks, are they really committed to the project? Make sure to send those “just checking in” emails at 11 PM. And weekend work? That’s not a bug, that’s a feature of your management style!
Embrace the Chaos Theory of Project Management
Why stick to one methodology when you can mix them all? Start with Scrum, throw in some Waterfall when you’re bored, sprinkle a bit of Kanban, and finish it off with your own secret sauce. Call it “Fragile” development – because it breaks at the slightest touch!
Treat Estimates Like Suggestions
When a developer gives you an estimate, treat it like a starting bid at an auction. If they say 10 days, counter with 5. If they say it’s impossible, remind them that “impossible” is just “I’m possible” with a space in the wrong place. Mind blown, right?
Keep Everyone in The Dark
Information sharing is overrated! Keep each team member focused on their tiny piece of the puzzle. The less they know about the big picture, the better! It’s like making a movie – only you, the director, needs to know the whole plot. Everyone else just needs to know their lines!
all in all, project management is a child’s play. In the end, just focusing on you rather than the team, people, process and organization is a surefire way to make a project a massive success!