I saw this (no doubt old) humor today - If Architects Had to Work Like Programmers and it's wonderful. It made me think, though. What if your house was built the way your software often is? What if home owners had to interact with their house the way most business people have to interact with their software. How might it be if houses were like software?
- You would have to tell the moving company where you wanted each piece of furniture and write up a change order to have them come back whenever you wanted to rearrange your rooms
- You would have to specify, in advance, how many children you expected to have so that the house could be properly configured. As your children aged you would need to request external help to change their furniture out for bigger beds and chairs. This would take so long that your teenager would be sleeping with his feet sticking out of the end of his bed.
- Anytime you wanted to change the color of a wall you would 1) have to pay someone to do it 2) wait for this work to be scheduled given that the only people allowed to do it are busy working on other houses and 3) leave the house for 24 hours while it was rebooted in the new color
- If you wanted to open up two rooms into one, no-one would be able to tell you if it was a structural wall or if there was plumbing or electrical wiring in the wall until you started hitting it with a sledgehammer
- You would have to pre-specify what visitors you expected and be prepared for the water or heating to fail if you exceeded the expected numbers on a particular day
- The heating system would be completely automated based on the weather patterns in the town where your IT department is based and the only way to change it would be by placing a change order. As the weather pattern in which you live has been changed by global warming, you end up sending a change request every day.
- When you decide that shag carpet is not longer the way to go you are told that it will be easier to build a new house with modern flooring than to replace the carpet. In part this is because no-one remembers how the shag carpet was installed nor is there anyway to see what the impact of removing it might be on the structural integrity of the house.
- Each time new rules for house permits are issued by the local government you are forced to move out for a week or more while manual inspections are conducted on the whole house to see if it might be in breach of any of the rules. Despite the effort involved, no-one is 100% sure afterward that everything is OK.
Of course the problem could be alleviated if the house allowed you some control over its configuration - not over the structure, but at least over the day to day aspects of living in it. That's what I believe business rules can do for you - empower your business users with control over some of their system. Then when the market changes, your customers change, your competitors change or the regulations change, your business users can respond quickly and cheaply.