Monday, 29 February 2016

Leveraging feedback to improve software quality



Feedback can be said to be the cheapest, but still the most under used software management tool at our disposal. It  is the information that is required to achieve both, effectiveness and productivity. Feedback helps to clarify one's understanding and see things in new ways. It helps correct the course of action, learn and work better. Early feedback is the most critical aspect of being successful. The Agile methodology has feedback as the core component of all its principles in one form or another. 


Feedback can be taken at each step of the development cycle used for improving the performance.
Feedback on Requirement Priority: This is all about making sure that the client and the development organization are both aligned with the requirements and the deliverables. 

Design Feedback of Software Design: A feedback on design identifies more clearly what the customer actually requires and not what the designers feel good about. Any difference in design and the requirement is a symptom of  gaps in conceptualization and communication between the client and the analyst. 

Feedback on Software Functionality: This feedback is associated with the working of the software. A continuous and iterative feedback on the developed software is the main change in Agile practice. It is built in small consumable increments and submitted for feedback early and often. Although it may seem time consuming and tiresome early on, but it saves cascading errors and time required for testing and debugging later on. 

Feedback on Software Code: This involves collaboration with the developers. It helps in getting a fresh perspective on the developed code and makes sure that nothing is overlooked. It is a good way of understanding the code and the related changes.

Feedback is used to gauge a system, program  and properly operate it. Broadly, feedback can be categorized into three forms – Coaching, Evaluation and Appreciation. It works best when it relates to a specific goal. Its timeliness is equally important.  The sooner the feedback is given, the sooner that problem can be corrected. Feedback, most of the time, needs to be provided in a positive manner. This is mainly because, people respond to feedback which is provided in a positive manner. However, it needs to be factual, complete and accurate. Also, it is most effective when it identifies the  hard work and clearly states what is required to be done in future.

Some feedbacks occur naturally, while some feedbacks need to be carefully planned and managed. Self evident feedbacks can be formed by the developers as they work. Planned feedback runs the system through a measurement system and the developer receives it automatically. Effective feedback  improves the performance of the employees and the organization as a whole. 

Conclusion:

Soliciting feedback early and repeatedly forms a critical component of the software development process. It brings transparency into the system and incorporating the feedback in the system helps to improve it further with respect to the customer.

No comments:

Post a Comment