• We should now be fully online following an overnight outage. Apologies for any inconvenience, we do not expect there to be any further issues.

Atari2600

Golden Member
Nov 22, 2016
1,409
1,655
136
A few questions for the audience, I'd prefer responses only from those with experience at this please (sorry for anyone that doesn't, I mean no offence, but postulation and speculation aren't gonna help me here!).

As far as I can see, there are three approaches to reusable software components:

1. opportunistic
2. systematic
3. product lines

Q1: If you were in relatively small scale manufacturing, making somewhat disparate products with only a few having commonality at the moment, is it worthwhile to try going beyond opportunistic?

Q2: Regardless of above question, what do you think are the three most important things to get right to make each of the above work (preferably speaking from experience)?

-------------------------------

I've seen systematic go horribly wrong, I've seen opportunistic work quite well given its limited scope. I've never been involved in software product lines.

I'm hoping someone will post up something I haven't thought about when trying to implement at least some aspects of reusable components within an R&D environment that currently doesn't.

My current (main) list is (more for systematic than opportunistic, of the below, (b) and (d) would carry to opportunistic):
(a) air-tight requirements with full traceability (including data dictionaries and variable bounds).
(b) repository/repositories that is/are easily searched.
(c) air-tight requirements.
(d) use of wrappers and dictionaries for going between high level application and low level API.
(e) did I mention top quality requirements?