Working Software is the Measure of Success

Bilal AlGhazi
3 min readApr 2, 2019

Documents, meetings, schedules, sprints… they are all important, but what really matters is the delivery of software that works and does the required job.

I have been working in the software development industry for over 18 years, and I worked in small companies as well as large enterprises. As with any other industry that has projects and deliveries, planning is very important in the software development industry. Also, from my experience, project deadlines can slip away and projects drag for much longer than initially planned. This happens sometimes due to the dynamic nature of software requirements, changes often get introduced very frequently, and if they were not managed properly, they can cause huge delays to deadlines, and can cause a lot of frustration to the business as well as to the developers.

I worked in projects that follow the waterfall model, and in agile projects, and I worked in projects that are hybrid between the 2. I learned a lot from the diversity of projects and the different ways projects are planned and executed. I noticed that sometimes management gets more obsessed about formalities than actually getting things done.

In one of the projects for example, it was obvious that the project is falling behind schedule, missing dependencies are all over the place, and everything seems to be taking forever. In that specific project, the program manager was so obsessed that no one sits down during the daily standup, as if this is what is going to rescue the project. If you ask me, it does not matter if people were sitting or standing, what actually matters is wether the work is being done or not. I do not mind if everybody is sitting during the standup, if things are on track, and making them standup won’t make things get delivered. This is a clear example on how sometimes people get obsessed about formalities, while everything is going south when it comes to delivery.

In another example, the project manager was so obsessed about Kanban boards, that he made developers leave the tasks that they are supposed to be doing, which is obviously developing the software features, and ask them to replicate the tasks from Jira on the wall in the meeting room! Hours and hours of precious developers time spent copying task details from Jira to post it notes and decorating the walls of the meeting room with them.

One more example, the scrum master of a project I was working on, used to spend hours of the whole development team’s time arguing wether a specific task should be logged in Jira as a task or a subtask, if you ask me, a task is a task, what matters is that it gets delivered regardless of wether it was put in Jira as a task or subtask, and holding the development team for 2 hours in the meeting room trying to take decisions like these is actually holding them back from actually doing the job they were hired to do: deliver working software that serves the purpose it is being built for.

I can go on and on giving example after example of how management can get obsessed with formalities and forget about the actual delivery of the job.

Don’t get me wrong, I am not saying that planning or project management is not important, because they are very important, without planning no one would know what is going on, projects could drag forever and things become chaotic and people start pointing fingers. But what I am trying to say, is that if formalities get in the way of actually getting things done, then there is something wrong. When projects fall behind deadlines and people start to look at the wrong reasons (like insisting that people stand at the standup), this won’t help the project and rescue it from failing.

If you found this article useful to you, please give it some claps so that it reaches others who can benefit from it as well. Please feel free to share your thoughts in the comments.

--

--

Bilal AlGhazi

Developer, photographer and journaling enthusiast. #JavaScript #ReactJS #SQL #MySQL #NodeJS