Software Development Process
· ☕ 4 min read · 🤖 Naresh Mehta
All of us engineers / nerds ;) have learned and studied a lot about Software Development Processes in our schools and colleges. Fresh out of the college, we are confident enough to believe that the processes detailed out in the books will make our life easy and allow us to develop better functional and non-buggy software. But guess what, practical cases are far away from such an outcome. Reason being people and at times tools. But mostly its people. I had seen a nice picture of how a customer narates the requirements and how it gets implemented. All because of simple miscommunication. And believe me, miscommunication happens a lot in the global world mainly because of ill-conceptualized ideas as well as thoughts on how a particular thing should work. In one of my projects, I had a very deep and emotional discussions with my project manager for the module designs. I wanted to implement asynchronous callback mechanisms making the UI independent & not waiting for the core to do the job/recover whereas my manager thought that should not be a problem since execution in core should take only a little time. He totally forgot that the core makes calls to system which might take time because of resource accesses. Anyways, he was stubborn enough to not listen to me. And in the final product we had UI freeze problems and we had to implement workarounds to get around those problems.