Conference Architect Insight 2007, Solution Supply Chains

Jack Greenfield

- He decided not do do a demo of Web Service Software Factory
 - We can do ourselves that at home
 - We would not get the vision that people at MS is getting
 - It also did not installed correctly on Jack's machine (LOL)

Agenda:
- Learning from other industries
- Mass customisation in software industries
- Supply Chains

- Customer dilemma:
 - A few software vendores build rich but generic platforms (1 million markets of 1 vs 1 market of 1 million)
 - Hundreds of ISVs build industry and/or segment specific products
 - Thousands of SIs customize and integrate
 - Millions of customers use and buy customized products

- Other industries employ mass customisation: automobile industry. If a auto maker shuts down can bring down an entire economy.
- The number of possible variants of what combinations we can get in assembly parts of a car are about 10 to 13.
- On average no more than a handful of cars are assembled with exactly the same features in a year

- Why cant we do this with software? The main reason is that we dont have software supply chains.

- Supply chains:
 - Different suppliers take different approaches to development
  - There are different ways of defining requirements
  - Different ways of partitioning systems into components
  - Different ways of using platform technologies
  - Different ways of deplying system components onto platform technologies
  - Different ways of testing system components
  - Different ways os customising system features
 - Different approaches make it hard to integrate their products to create solutions
  - Hard to verify solutions assembled across multiple suppliers
  - Hard to determine impact of changes in requirements
  - Hard to determine what customisations were made for a specific customer
  - Hard to migrate customisations to new versions of the solutions
  - Hard to coordinate activities to deliver their solutions

- Mass customisation in software development:
 - The road to mass customisation
  - Industrialize development using software factories
  - The only way of a component to be reusable is when we can predict its future. Example: a database.
  - When we know about social circunstances, etc. we can make better predictions
  - Form supply chains using aligned suppliers
  - Mass customise using globally optimized supply chains
 - Industrialize Development
  - Model key work products, processes and assets
  - Accelerate development with model driven tools and other resources
  - Develop solutions by assembly and customisation. This has been ugly, but possible.

- Software factories view is just a way of presenting this problem and the possible solutions. It is not a solution in itself, like Visual Studio designers. They are an instatiation of the view of software factories.

- Publish Factory Metadata
 - Opaque Suppliers vs Suppliers As Services
 - Opaque: different suppliers use different services and there is no easy way to share factory metadata
 - Services: standardization externally facing processes and artifacts. Publish metadata using services.

- Misaligned Suppliers vs Aligned Suppliers
 - From factories to Supply Chains
  - Factories develop tools and process
  - Factories uses Requirements
  - A Factory can generate other factories
 - Horizontal partitioning
  - Separate factory and product development
  - Outsource product development using factories developed in-house
   - Example: A factory built by Big Vendor is used by an offshores services company
  - Use factories supplied by a third party to develop products in-house
   - Example: Finantial Services Firm uses a factory built by Big Vendor
 - Vertical Partitioning
  - Partition factory development
  - Purchase assets from upstream suppliers
   - Example: Finantial Services Firm uses assets from CRM Vendor
  - Sell assets to downstream suppliers
   - Example: Finantial Services Firm supplies assets to (...)
  - CReates B2B relationships when assets are servi based
   - Example: suppliers deliver stubs to hosted services not embedded components
 - Local optimization creates bottlenecks
 - Suppliers respond individually as changes propagate

- Architectural factories:
 - Collaboration factory uses Workflow factory
 - Portal factory uses Content Factory
 - Collaboration factory specializes Portal factory

- Prerequisites:
 - Feature-based requirements engineering
  - Required for reasoning about variability and inter-dependencies among requirements
 - Unambiguous architecture specification
  - Required for systematic development by assembly with adaptation
 - Maturation of service oriented technologies
  - Required for reasoning about operational qualities (...)


- Homework:
 - Are you a supplier, consumer or both?
 - Do you form part of a supply chain today?
 - Or have your software integrated by others?
 - What would it make it easier or what changes would be needed?

 



Published Tuesday, March 06, 2007 4:17 PM by António Cruz
Filed under , , , ,

Comments

 

Ant said:

March 6, 2007 9:58 PM
 

canoas'blog said:

March 8, 2007 2:06 AM