Why the “latest and greatest” fail in Software Project Management
The idea of using the latest and greatest methodologies, techniques, tools, and people in software development is failing at an increasing rate. AGILE and SCRUM have become the standard methodologies of software development with every company engaged in such activities attempting to use some aspect of these in their development process; from the smallest project to the largest. It is thought that collecting the youngest, best, and brightest talent; combined with the latest and greatest of techniques, tools, and methodologies should guarantee the success of any project undertaken. Why then have the struggles of project managers to deliver timely successful products become greater and greater?
Some who are familiar with the processes and steps of creating successful useful software would point to several factors that are roadblocks to successful completion in any project. It has become common to point the finger at unreasonable timelines for tasks, lack of ‘talent’ in performing tasks at a quicker pace, and inadequate testing procedures for code that is written. But these are merely ‘symptoms’; not the ‘illness’ of failure in successful deliverables. There is no question that the bars for success have been raised higher and higher, both in terms of expectations of deliverable product features and speed of production. It is also true that tools for design, code production, testing, and delivery have gotten better and better to allow for quicker production. So what then is the cause of the ‘illness’ of failure? It should be understood that a distinction is being made here between a software product created by a development team and that which is which is being developed by a single developer… The #1 reason is failure of communication!
Communication in understandable simple terms of the ‘complexities’ of programming on any application. The simple statement of purpose and intent is lacking. The ‘complications’ that all programmers, by nature, tend to create in elaborate thoughts of designing something ‘newer, whiter, brighter’ than the generation that has gone before; are multiplied. All of this is to be handled more quickly without discussion about the ethics, quality, usefulness, and value of the end product. In pressing for more speed in the process of development; meaning and purpose is lost. It is replaced by IM speak, 144 character lists of acronyms, and the misspellings of non-English speakers in the guise of efforts to ‘globalize’ applications. Misinterpretations and poor communications abound in internet development; and are even being made the norm in application SDLC. The practice of the AGILE/SCRUM stand-up has become a joke. A typical communication: “I worked on ‘bug’ tickets yesterday along with some ‘features’; and I will be working on the same today; and some more. No blocks…”. There is no ‘conversation’ in these exchanges. There is no ‘give and take’ in discussion. All communications are supposedly geared for brevity to keep the ‘process’ running smoothly while moving at a higher speed. No ‘extra talk’ is deemed necessary or appropriate and is a ‘block’ to speed.
This is the road that leads to failure…