Thank you for your follow-up question. I enjoyed reading this paper,
particularly since it matched my own experiences in software
development. I would be pleased to address additional questions of
the "case study" type that you may have in the future.
1. By the current information technology system, I assume you are
referring to a system that poorly supports component-based design.
There are various ways to look at who is being served by the existing
system. Most parties are experiencing some benefits and some
drawbacks, although they are generally weighted strongly towards one
or the other.
Interests being served effectively:
Customers: they are getting a software product specifically tailored
for their needs, which allows them to avoid changes to their business
processes resulting from use of the software. They may also gaining a
strategic advantage if they have the capability in their software
product that is not available to their competitors.
Developers: they maintain creative control and have unique product
knowledge that gives them power and standing within the organization.
They have interesting problems to solve instead of just bolting
together existing components.
Product Managers: they get to use a product development paradigm that
they are comfortable with. They don't have to change anything about
how they perform their jobs.
Persons Selecting Tools for Component-based Design: as the
organization begins to look for tools, they can demonstrate power by
controlling which tools are selected, thereby enhancing their standing
within the organization.
Interests being served ineffectively:
The Company's Owners: inefficiency harms profitability. If less code
overall has to be written, than fewer people need to be employed.
Also, less code means the products can be developed faster and with
fewer bugs, which in turn reduces product support costs. If fewer
highly skilled developers are needed, than the company can hire lower
skilled people at lower wages.
Customers: to the extent that the product is buggy or than it would be
under a component-based development framework, the customers are being
served ineffectively. Also, the customers may be paying for
inefficient product development practices through higher prices than
would otherwise be charged.
Developers and Product Managers: if inappropriate component-based
design tools are selected, or if they are told to move to
component-based design without any new tools, then they are being
ineffectively served.
2. If the information system is going to support component-based
design, it needs to make it easier to reuse components and create new,
maximally reusable components.
The new system should provide:
A means for documenting existing components so that they can easily be
found and used in the future;
Assistance with searching the existing library of components and
matching them to functional requirements;
Tools to assist with merging functionality requests from a variety of
sources into the design of a new component so that it is as broadly
applicable, and thereby reusable, as possible; and
Tools to assist Product Managers in planning the product development
process so that they can transition to the new paradigm without
feeling a loss of control over product development schedules.
Please request clarification if needed.
Sincerely,
Wonko |