2

I am new to this forum and I hope that this is the right one for my question.

I cross-read some electrical engineering papers and often stumbled across the terms "Hardware Design Productivity Gap" and "Software Design Productivity Gap". To my surprise, I wasn't able to find a thorough explanation of these terms. I found:

The design gap is the divergence between technology and design capabilities.

and

[...] that productivity gains related to IC manufacturing capabilities [...] outpaced the productivity gains in IC design capabilities [...].

What is the exact meaning behind that in relation to software and hardware? And how is this gap "measured"?

Further Notes: This hardware design productivity gap term sounds to me like that there is a bottleneck somewhere that arises from being slower in designing than manufacturing hardware. However, from my point of view, when an IC is designed, it is manufactured.. where is the problem if a design process takes a while? These two steps are not connected and I don't see any problem with a "gap" there and can't think of a way to measure this "gap" properly. And I don't have any clue how to interpret "software design productivity gap"..

c0mr4t
  • 123
  • 3
  • "However, from my point of view, when an IC is designed, it is manufactured" If you abide by the logic that manufacturing/fabricating something is the same designing it then you must also agree that that planning a vacation is the same as going on the vacation. – DKNguyen Jul 11 '22 at 21:58
  • I rather meant to say something like "When the design process is done, it can be manufactured". – c0mr4t Jul 11 '22 at 22:10
  • I see. It's not really about that. – DKNguyen Jul 11 '22 at 22:11

2 Answers2

3

An example of a software productivity gap is the fact we can make parallel core processors but haven't been able to figure out how to parallelize most algorithms or tasks to actually make use of that parallel processing. Instead, it's mostly just running related tasks sequentially and running a bunch of independent tasks in parallel.

An example of a hardware productivity gap is the difference being able to build 5nm transistors and stuff billions of them onto a chip versus having design tools and methods to actually organize and layout all those transistors so they do something useful.

DKNguyen
  • 56,670
  • 5
  • 69
  • 160
1

Digital hardware functionality, or processing capability, has approximately doubled every two years since the early 1970's, related to the doubling of the transistor count on a chip every 2 years (the so called Moore's Law).

However software productivity, whether measured in source lines of code (SLOCs) per hour, or function points per man-month, or some other metric, has not followed this same growth curve.

So in this sense software productivity has lagged behind hardware, hence the term "Software Design Productivity Gap".

SteveSh
  • 10,726
  • 2
  • 15
  • 31
  • Heh. Doe those SLOCs metrics include bloat? – DKNguyen Jul 12 '22 at 01:09
  • My source lines are guaranteed blot-free . – SteveSh Jul 12 '22 at 01:17
  • "However software productivity, whether measured in source lines of code (SLOCs) per hour... has not followed this same growth curve" - Why should it? – Bruce Abbott Jul 12 '22 at 02:13
  • @BruceAbbott I suppose it's like structural design. You want everything to fail at the same time because if it doesn't then it means some things are unnecessarily strong or others are are unnecessarily weak. – DKNguyen Jul 12 '22 at 02:41
  • @Bruce Abbot - Whether software productivity should or should not have followed the same gains in productivity as has hardware is not the question. OP was asking "what is the hardware/software productivity gap", and I think I answered that succinctly. – SteveSh Jul 12 '22 at 15:16