Magazines  


A Prototype Example for Understanding Software Factories

Stefan Turalski

Practical Software Factories in .NET by Gunther Lenz and Christoph Wienands, Apress, 2006, ISBN: 1-59059-665-4, 240 pp.

Sometime near the end of 2004, I finished wading through Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools—an epic, 500-page tome on the software-factory methodology. The authors of that book (Jack Greenfield, Keith Short, Steve Cook, and Stuart Kent) covered all the techniques applying to this modern software-production process: domain-specific languages, aspect-oriented programming, service-oriented architectures (SOAs), component-based development, automatic pattern application, code generation, software production lines, Web services integration, and so on. In my opinion, Greenfield et al. had defined what a software factory is and covered the topic completely from theoretical point of view. Furthermore, the authors set a very high standard for the integrated development environments and tools required to support the methodology’s proposed automation process. Therefore, I didn’t expected to see another book come along quite soon.

Gunther Lenz and Christoph Wienands claim that their main goal in writing Practical Software Factories in .NET was to focus exclusively on practical aspects of implementing software factories. They describe how to build a prototype software factory using mainly Microsoft tools, such as Visual Studio Team System, along with a few open source and third-party tools. They use a software development example for a fictitious security and detective agency called ISpySoft. You can find this project at www.codeplex.com/ISpySoft, but bear in mind that it’s a little outdated (it was developed around Visual Studio 2005).

In the first two chapters, the example works pretty well. It can help even a reader who isn’t familiar with software-factory concepts because the ISpySoft example’s setup processes are fairly easy to follow. However, in later chapters, the discussions rely more on theory and less on practical transition-path details or production-ready deployment patterns. Even limiting the development to the .NET environment, a complete software-factory line is almost impossible to build today. We simply don’t have all the tools needed to support it. Furthermore, it’s hard to prototype and deploy software-factory practices with a team of only two members.

Nevertheless, Practical Software Factories in .NET is a good choice for anyone interested in becoming familiar with software factories and, more generally, with new trends in software engineering. The book offers only a limited set of practical suggestions ready to use in day-to-day activities or to apply in software-factory setup processes. However, the examples definitely make it easier to acquire this knowledge than reading through entirely theoretical work on a very broad topic.

Stefan Turalski is a software developer at Centrica plc. Contact him at stefan.turalski@gmail.com.

         

About Us

Mission, Vision & Goals
History
Awards Program
Volunteer Leadership
Staff Leadership

Contact Us

Member Resources

Volunteer Center

For More Information