Simple means simple
Today’s recurring theme of the day is that there is a problem with most software products, and that problem is that there is too much to them. The code base is too big to manage. There are too many bugs in it. There are too many features to maintain. There are too many features to explain to users. The interface is too cluttered. I could go on. But that’s the gist of the situation.
So how can we realistically set suitable barriers on software products in order to get them to meet the needs of managers, developers, designers, and users? I’ve started to think about this and one possible answer is that there should be caps on everything.
As in, these are your engineering resources, so this is how many hand coded SLOC that you can realistically manage. Keep adding SLOC until you reach your limit.
Or as in, this is the reasonable amount of time that you can expect your users to spend using your software per day. So this is how many features you can include.
Or as in, this is the amount of "stuff" that you can keep up with, so for every new "thing" that you add, you need to remove "something else" or spin it out into a new "thing" with its own resources.
The beautiful thing about jazz lies in the ability to improvise within a given framework. It’s resulted in quite a lot of awesome. Could self imposed constraints of software products do the same?
Background Reading: Size Is The Enemy
So how can we realistically set suitable barriers on software products in order to get them to meet the needs of managers, developers, designers, and users? I’ve started to think about this and one possible answer is that there should be caps on everything.
As in, these are your engineering resources, so this is how many hand coded SLOC that you can realistically manage. Keep adding SLOC until you reach your limit.
Or as in, this is the reasonable amount of time that you can expect your users to spend using your software per day. So this is how many features you can include.
Or as in, this is the amount of "stuff" that you can keep up with, so for every new "thing" that you add, you need to remove "something else" or spin it out into a new "thing" with its own resources.
The beautiful thing about jazz lies in the ability to improvise within a given framework. It’s resulted in quite a lot of awesome. Could self imposed constraints of software products do the same?
Background Reading: Size Is The Enemy

0 Comments:
Post a Comment