It is vital to try the modeling language
out in practice, and for this only the core concepts and support for simple examples are
needed. Elegance should certainly be aimed for, but if the domain is messy in parts
then the best working solution will have to suf?¬?ce.
The team will need a mix of domain knowledge and programming knowledge.
By far the best mix is found in expert developers who have been working in that domain
for some time. They have built up their ownmentalmap of thedomain concepts, a set of
330 DSM DEFINITION PROCESS
TABLE 13.1 Choosing a Domain for DSM
How mature is the target business area in your company?
* An established business ??3 Clear business concepts, needs,
stakeholders
* Turning an existing customizable
product into a platform
for use by others
??1 Existing demand for product and its
customisation; DSM makes this fast
and palatable for those who are not
in-house experts
* Development of a new product 0 Risk of the unknown balanced by
agility stemming from lack of legacy
code and processes
* Creating a new platform
for use by others
1 Desire to offer familiarity and lowest
common denominator works against
DSM. Uncertain commitment, risk of
project failure
* A research project 3 High risk of failure from other factors,
and no commitment to project if it
hits dif?¬?culties
How much are development and core business processes in the target area coupled
to external organizations?
* Joint venture 3 Serious concerns over equality of
commitment and ownership, ability
to agree
* Internal except for third-party
components and tools
??1 Clear control over destiny, components
give stability
* Totally internal, build all own
components and tools
1 Possibly indicative of fear of
commitment, can succeed only
if DSM is truly seen as ???theirs???
How closely is this domain related to other candidate domains?
* Simplest or smallest of a group
of several similar domains
??2 Good possibilities for extension to other
domains later, or switching if this turns
out to be a bad choice
* One of several similar domains ??1 Indicative of an important business area
* Different domains work
independently of each other
1 Sometimes indicates lack of desire to
codify and build on what is known
How much do you customize or con?¬?gure your software for each customer?
Extensively ??3 DSM will allow you to capture just the
variable aspects, and code generation
will improve delivery times and the
quality of the ?¬?nished product
(continued)
ORGANIZING FOR DSM 331
TABLE 13.
Pages:
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621