Sculptor will help you if you want to work agile.
Things change
They do. There is nothing anybody can do about it. And when things change, there will be delays. Doing things in an agile manner helps minimize those delays. Using sculptor helps you even more.
I'll show you by an example. Lets say you have an application that is almost done for production. Testing is done. No more bugs (yeah, right). On the final demo, suddenly, one of the stake holders realize that the customer object needs another attribute, lets call it ICE (In Case of Emergency). And, of course according to the stake holder you can't go into production without it.
So, what are the changes that needs to be done?
From the bottom up:
I'll show you by an example. Lets say you have an application that is almost done for production. Testing is done. No more bugs (yeah, right). On the final demo, suddenly, one of the stake holders realize that the customer object needs another attribute, lets call it ICE (In Case of Emergency). And, of course according to the stake holder you can't go into production without it.
So, what are the changes that needs to be done?
From the bottom up:
- Database schema
- Persistence layer (JPA, Hibernate, etc) :
- Domain object
- Service layer (if we have any logic tied to the attribute)
- Back office Client (for creating a customer object)
- Public Client (for viewing a customer object)
Without Sculptor | With Sculptor | |
---|---|---|
model: | 0 | 1 |
db script: | 1 | 0 |
db migration script: | 1 | 1 |
property in domain object: | 1 | 0 |
jpa annotation för property: | 1 | 0 |
logic in service or domain object: | 1 | 1 |
back office client (create/update/list/view): | 7 | 0 |
public client (view): | 1 | 1 |
junit test (save, find): | 2 | 2 |
documentation (class diagrams): | 1 | 0 |
sum: | 16 | 6 |
So, being simple, lets say that each point is equally valued. By this assumption we reduce risk and time by 150%
This can be very valuable when change comes along. And it does, doesn't it...?
No comments:
Post a Comment