It's not because of the tech stack, programming languages, or libraries.
Choosing the right tech stack and libraries is a critical decision for the success of a software project.
But, in my experience, software projects fail due to unclear expectations and communication issues. Interestingly enough, I've heard the same thing about marriages.
Even, I'd dare to say that unclear expectations are a communication issue too.
I've been in software projects that use Domain-Driven Design, Test-Driven Development, and Kubernetes and sometimes end up late and going off the rails. It's not a tech problem. It's always a people problem.
Software projects fail when:
- Stakeholders fail to communicate their expectations.
- Leaders fail to communicate changes in project goals and scope.
- Leaders fail to communicate action plans.
- Team members fail to communicate technical issues on time.
One of the most common communication issues is waiting until the day before a deadline to say you've been dealing with a coding issue for weeks. But, in the meantime, you kept saying everything was fine. That would piss off any leader or project manager.
The lesson here is always to ask ourselves: Who else should I communicate this to?
From my recent software projects, I've learned more about leadership, communication, and hiring than about any specific programming language or library.
Hey, there! I'm Cesar, a software engineer and lifelong learner. Visit my Gumroad page to download my ebooks and check my courses.
Top comments (0)