RSS feed

Linkedin Profile

Tags:
programming
seattle
things that bug me
wall art

Posts by month: 10/08 (2)
08/08 (1)
06/08 (2)
05/08 (1)
03/08 (3)
02/08 (1)
01/08 (2)
12/07 (2)
11/07 (1)
07/07 (1)
05/07 (2)
02/07 (1)
01/07 (1)
12/06 (1)
11/06 (1)
10/06 (1)
08/06 (1)
07/06 (1)
06/06 (2)
05/06 (1)
04/06 (2)
02/06 (1)
01/06 (2)
12/05 (3)
11/05 (2)
09/05 (5)
08/05 (5)
07/05 (7)
06/05 (3)
05/05 (6)
04/05 (8)
03/05 (7)
02/05 (7)
01/05 (6)
12/04 (2)
11/04 (3)
10/04 (5)
09/04 (3)
08/04 (5)
07/04 (5)
06/04 (4)
05/04 (4)
04/04 (9)
03/04 (4)
02/04 (3)
01/04 (5)
12/03 (1)
11/03 (14)
10/03 (8)


Software factories (the Short version)
2005-03-21

Keith Short puts together a neat case in his elevator speech for software factories. The pitch makes me wonder about the audience for this stuff - who needs to know what, and when? I think there are a few important groups and two different paths that software factories will take:

  • Horizontals start appearing in Visual Studio
  • Verticals get momentum through bottom-up, covert adoption

Horizontals
Horizontal domains will increasingly be managed through DSLs and mapped onto component infrastructure. This is happening right now in Whidbey with web services and DSI, and I think these will be massive hits and could be a 10x factor for some development shops. To the extent that a Microsoft or whoever makes these tools a painless extension of the programming environment, they should be adopted as a matter of course.

Verticals
Vertical domains will take longer, and I think they will be suprisingly developer lead rather than architect lead, at least initially. Where companies already have generative or domain-analysis approaches in place the shift will be relatively easy and driven by the architects who own these tools and processes. But who actually has this kind of stuff? Let's face it, most of us are living hand to mouth and are glad to be reusing System.String between teams.

Without much of an architectural legacy to build into a software factory, the DSL tools will initially get picked up by senior devs trying to model/automate relatively simple domains and promulgate to a very small audience. Only after this stuff is built and proven will architects begin aggregating and refining the results into something to fit the vertical domain and the company.

So we really need three elevator stories, for the three different sales - firstly, the senior programmer or architect who is going to steal some time to play with the DSL tools and create mini-factories ("i need a little language right now"), secondly the architect who needs to take the outputs from this and combine them into something for the enterprise six months later ("it looks like powerpoint, which is comforting"), and thirdly the big wheel who will hear about it once it is all done.

Back to weblog