Thursday, November 24, 2011

How does BMW produce Ultimate Driving Machine?

According to Csaba Csere, a former editor of Car and Driver magazine

BMW’s goal is to make the Ultimate Driving Machine. If you work at BMW in any capacity and you’ve got a decision to make, you can sit there and say “ We’re the ultimate driving machine. Which one of these decisions is going to advance that objective”


Friday, November 18, 2011

Difference between Factory Pattern and Abstract Factory Pattern

Factory Pattern : Produces IProduct Implementation
Abstract Factory Pattern: A factory-factory produces IFactories, which in turn produces IProducts.

Sunday, November 06, 2011

TOGAF: Archtiecture Principles

My Architecture Principles
1. Domain Layer should be independent and lightly coupled to UI and Data Layer
2. Application should be automated tests friendly.
3.  Requirement based change
4. Easy Maintenance
5. Configurable
6.  Control Diversity
Architecture principles are a subset of IT principles that relate to architecture work. They relflect a consensus across the enterprise, and embody the spirit and thinking of the enterprise architecture.
Architecture principles can be further divided into :
 1. Principles that govern the architecture processes, affecting the development, maintenance and use of enterprise architecture.
2. Principles that govern the implementation of the architecture , establishing the first tenets and related guidance for designing and developing information systems.

Architecture principles are used to capture the fundamental truths about how the enterprise will use and deploy  IT resources and assets.
Too many principles can reduce the flexibility of the architecture. Many organizations prefer define only high-level principles , and to limit the number to between 10 and 20.

Business Principles
  1.    Primacy of Principles
  2.    Maximize benefit to the Enterprise
  3.    Information Management is Everybody's Business
  4.     Business Continuity
  5.     Common Use Applications
  6.     Compliance with law
  7.     IT Responsibility
  8.     Protection of Intellectual Property

Data Principles 
  1. Data is an Asset
  2. Data is shared
  3. Data is Accessible
  4. Data Trustee
  5. Common Vocabulary and Data Definitions
  6.  Data Security

Application Principles
1. Technology Independence
2. Ease of Use
3. Requirement based change
4.  Responsive Change Management
5. Control Technical Diversity
6. Interoperability


TOGAF is an architecture framework.

TOGAF 9 can be used for developing a broad range of different enterprise architectures.

The key to TOGAF is the method the TOGAF Architecture Development Method(ADM) - for developing an enterprise archtiecture that addresses business needs.

Architecture in the context of TOGAF

"The fundamental organization of a sytem, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution."

TOGAF embraces and extends this definition .In TOGAF , "architecture" has two meanings depending upon the context

1. A formal description of a system, or a detailed plan of the system at a component level to guide its implementation.

2. The structure of components , their inter-relationships , and the principles and guidelines governing their design and evolution over time.