Pain is temporary, failure lasts forever

Lean, agile living for the running mother of Peter


Only create as much as you need

One important part of agile development is KISS. Keep it simple, stupid. But sometimes it's hard to see the difference between simple and stupid. We are starting to move into pricing and from start the task is simple: when you register an earned value it has a price. Independent on customer and other things can affect price. In other words: we have one price list and all articles has a price.

But we already know that this is not the case in our problem domain: the price of an earned value comes from a contract row: dependent on which customer and under which circumstances the earned value has been registered. For example, say that a window is broken. How much will it cost to get the guy to fix it? Well, it is not only dependent on which guy and the type of glass. Different customers have different prices and if you want the guy to come at once it will cost you more. Also, what broke the window affects who's going to pay.

But to meet the needs of today it's enough to have a price attribute on article. But it's wrong. And we know it. I guess the difference is knowing that it's wrong and building the stuff to ease upgrading in the future.



Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home