This post originated from an RSS feed registered with .NET Buzz
by Ashvil.
Original Post: Software Reuse vs. Innovation
Feed Title: Ashvil's Blog
Feed URL: http://ashvil.net/cs/blogs/blog/rss.aspx
Feed Description: Notes from the software world
One of the points raised by the NIH (Not Invented Here) folks is Reusing software artifacts does not encourage innovation.
The fallacy with the argument is that if there is already a reusable artifact, then by definition your artifact cannot be innovative. You are just reinventing the wheel and trying to claim that your wheel is better than all the others and thus innovative.
IMHO, Software Reuse allows you to focus on innovative ways to solve business problems by taking care of mundane building blocks.
Let’s take an example of Joe, an IT developer/analyst who is assigned to build reports. Joe decides to use ASP.NET and C# to write reports after understanding the requirements. Most of Joe’s time will be spent in writing queries, formatting reports and other low level activities. At some point of time, Management will start wondering why does it take so long to get a simple report and how come the report does not work in Excel. They will wonder where all the money they are spending is going.
Mary builds a reporting solution block that allows her to quickly build reports without focusing on the C# and HTML code. This allows her to work with the business teams and also suggest what reports add value and how to deliver to them on a regular basis via email. Mary can build a reporting solution block by reusing reporting solutions like SQL Server reporting services or reusing .NET components like Active Reports, etc.
By spending her time solving business problems in an innovative fashion with technology, Mary adds value to both herself and her organization. Mary shows true innovation by doing more than her expected role by working with her business teams to figure out how they can make quicker and better decisions based on the information she provides.
If Management had to cut or outsource a job, guess who would they choose.