A software product is a thing that features certain functions: showing
things, calculating things, making sounds, allowing you to enter things, etc.
This sounds terribly technical, but in the end even the greatest application is
just based on a bunch of bits and bytes carrying out functions.
Looking at
Microsoft Word, you see a lot of things the program allows you to do and which
you expect to find: writing a letter, editing photos, printing contents, etc.
Let’s call the sum of all these high-level features the functional width of the
application. Then, for each of these main features, there are sub-features and
sub-sub-features, etc. All the stuff that’s needed to make the main features
work. For example, if I want to print out a letter, I need to be able to
preview my printout. To make that happen, I need a number of sub-features. This
vertical view on features let’s call functional depth.
So defining an
application translates into defining the functional width and the functional
depth. You need both dimensions. The question is: what’s the sequence? Should I
start with the width or the depth? Here are the pros and cons for both
alternatives.
Read more