The Cost of Complexity
Monday, February 05, 2007
One of the main tenets of software development is that the developer must aim to keep the application structure and code simple. What may seem like an ingenious solution at the time could in fact become the costly problem later on if it is difficult to read, understand, and modify. Reducing the complexity of the application makes it easier to understand, manage, support, and change. So decreasing the complexity reduces the total costs.
This approach of minimising complexity is not only important for developers, but also critical for business owners. I am often surprised by just how complex some businesses make their product rules or business rules. The first web project that I led (many years ago now!) had a client with what I expected to be a straightforward product offering. However, when we got to the details of the product rules (e.g. only the curved products can be brown, and only products 1, 5, 22, 45 can have special coating “x”), we encountered a can of worms. When I questioned the client about simplifying the rules, they admitted that although there was no clear rationale behind the rule, they couldn’t change them!
Businesses should be aware of the cost of complexity. Complex business rules will result in increased costs due to the IT applications that require the implementation of these rules. If your business could be managed with an out-of-the-box application, then your modification costs will be negligible, and upgrades will be simple.
Complexity extends much further than just your IT costs. There are the associated costs in getting your staff to understand the complicated product offering, and the costs when customers abandon a purchase because they are confused or frustrated with the complexity.
Businesses should have good reasons to justify making complex business rules.
At this point we could even start talking about Information Architecture and Usability. Both of these disciplines focus on making things easier for your users: easier to find something; easier to use something; easier to buy something. Just like the costs, the benefits are realised to further than the Web site. Good Information Architecture within a business can save a lot of administrative time, and enable staff to concentrate on value-added activities. Well thought out Information Architecture in a shop quite simply helps shoppers find the product they’re looking for in turn increasing sales.
Matt Watson, Technical Director
Add to Del.icio.us
Digg this
Add to Reddit
Email a friend
Home
This approach of minimising complexity is not only important for developers, but also critical for business owners. I am often surprised by just how complex some businesses make their product rules or business rules. The first web project that I led (many years ago now!) had a client with what I expected to be a straightforward product offering. However, when we got to the details of the product rules (e.g. only the curved products can be brown, and only products 1, 5, 22, 45 can have special coating “x”), we encountered a can of worms. When I questioned the client about simplifying the rules, they admitted that although there was no clear rationale behind the rule, they couldn’t change them!
Businesses should be aware of the cost of complexity. Complex business rules will result in increased costs due to the IT applications that require the implementation of these rules. If your business could be managed with an out-of-the-box application, then your modification costs will be negligible, and upgrades will be simple.
Complexity extends much further than just your IT costs. There are the associated costs in getting your staff to understand the complicated product offering, and the costs when customers abandon a purchase because they are confused or frustrated with the complexity.
Businesses should have good reasons to justify making complex business rules.
At this point we could even start talking about Information Architecture and Usability. Both of these disciplines focus on making things easier for your users: easier to find something; easier to use something; easier to buy something. Just like the costs, the benefits are realised to further than the Web site. Good Information Architecture within a business can save a lot of administrative time, and enable staff to concentrate on value-added activities. Well thought out Information Architecture in a shop quite simply helps shoppers find the product they’re looking for in turn increasing sales.
Matt Watson, Technical Director
Labels: Process and Methodology, Technology




0 Comments:
Post a Comment