Do Software Factories live up to the Promise?

Published  . 0 views
↓ Download
Do Software Factories live up to the Promise?
1 / 1
Do Software Factories live up to the Promise? - slide 1 of 40 Do Software Factories live up to the Promise? - slide 2 of 40 Do Software Factories live up to the Promise? - slide 3 of 40 Do Software Factories live up to the Promise? - slide 4 of 40 Do Software Factories live up to the Promise? - slide 5 of 40 Do Software Factories live up to the Promise? - slide 6 of 40 Do Software Factories live up to the Promise? - slide 7 of 40 Do Software Factories live up to the Promise? - slide 8 of 40 Do Software Factories live up to the Promise? - slide 9 of 40 Do Software Factories live up to the Promise? - slide 10 of 40 Do Software Factories live up to the Promise? - slide 11 of 40 Do Software Factories live up to the Promise? - slide 12 of 40 Do Software Factories live up to the Promise? - slide 13 of 40 Do Software Factories live up to the Promise? - slide 14 of 40 Do Software Factories live up to the Promise? - slide 15 of 40 Do Software Factories live up to the Promise? - slide 16 of 40 Do Software Factories live up to the Promise? - slide 17 of 40 Do Software Factories live up to the Promise? - slide 18 of 40 Do Software Factories live up to the Promise? - slide 19 of 40 Do Software Factories live up to the Promise? - slide 20 of 40 Do Software Factories live up to the Promise? - slide 21 of 40 Do Software Factories live up to the Promise? - slide 22 of 40 Do Software Factories live up to the Promise? - slide 23 of 40 Do Software Factories live up to the Promise? - slide 24 of 40 Do Software Factories live up to the Promise? - slide 25 of 40 Do Software Factories live up to the Promise? - slide 26 of 40 Do Software Factories live up to the Promise? - slide 27 of 40 Do Software Factories live up to the Promise? - slide 28 of 40 Do Software Factories live up to the Promise? - slide 29 of 40 Do Software Factories live up to the Promise? - slide 30 of 40 Do Software Factories live up to the Promise? - slide 31 of 40 Do Software Factories live up to the Promise? - slide 32 of 40 Do Software Factories live up to the Promise? - slide 33 of 40 Do Software Factories live up to the Promise? - slide 34 of 40 Do Software Factories live up to the Promise? - slide 35 of 40 Do Software Factories live up to the Promise? - slide 36 of 40 Do Software Factories live up to the Promise? - slide 37 of 40 Do Software Factories live up to the Promise? - slide 38 of 40 Do Software Factories live up to the Promise? - slide 39 of 40 Do Software Factories live up to the Promise? - slide 40 of 40
Description: Do Software Factories live up to the Promise? Chris Lowndes Avanade Software project delivery is under ever increasing pressure Software industrialisation is the new paradigm to address this Numerous forces are acting against factory

Related Topics

Download Presentation

"Do Software Factories live up to the Promise?" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

Presentation Transcript

slide2. Do Software Factories live up to the Promise? Chris Lowndes
Avanade<br>
slide3. Software project delivery is under ever increasing pressure
Software industrialisation is the new paradigm to address this
Numerous forces are acting against factory adoption
Architects and thought leaders are the key to overcoming these forces Overview<br>
slide4. Software project delivery is under ever increasing pressure
Software industrialisation is the new paradigm to address this
Numerous forces are acting against factory adoption
Architects and thought leaders are the key to overcoming these forces Overview<br>
slide5. Evolution in Business Systems Batch Processing Terminal/Host Distributed Computing 1950 1970 1990 2010 Core Business Applications Integrated Business Applications Early Client Server Web Aware SOA<br>
slide6. Evolution in Software Development Task-centric Development Application-centric, Waterfall Development Distributed, Agile Development 1950 1970 1990 2010 Knowledge Worker Led Web Applications SOA IT Department Led Vendor Led Enterprise Rigour<br>
slide7. CIO drive to continually deliver more for less
Budgets under downward pressure
Outsourcing to ring-fence costs
Off shoring to reduce costs
Pace of change increasing
Quality expectations remain constant Ever increasing pressure<br>
slide8. Software project delivery is under ever increasing pressure
Software industrialisation is the new paradigm to address this
Numerous forces are acting against factory adoption
Architects and thought leaders are the key to overcoming these forces Overview<br>
slide9. We need to promote the state of the software development art

Moving to increasingly higher levels of abstraction has been a trend for some time

More expressive model-driven techniques and tools have emerged. However, most (based on UML) struggle to convey complex implementation details

