In developing applications, the value we create is associated with the utility of the application created. Sometimes poorly understood, it is also related to the eventual cost of the delivering it.
Let me explain that using a regression example : I was once working on a new application. It was a report and only limited to a particular activity. The app was using reusable components from an existing area. But I need to extend the reusable component with new functions.
At this point a developer faces a few common questions such as.
In my example, the business activity is quite small and has a limited tactical value. It was not worth the regression on a whole suite of applications. I decided to extend the component by keeping the original clean, but by doing so, I added another layer - a tactical manager object.
Unfortunately, QA noticed it and orchestrated a refactoring of the original object. This delayed the delivery, hampered the business and incurred massive regression costs.
Within the context of application development, refactoring has the benefits that would increase the general utility / maintainability and productivity of applications. But the cost can include not only the application testing but also any regression of impacted components.
Now, there will be instances where the regression costs are worthwhile. Note that this is a business or investment decision. Within the context of operating businesses, investments in applications has a cost. Within that investment mindset, an application only makes sense if the overall benefit it generates brings outweighs the overall costs it incurs. Part of the dissonance in some businesses, is managing these decisions at the appropriate level.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
10 | |
9 | |
7 | |
6 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |