If there is one thing that frustrates me more than anything, it is how things are made more complicated than they need to be. This is not just in the world of software engineering, but everything around us. It could be anything from the process of applying gratis kanban board
for a mortgage to opening food packaging.
My latest gripe is around the process of estimating and analyzing software engineering projects and calculating deadlines. Having worked for a number of large global organizations that employ extremely talented people, they all seem to have the same pitfalls.
Business and Product owners usually ask the same question for every project. “How much?” and “How soon?” Yet with this in mind projects always seem to be overcomplicated and delivered late, estimating is hugely inaccurate and communication with the Business and Product owners is always an issue.
It seems that as software engineers, we think logically and this can result in looking at things too deeply, disregarding the basics. It is almost as if we think up a complex algorithm or process to solve an issue before we really know what the problem is. This mentality quite often crosses over into simple day-to-day tasks and we become oblivious to what we are actually trying to achieve. This escalates when like-minded people work on these processes together and things can escalate out of control.
What fascinates me is that other industries, with little or no formal training either don’t have the same issues or solve them relatively easily, and manage to work efficiently and effectively.
For example, a car mechanic or a garage owner, probably doesn’t understand Agile methodologies and the concepts of Scrum, Kanban or Fibonacci’s theory for sizing work, but they still utilize the same set of principles, probably without even knowing. I really don’t think my local garage have a daily stand up meeting informing the other mechanics of what they worked on the previous day and what they will be working on for the day ahead. I can’t imagine them sitting around a table on a Friday afternoon having a re