Upload
joel-barnaby-cobb
View
219
Download
4
Tags:
Embed Size (px)
Citation preview
The Roadmap to Software Factories
Tools, Patterns and Frameworks
Roadmap to Software Factories
What is a Software Factory?“Models are used not only for analysis and design, but to support many varied types of computation across the entire software life cycle – even at run time”
“Software Factories are really just the logical next step in the continuing evolution of software development methods and practices”
Roadmap to Software Factories
ContextPast Adhoc tools and
personal styles Exploration of best practices
Present
Disparate tools and patterns
Emerging best practices
Future Integrated tools and patterns
Consolidation and adoption of best practices
Roadmap to Software Factories
Lifecycle
Roadmap to Software Factories
Envisioning
Poor communication
Core business goals often missed
Roadmap to Software Factories
Envisioning
Inward View
Business goals and successfactors in isolation
Roadmap to Software Factories
Envisioning
Outward Focus
Holistic view of business –“What do we provide?”
Roadmap to Software Factories
Planning
Static functional and technicalrequirements
Adhoc Requirements and Featurediscovery
Roadmap to Software Factories
Planning
Static Use Case and Use Caseanalysis
Personas and Scenarios *
Roadmap to Software Factories
Roadmap to Software Factories
DesignDesign for one use, singlepurpose, single system
Design for reuse, services for sharingand consuming
Tools provide modelling capabilities
Roadmap to Software Factories
Developing
Basic Patterns evolving
Re-use gained through evolution of delivery
Reliance on raw man power
Roadmap to Software Factories
Developing
Patterns used to communicateand design best practice
Use of Code Generators to simplifyand accelerate infrastructure tasks *
Roadmap to Software Factories
Roadmap to Software Factories
Developing
Model Driven Development
Test Driven Development
Integrated Pattern -> Code in tools
Roadmap to Software Factories
Stabilising
Manual Integration
Developer or QA resource provides adhoc testing coverage
Basic level of CM applied
Roadmap to Software Factories
StabilisingUse of Build Frameworks
Use of Unit Testing *
Continuous Integration *
Tools support CM processes
Roadmap to Software Factories
Roadmap to Software Factories
Deploying
Release build by hand or usingsimple install project
For manual release, developer contextoften required
Roadmap to Software Factories
Deploying
Components assembled byautomated build scripts
Release packaging automated
Developer context still required for manual release
Roadmap to Software Factories
Deploying
Release, associated release notesand status reports automated
Strong context linking issues, change-sets and builds
Environments modelled (e.g. DSI)
Roadmap to Software Factories
Conclusion
Progression from disparate approaches, to distillation of best practice into patterns and toolsBetter end to end tools and frameworks (e.g. Visual Studio Team System)Focus on discipline and maturity
Roadmap to Software Factories
Further informationSoftware Factories Initiative:
http://lab.msdn.microsoft.com/teamsystem/workshop/sf/default.aspx
Download slides/links:http://turtle.net.nz/blog
Jeremy Boyd: [email protected] Orange: [email protected]