View Single Post
Posts: 5,335 | Thanked: 8,187 times | Joined on Mar 2007 @ Pennsylvania, USA
#43
Originally Posted by prk60091 View Post
why is that statement true??
Given limited resources (time, money, skilled programmers, caffeine), you have to balance resources spent on quantity with those spent on quality. Expending resources to refine a particular feature necessarily detracts from the resource available for rest of the project, reducing the number of total features possible. On the other hand, expending resources to include lots of features reduces the resources that may be devoted to each one.

Image you have been given a lump sum of money to build and furnish a house. You could build a smallish house and furnish it with expensive antiques. You could build a largish house and furnish it with flat pack furniture (or even sit on the floor). Or you could strike some sort of balance in between.

All other variables being equal, building a small, closed software system will allow you to focus more on polish. As the system is closed, you know top-to-bottom what code paths will be used, so you can optimize those and leave everything else rough or broken if resources become tight. Given more resources later (for version+1), you can work on cleaning up the previously unused code paths to open the system, if you like.

On the other hand, building a large, open software system can force you to spread your resources thin. You're not just concerned with the code paths your bundled applications use, but those that may be touched by third party applications as well. In addition, you need devote some resources to document, at least in a basic way, how to add on to the open system. Given more resources later (for version+1), you can work on refining existing functions to add polish, if you like.
__________________
maemo.org profile

Last edited by sjgadsby; 2008-07-21 at 20:29. Reason: Fixing typo
 

The Following 2 Users Say Thank You to sjgadsby For This Useful Post: