SPA2005 session: Software Factories: domain-specific process, tools, and language | |||
One-line description: | Tools, process, and getting started | ||
Session format: | Workshop [read about the different session types] | ||
Abstract: | One way to speed up software development and make it more agile and reliable, is to capture the concepts of your business domain in a purpose-built language; and to embody the implementation patterns of your domain in a platform for the language. GUI design, telephony, GIS, and many other domains have benefited hugely from this technique. Each domain also has its own patterns, a suitable methodology, and a useful kit of tools. This domain-specific package, we call a "software factory". This workshop will look at some of the issues in applying domain-specific principles not just to language, but to the whole software development process; including: * How language, tools, process and architecture are coupled * The pros and cons of software factories * Range of applicability of this approach * How to design a product family with a software factory * Keeping agile -- changes in the domain * Authoring tools -- for creating and maintaining software factories * Getting started -- migrating from current practice After a talk and discussion covering this ground, participants will work on small examples in groups, and then we will compare results under a number of headings. | ||
Audience background: | Software architects, analysts, and developers | ||
Benefits of participating: | * Understand what software factories are about * Be able to assess whether they're useful for you * Know how to apply the approach * Formulate steps towards using these ideas | ||
Materials provided: | Slides about DSLs | ||
Process: | Part 1: Introductory talk and discussion. What software factories are, what they're good for, how to use them. • Domain Specific Languages - how they work, how they help • Typical scenarios • Domain specific frameworks, methods and tools • Typical process -- who designs and who uses the language and tools • Domain-specific IDEs -- recipes, patterns and guidelines • Authoring a software factory: techniques and tools • Keeping agile – what kinds of changes happen, and how do they impact? Part 2: Group exercises - designing and using SFs. Participants will elect to form groups to work on exercises in different issues. Part 3: Comparison, reflection, and debate. What aspects of process worked well? Would we use SFs, and if so what would the major issues and risks be? | ||
Outputs: | Web page summarizing conclusions arising from discussions. | ||
History: | This session picks up where last year's session on DSLs left off. The quality will be greatly enhanced by the SPA debut of my learned and intelligent colleague Gareth Jones. | ||
Presenters | |||
1. Alan Cameron Wills Microsoft |
2. Gareth Jones Microsoft Corporation |
3. |