0

Looking for the correct terminology to research what IT Management science calls the level of software just above the "open source" level. Looking to research how very large organizations try to prevent in-house code redundancy at what I call the functional or proprietary level, meaning, the internal, company-specific solutions created from open source components, but which are not open-sourceable themselves.

Any search terms, sites, or forums that might give my research direction are extremely appreciated.

  • Hi David, welcome to PMSE! I'm afraid it's hard to understand what's being asked here: you'd like to know what are the solutions at company level to avoid specific projects reinventing the well, like common repositories of code that could be reused by all projects? Even if that's the question, I'm not quite sure if that'd be a fit for PMSE. Would you be able to add more details to your question, please? Tks! – Tiago Cardoso Apr 3 '14 at 22:25
  • Thank you, Tiago, for your warm welcome! I understand why you are questioning the fit of my inquiry for this particular board. After Googling around more management sites, I now see that the question I am asking is at the Strategic Management level, a question usually addressed by top-level (C-level) managers, not at Project Management level. Nevertheless, there was enough overlap in topics that the responses on the board benefitted me substantially. Feel free to close the question down, however, if it is not a good fit. I will not take it personally. – David Neuschulz Apr 7 '14 at 14:09
0

I've never heard of anything like that. Although you don't explicitly say, I assume you have a function in your IT department that controls commercial software with the intent of avoiding duplication. Since Open Source software doesn't require that control, it is much more likely that it will be used in redundant ways, and that various internal organizations are "reinventing the wheel".

The PM answer is that this information should be documented as an organizational process asset. If you have a PMO they should be interested in capturing this kind of information as part of lessons learned.

One brute force approach would be to develop a library of requirements rather than a library of software. e.g. *37 different organizations have stated a "Must have" requirement for software with an API to manipulate Gantt Charts; 30 of them use Microsoft project, 4 of them usr LibreOffice, and 3 of them use an open source SaaS product.

Probably a better approach would be to work through enterprise architecture. EA is often summarized as just the description of ASIS and TOBE, but it should be capturing the technologies that bridge between the two. You might contact Troux; see if they have a solution, and then work down their competitors. I have no affiliation with them, and don't use their product, but they are recogzized as a market leader

A third approach would be to approach your cybersecurity office. In theory they should be assiduously collecting and maintaining a list of the software in your environment. A fully mature cybersecurity program would also take notice of internally developed software.

A fourth approach is to capture this as part of your knowledge management efforts. The few times I've dealt with people who are knowledge management guru's they advocate capturing information like this. Unfortunately, I haven't yet seen what I would consider a mature knowledge management initiative.

| improve this answer | |
0

Business theory talks about "differential" or "strategic" vs. "commodity" systems that you may build internally or purchase externally from a vendor. Differential or strategic systems allows the company to differentiate itself from competitors, while commodities are available to all competitors at the same price.

Infrastructure software (Linux, Nagios, ...) is a a good example for "commodity" software. In this area business theory says that it's best to reduce costs by sharing the effort with other companies.

The Google Search engine is an example of a differential software based on the commodity fundation. Differential software is exposed to the end customers and has an important part in convincing the customers to use the services of this company vs. competitors.

Cheers, Frank

| improve this answer | |
  • In light of your comment and Mark's comment, I believe I am looking for a solution to operational process assets representing strategic systems. I suspect some kind of analog to a data dictionary for various levels of architecture above the open-source-framework level is the tool, and some kind of workflow enforcing the maintenance of that metadata repository during deployment is what I'm looking for. Will report back if this is discussed in the research literature / periodicals anywhere. – David Neuschulz Mar 28 '14 at 20:08
0

I'm not entirely sure I understand the question, so feel free to correct. I believe at the basic level you are looking for information on how companies organize the reuse of code / components?

One place to start would be looking at component-based software engineering(CBSE), which you can read a bit about on: http://en.wikipedia.org/wiki/Component-based_software_engineering

There's also a paper on IEEE called "Strategies for software reuse: a principal component analysis of reuse practices", which you might find interesting. It's available here: http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1232287&punumber=32&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F32%2F27606%2F01232287.pdf%3Ftp%3D%26arnumber%3D1232287%26punumber%3D32

General google search term suggestions:

  • IT strategy code reuse
  • IT strategy component reuse
  • Software code reuse
  • Componentization of software
| improve this answer | |
0

Reusable "services" and integration

...how very large organizations try to prevent in-house code redundancy...

Very large organizations build core services and then integrate them in ways that can be used by their customers, partners, employees and vendors.

Any search terms, sites, or forums that might give my research direction are extremely appreciated.

In addition, you can look up SaaS, Cloud Computing, and other architectural approaches that reuse common services.

| improve this answer | |
  • Thank you, Ashok. These technical/architectural strategies for reuse are known to me. My question related to Business/Management strategies that foster the right kinds or workflow/protocols so that one far-flung department knows the SOA components available to anyone within the organization and doesn't reinvent the wheel. – David Neuschulz Apr 3 '14 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.