Software factories and the domain-specific languages they employ can help to bridge the gap between problem model and the programming language The need for change<br>
slide10. Paradigm Shift Inception Optimization Maturity Procedural Object Orientation Industrialisation Value Time Today (After Kuhn, 1970)<br>
slide11. Software Factory Usage<br>
slide12. Case Study (1) Business Problem Global investment bank
Live derivatives trading
Expose sensitive LOB processes over web
Time-sensitive transactions
Critical dealer control
Eight-month delivery window
High degree of change expected Solution SOA trading platform
High-performance web client
Real-time smart blotter
Factory approach and agile methods enabled:
Accelerated build
Consistency
Ease of change<br>
slide13. Case Study (1) - Trading System Schematic<br>
slide14. Case Study (1) - Factory Techniques Employed<br>
slide16. Typical SOA Landscape Service Consumer Applications Foundation Services Aggregator Services Orders Customers Items<br>
slide18. Case Study (1) – Lessons Learnt Gain project stakeholder buy-in to the software factory approach

Front load delivery plan to allow factory preparation and testing

Include capability development as parallel workstream to software development<br>
slide19. Software project delivery is under ever increasing pressure
Software industrialisation is the new paradigm to address this
Numerous forces are acting against factory adoption
Architects and thought leaders are the key to overcoming these forces Overview<br>
slide20. Higher level of abstraction implies deeper skills and experience
Businesses are concerned with the long-term cost and availability of resources
Utilitarian development generally demands basic language skills
Skills to develop and extend software factories come from experienced resources
Junior developers need exposure to build these skills
Where will future generations of experienced developers come from? Negative Forces at Work<br>
slide21. Negative Forces at Work Optimal resource cost and availability occurs around generic 3GL skills
Software factories exist at a higher level of abstraction
Time is needed for the market to shift<br>
slide22. Case Study (2) Business Problem Financial Broker
150 complex products
25 diverse providers
Canonical web data capture
Each product requires:
Schemas
Mappings
Unique workflows
Low budget Solution Canonical UI
Light messaging core
Workflow interpreter
Product Factory:
Encapsulated artefacts
DSL and guidance
Offshore build
Custom ‘compiler’<br>
slide23. Case Study (2) – Broker System Schematic<br>
slide24. Case Study (2) – Delivery Responsibilities Product Factory used to communicate intent to offshore team<br>
slide25. Case Study (2) – Factory output Product Specs DSL & Guidance Test Conditions<br>
slide26. Case Study (2) – Lessons Learnt Learning curve less steep than expected – allow longer for first products to come off production line

Test the factory well and there will be fewer problems with the products

Factory approach does not eliminate issues caused by poor specification<br>
slide27. Software project delivery is under ever increasing pressure
Software industrialisation is the new paradigm to address this
Numerous forces are acting against factory adoption
Architects and thought leaders are the key to overcoming these forces Overview<br>
slide28. An Emerging Pattern<br>
slide29. Framework Evolution
Patterns & Practices output
VS designer tools Helping Hands VS.Net .net 1 VS 2005 .net 2 .net 3 VS 2008 .net 3.5 asp.net 2 asp.net 3.5 ado.net 1 ado.net 2 asmx wse wcf wpf wssf asp.net 1 scsf entlib 2 entlib wf entity framework wcsf wix dsl tools silverlight ajax VS 2003 .net 1.1 entlib 3 winforms linq<br>
slide30. Visual Studio “Rosario”
Comprehensive modelling tools (‘designers’):
Architecture exploration (incl. reverse engineering)
Support for most UML diagram types
Application, layer and deployment models
Baked-in factories (currently expected):
Connected Systems
Web Services
UI
Extendible to your own or third-party factories
Backplane allowing models to communicate and share What’s in the Pipeline?<br>
slide31. Rosario Walkthrough<br>
slide32. Rosario Walkthrough<br>
slide33. Future? Today A Vision of the Future<br>
slide34. Factories deliver elements of solutions – not the whole solution
Small, ongoing investments will reap increasing rewards
Project sponsors need to buy in to the need for factory investment
How to sell the idea? The value proposition:
Consistent, high quality results
Increased productivity
Decreased dependence on expensive skilled resource
Maximised reuse of skills & resources
Improved return on investment
SF evolution is not a isolated R&D activity Working towards the vision<br>
slide35. Today’s factories need to be extensible to have a good shelf life

Talented individuals need to be identified and encouraged to collaborate

More added value is gained if collaboration is ubiquitous:
Open source (public IP)
Community source (retained IP) Encouraging Collaboration<br>
slide36. Signs that factory techniques would add value:
Developers performing repetitive tasks such as builds, running scripts, changing configuration etc
Common patterns throughout the code indicating that the design could be modelled and some of the source code generated
Unit multiples:
Screens/pages
Services
Data access classes
Onshore/offshore communication scenarios
Factories for your MOSS / BizTalk / CS solutions? Looking for the opportunities<br>
slide37. Architects and thought leaders can be proactive in establishing a culture of change and collaboration

Look for the opportunities to industrialise:
Repetitive tasks
Common patterns
Unit multiples

Start small, think big

Do Software Factories live up to the promise?
Not yet. But they can with our help. Conclusion<br>
slide38. Recommended reading Software Factories Jack Greenfield, Keith Short with Steve Cook, Stuart Kent
Published by Wiley, 2004
600+ pages which set the scene for the Industrialisation of Software
The driver behind Microsoft’s factory strategy
A stake in the ground<br>