Software Architecture has been one of the most ignored topics in IT world. There are in-numerable documents justifying the need to architect the software solution but somehow we seem to miss the train, every time. (There are exceptions but in general we miss the train).
Software guidelines are mainly documents, which provide the path to Nirvana i.e. steps to be followed to produce a quality product. SAP, has been advocating the usage of its guidelines for all its IT practices to be implemented. Invariably, we find IT practices implemented by teams based on their past experience and the MOST important ingredient – gut feeling. From the simplest of guidelines (coding standards) to the most complex practices (SAP NetWeaver implementation), there is a penchant against these guidelines. It is even more interesting when we find the deeper reasons for this behavior.
During my planned travel to Germany, I received a document from the HR team detailing the accommodation rules in Germany. One section of the document was very interesting. The document provided detailed information on the garbage bags and their individual usage. Here is the part of document:
“– Paper and paper boxes – green/blue/grey can
– Residual waste – black can
– Biological waste – brown can
– Plastic, packages, tins, “Grüner Punkt”-products – yellow bag/can
– Glass – has to be brought to special glass containers and be separated by the color of the glass
– Plastic Bottles – there is refund on most bottles, you will receive the money when you bring them back to the shop\chain where you purchased them
– Glass Bottles – on some glass bottles (e. g. juice bottles) there is refund “
Coming from India, we were informed of the benefits of segregating the garbage but never had imagined of putting in the necessary effort to segregate the garbage. I discussed about it with my wife and she was more than happy to follow those rules. She was very appreciative of the efforts taken to safeguard nature. I was totally surprised to observe the ease with which this rule was accepted. When, I look into it deeply I found resonance of the same all around us. When, the rules are enforced with some penalty, the human mind somehow adjusts itself to follow it. But, when there is a semblance of lenience in the rules then human mind convinces us to not follow those rules.
To ensure that we stick to the best practices of the software implementation, there needs to be an intervention by the higher management. The guideline document will only educate the teams about the pros and cons of a particular process. To ensure that teams follow these guidelines, there should be few strategic rules imposed on the teams. The key is these decisions should be communicated within the organization as non-compromising.
Example: Every custom development in SAP needs to be evaluated with respect to Web Dynpro ABAP and JAVA. The detailed evaluation document would be used to take the decision on the technology. Once the technology is decided, it needs to adhere to the coding, integration and implementation standards. Now, you would have come across these statements in many documents but with not the desirable effect across the teams. But, if all the teams are required to follow these steps, then you will find more and more teams following this process of implementation. As you would see, the actual enforcer is not the team but the communication by the top management (Now, the developers have the right to blame their managers for not being strict about following the steps).
In times when products are made simpler we still have guideline documents running into pages and pages filled with texts. Some are extremely exhaustive and in the end communicate too many points. So, the teams tend to miss the core point.
To achieve the full benefits of these guidelines, we need to prepare more user-friendly documents. It is better to keep it simple to allow both technical and non-technical people to understand the document.
As a responsible organization, it is not enough to have a vision but it is very important to communicate unequivocally the adherence to the guidelines to fulfill the vision and facilitate the implementation with simpler documents.