SlideShare a Scribd company logo
1 of 29
Download to read offline
Architecture in action !
Krishna	
  Sankar	
  
@ksankar	
  
May	
  7,	
  2007	
  
u  Architecture	
  Succeeds	
  !	
  
•  Quietly	
  !	
  
Thanks to Chris Wiborg for this observation ….
Architecture - Heuristics
u  Simplify	
  
•  Not	
  monolithic	
  systems	
  but	
  building	
  blocks	
  
u  Design	
  the	
  structure	
  with	
  “good	
  bones”	
  
•  Resilient	
  to	
  a	
  wide	
  range	
  of	
  stress	
  and	
  usage	
  patterns	
  
•  Internet	
  :	
  Constant	
  assembly	
  line	
  with	
  no	
  central	
  point	
  of	
  
control	
  
•  Build	
  in	
  and	
  maintain	
  options	
  
•  Use	
  open	
  architectures	
  
u  Implementation	
  matters	
  
Architecture - Heuristics
u  Build	
  Evolutionary	
  systems	
  
•  A	
  system	
  will	
  develop	
  and	
  evolve	
  much	
  more	
  
rapidly	
  if	
  there	
  are	
  stable	
  intermediate	
  forms	
  than	
  
if	
  there	
  are	
  not	
  
•  Old	
  information	
  need	
  not	
  change	
  to	
  have	
  new	
  
models	
  
•  Resolve	
  ambiguity	
  &	
  clarify	
  /	
  trap	
  inconsistencies	
  
at	
  the	
  message	
  layer	
  
Architecture - Heuristics
u  Use	
  Pattern	
  oriented	
  architectures	
  
•  EJB	
  
•  General	
  patterns	
  
•  Real	
  time	
  patterns	
  
u  Software	
  reflects	
  the	
  creators	
  
u  Architecture	
  is	
  a	
  “network	
  good”	
  
•  i.e.	
  adds	
  value	
  as	
  the	
  users	
  increase	
  (like	
  a	
  
network	
  of	
  computers	
  or	
  telephones)	
  
Architecture - Heuristics
u  Minimalist	
  design	
  
u  Build	
  larger	
  things	
  out	
  of	
  small	
  things	
  
•  Bigger	
  programs,	
  larger	
  number	
  of	
  bugs	
  
•  Opportunities	
  for	
  wide	
  open	
  channels	
  
•  Model	
  after	
  cells	
  and	
  bricks	
  !	
  
u Generic	
  appliances	
  which	
  can	
  dynamically	
  take	
  
different	
  roles	
  depending	
  on	
  the	
  state	
  of	
  the	
  network	
  
•  E.g.:	
  Denial	
  of	
  attack	
  :	
  Lots	
  of	
  packet	
  filtering	
  functions	
  
Architecture - Heuristics
u  Web	
  of	
  trust	
  rather	
  than	
  single	
  point	
  trust	
  
u  All	
  information	
  is	
  processed	
  under	
  multiple	
  
trust	
  contexts	
  
u  Application/Domain	
  Level	
  Security	
  :	
  Not	
  point	
  
to	
  point	
  
u  Defense	
  in	
  Depth	
  principles	
  
•  Not	
  rely	
  on	
  one	
  layer	
  or	
  one	
  device	
  for	
  protection	
  
and	
  information	
  accuracy	
  
•  Multi-­‐level	
  Security	
  
Architecture - Heuristics
u  Pervasive	
  Security	
  Architecture	
  
•  Means	
  making	
  security	
  part	
  of	
  everything	
  and	
  not	
  
making	
  it	
  its	
  own	
  thing.	
  	
  
•  It	
  means	
  security	
  isn’t	
  added	
  to	
  the	
  enterprise,	
  
it’s	
  woven	
  into	
  the	
  fabric	
  of	
  the	
  architecture	
  	
  
Courtsey : http://www.cio.com/research/security/edit/a072601_firewall.html
Architecture Methodologies
u  Normative/solution	
  based	
  
•  Prescribes	
  the	
  “should-­‐be”	
  in	
  terms	
  of	
  standards,	
  codes	
  
u  Rational/method-­‐based	
  
•  Methods	
  and	
  processes	
  to	
  arrive	
  at	
  a	
  solution.	
  i.e.	
  check	
  
lists,	
  ways	
  to	
  review,	
  SDLC,	
  …	
  
u  Participative	
  
•  Brainstorming/concurrent	
  engg	
  
u  Heuristics	
  
•  Patterns,	
  Thumb	
  rules,	
  old	
  tales,	
  fables,	
  …	
  
Architecture is ….
u Politics	
  
•  EEF,	
  Mitch	
  Kapoor	
  
u  Disciplined	
  avoidance	
  of	
  value	
  judgments	
  
•  Client	
  –	
  desirability,	
  Architect	
  –	
  feasibility	
  
•  Pyramids	
  –	
  architected	
  not	
  for	
  burial,	
  but	
  show	
  of	
  political	
  &	
  religious	
  
power	
  
u  Clear	
  avoidance	
  of	
  conflict	
  of	
  interest	
  
•  Who	
  benefits	
  ?	
  Who	
  pays	
  ?	
  Who	
  provides	
  ?	
  Who	
  loses	
  ?	
  
u  Arms-­‐length	
  relationship	
  with	
  project	
  management	
  
•  But	
  be	
  very	
  aware	
  of	
  project	
  responsibilities	
  
•  Need	
  to	
  architect	
  so	
  that	
  systems	
  can	
  be	
  built	
  within	
  the	
  project	
  
constraints	
  
Architecture is ….
u Policy	
  
•  What	
  you	
  can	
  do	
  is	
  strongly	
  correlated	
  to	
  how	
  
you	
  are	
  connected	
  	
  
•  If	
  we	
  make	
  wise	
  choices	
  in	
  architecting	
  our	
  
systems,	
  long	
  before	
  they	
  have	
  millions	
  of	
  users,	
  
their	
  architectures	
  become	
  the	
  firm	
  foundations	
  
on	
  which	
  subsequent	
  systems	
  are	
  built	
  
u Paraphrasing	
  John	
  Gilmore	
  
Architecture is ….
u Freedom	
  
•  From	
  mundane	
  things	
  so	
  that	
  the	
  programmer	
  
can	
  concentrate	
  on	
  the	
  problem	
  at	
  hand	
  !	
  
u  Flip	
  side	
  
•  Enabling	
  Vs	
  restriction	
  
u Framework	
  can	
  be	
  very	
  intelligent	
  or	
  very	
  dumb/pass-­‐
thru	
  
•  Architecture	
  and	
  it’s	
  artifacts	
  are	
  choke	
  points	
  –	
  
deliberate	
  or	
  not	
  
Architecture is ….
u Handling	
  Complexities	
  
• Abstract	
  Essential	
  Complexity	
  
u Cannot	
  avoid	
  domain	
  complexity	
  
• Avoid	
  Accidental	
  Complexity	
  
Architecture is …..
u Not	
  an	
  isolated	
  event	
  	
  
•  But	
  a	
  product	
  line	
  
u  Act	
  like	
  a	
  software	
  company	
  
•  Road	
  map	
  
•  Articulated	
  feature	
  set	
  
•  Deliverables	
  
•  User	
  feedback	
  and	
  influence	
  
u  Need	
  to	
  reflect	
  this	
  in	
  the	
  process,	
  
representation	
  and	
  the	
  artifacts	
  
Architecture has
u Deliverables	
  
•  Have	
  a	
  clear	
  vision	
  of	
  whom	
  the	
  results	
  are	
  for	
  
•  Managers	
  –	
  fluffy	
  slides	
  
u “If	
  you	
  can't	
  explain	
  it	
  in	
  5	
  min,	
  either	
  you	
  don’t	
  
understand	
  it	
  or	
  it	
  doesn’t	
  work”	
  
•  Architects	
  
u Play-­‐book,	
  Framework,	
  Principles	
  
•  Developers	
  
u API	
  Docs,	
  Examples	
  
Architecture has
u  Timeframes	
  
5 years Vision
2 years Strategy
1 year Tactical Plan
6-9 months Operational
Thanks to Greg Giles for this observation ….
Roles & Responsibilities
u  Architect	
  Vs	
  Engineer	
  Vs	
  Builder	
  	
  
u  Different	
  View	
  points	
  
u  Important	
  to	
  realize	
  which	
  hat	
  you	
  are	
  
wearing	
  
An Architecture is not optional
Some
are designed
and some
just happen
But it’s there
and it affects the efficiency of the product
Every product already has an Architecture
u  Byzantine	
  failure	
  
•  Assume	
  the	
  component	
  fails	
  &	
  
•  Does	
  the	
  worst	
  possible	
  thing	
  	
  
•  To	
  the	
  system	
  
u  Ariane 5 disaster (1996)
u  Dual redundant system
•  Main system failed
•  Switched to the backup system (which already had failed
due to the same cause)
•  Cause – Conversion 64 bit to 16 bit integer
u  Code left over from Ariane 4 which was never reqd in 5 but
reqd in 4, but only till lift off - 9 seconds. But they continued
the calculations lift off+50 seconds :o(
http://www.around.com/ariane.html
http://sunnyday.mit.edu/accidents/Ariane5accidentreport.html
Challenges
u  Not	
  just	
  new	
  technology,	
  but	
  performance	
  
measurements	
  &	
  reward	
  system	
  
u  Incompatible	
  applications	
  would	
  not	
  
magically	
  become	
  compatible	
  with	
  the	
  web	
  
services	
  fabric	
  (Mark	
  Day,Cisco	
  Systems)	
  
u  Technical	
  standards	
  need	
  not	
  translate	
  to	
  
successful	
  business	
  models/enablers	
  
Challenges
u  Do	
  we	
  have	
  a	
  long	
  term	
  shared	
  vision	
  of	
  the	
  IT	
  &	
  Business	
  
Architecture	
  ?	
  
u  Can	
  we	
  balance	
  new	
  architecture	
  &	
  business	
  impact	
  ?	
  
u  Are	
  we	
  moving	
  fast	
  enough	
  to	
  build	
  expertise	
  &	
  exploit	
  
inter-­‐company	
  processes	
  ?	
  
u  Do	
  we	
  have	
  a	
  clear	
  understanding	
  of	
  organizational	
  
inertia	
  and	
  have	
  a	
  plan	
  ?	
  
u  Are	
  we	
  providing	
  sufficient	
  leadership	
  to	
  vendors	
  and	
  
standards	
  ?	
  
Courtsey : HBR 10/01
Reuse ?
u  Is	
  there	
  an	
  incentive	
  for	
  developers	
  to	
  build	
  components	
  
for	
  reuse,	
  even	
  though	
  it	
  may	
  take	
  longer	
  and	
  be	
  more	
  
expensive?	
  Remember	
  that	
  the	
  value	
  of	
  this	
  approach	
  is	
  
being	
  able	
  to	
  reuse	
  the	
  components	
  the	
  second	
  and	
  third	
  
time,	
  not	
  the	
  first	
  time.	
  	
  
u  Are	
  project	
  managers	
  &	
  functional	
  managers	
  
compensated	
  based	
  on	
  how	
  much	
  reuse	
  they	
  are	
  able	
  to	
  
employ	
  in	
  their	
  solutions?	
  	
  
Reuse ?
u  Are	
  developers	
  rewarded	
  for	
  reusing	
  
components	
  in	
  their	
  solution?	
  	
  
u  Has	
  a	
  central	
  body	
  taken	
  ownership	
  of	
  
reusable	
  components	
  so	
  that	
  they	
  can	
  be	
  
available	
  and	
  leveraged	
  by	
  other	
  groups?	
  
Architecture needs support …
u  To	
  gain	
  and	
  retain	
  skills,	
  we	
  need	
  three	
  
things	
  :	
  	
  
1.  Acquire	
  the	
  skill,	
  	
  
2.  Be	
  exposed	
  to	
  the	
  skill	
  being	
  practiced	
  	
  
3.  Opportunities/motivation	
  to	
  practice	
  the	
  skill.	
  
u  The	
  Arch	
  forum	
  should	
  provide	
  1)	
  and	
  2).	
  	
  
u  3)	
  should	
  come	
  from	
  Sr.Staff	
  and	
  the	
  rest	
  of	
  
the	
  management	
  team.	
  
Break !
PROPRIETARY MATERIAL -
DELETED
References
u  [1]	
  The	
  Art	
  of	
  Systems	
  Architecture	
  :	
  Mark	
  W.	
  
Mainer	
  et	
  al	
  
u  [2]	
  Design	
  &	
  Use	
  of	
  Software	
  Architectures	
  :	
  
Jan	
  Bosch	
  
u  [3]	
  The	
  Future	
  of	
  Ideas	
  :	
  Lawrence	
  Lessig	
  	
  
Questions ?
Questions
?

More Related Content

What's hot

Jupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and ErasmusJupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and ErasmusPaco Nathan
 
Towards a rebirth of data science (by Data Fellas)
Towards a rebirth of data science (by Data Fellas)Towards a rebirth of data science (by Data Fellas)
Towards a rebirth of data science (by Data Fellas)Andy Petrella
 
Microservices, containers, and machine learning
Microservices, containers, and machine learningMicroservices, containers, and machine learning
Microservices, containers, and machine learningPaco Nathan
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingPaco Nathan
 
Data Science Folk Knowledge
Data Science Folk KnowledgeData Science Folk Knowledge
Data Science Folk KnowledgeKrishna Sankar
 
Scala: the unpredicted lingua franca for data science
Scala: the unpredicted lingua franca  for data scienceScala: the unpredicted lingua franca  for data science
Scala: the unpredicted lingua franca for data scienceAndy Petrella
 
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Big Data Spain
 
QCon São Paulo: Real-Time Analytics with Spark Streaming
QCon São Paulo: Real-Time Analytics with Spark StreamingQCon São Paulo: Real-Time Analytics with Spark Streaming
QCon São Paulo: Real-Time Analytics with Spark StreamingPaco Nathan
 
The Hitchhiker's Guide to Machine Learning with Python & Apache Spark
The Hitchhiker's Guide to Machine Learning with Python & Apache SparkThe Hitchhiker's Guide to Machine Learning with Python & Apache Spark
The Hitchhiker's Guide to Machine Learning with Python & Apache SparkKrishna Sankar
 
The Future of Data Science
The Future of Data ScienceThe Future of Data Science
The Future of Data ScienceDataWorks Summit
 
Open source analytics
Open source analyticsOpen source analytics
Open source analyticsAjay Ohri
 
Agile analytics applications on hadoop
Agile analytics applications on hadoopAgile analytics applications on hadoop
Agile analytics applications on hadoopRussell Jurney
 
Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...
Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...
Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...Sarah Aerni
 
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...Mahantesh Angadi
 
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Distributed Models Over Distributed Data with MLflow, Pyspark, and PandasDistributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Distributed Models Over Distributed Data with MLflow, Pyspark, and PandasDatabricks
 
Blue Pill/Red Pill: The Matrix of Thousands of Data Streams
Blue Pill/Red Pill: The Matrix of Thousands of Data StreamsBlue Pill/Red Pill: The Matrix of Thousands of Data Streams
Blue Pill/Red Pill: The Matrix of Thousands of Data StreamsDatabricks
 
Big data Big Analytics
Big data Big AnalyticsBig data Big Analytics
Big data Big AnalyticsAjay Ohri
 

What's hot (19)

Jupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and ErasmusJupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and Erasmus
 
Towards a rebirth of data science (by Data Fellas)
Towards a rebirth of data science (by Data Fellas)Towards a rebirth of data science (by Data Fellas)
Towards a rebirth of data science (by Data Fellas)
 
Microservices, containers, and machine learning
Microservices, containers, and machine learningMicroservices, containers, and machine learning
Microservices, containers, and machine learning
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
 
Data Science Folk Knowledge
Data Science Folk KnowledgeData Science Folk Knowledge
Data Science Folk Knowledge
 
Scala: the unpredicted lingua franca for data science
Scala: the unpredicted lingua franca  for data scienceScala: the unpredicted lingua franca  for data science
Scala: the unpredicted lingua franca for data science
 
Spark streaming
Spark streamingSpark streaming
Spark streaming
 
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
 
QCon São Paulo: Real-Time Analytics with Spark Streaming
QCon São Paulo: Real-Time Analytics with Spark StreamingQCon São Paulo: Real-Time Analytics with Spark Streaming
QCon São Paulo: Real-Time Analytics with Spark Streaming
 
The Hitchhiker's Guide to Machine Learning with Python & Apache Spark
The Hitchhiker's Guide to Machine Learning with Python & Apache SparkThe Hitchhiker's Guide to Machine Learning with Python & Apache Spark
The Hitchhiker's Guide to Machine Learning with Python & Apache Spark
 
The Future of Data Science
The Future of Data ScienceThe Future of Data Science
The Future of Data Science
 
Open source analytics
Open source analyticsOpen source analytics
Open source analytics
 
Agile analytics applications on hadoop
Agile analytics applications on hadoopAgile analytics applications on hadoop
Agile analytics applications on hadoop
 
Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...
Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...
Data Science as a Commodity: Use MADlib, R, & other OSS Tools for Data Scienc...
 
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
 
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Distributed Models Over Distributed Data with MLflow, Pyspark, and PandasDistributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
 
HadoopWorkshopJuly2014
HadoopWorkshopJuly2014HadoopWorkshopJuly2014
HadoopWorkshopJuly2014
 
Blue Pill/Red Pill: The Matrix of Thousands of Data Streams
Blue Pill/Red Pill: The Matrix of Thousands of Data StreamsBlue Pill/Red Pill: The Matrix of Thousands of Data Streams
Blue Pill/Red Pill: The Matrix of Thousands of Data Streams
 
Big data Big Analytics
Big data Big AnalyticsBig data Big Analytics
Big data Big Analytics
 

Similar to Architecture in action 01

NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckUtrecht University
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an IntroductionAjit Nayak
 
CIS375 Interaction Designs Chapter15
CIS375 Interaction Designs Chapter15CIS375 Interaction Designs Chapter15
CIS375 Interaction Designs Chapter15Dr. Ahmed Al Zaidy
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersValentin-Tudor Mocanu
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015Randy Shoup
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...NUS-ISS
 
Nimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT TemplateNimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT Templatetjain
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Introductie slides Agile Software Architecture
Introductie slides Agile Software ArchitectureIntroductie slides Agile Software Architecture
Introductie slides Agile Software ArchitectureMaikel Meeuwse
 

Similar to Architecture in action 01 (20)

NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
Data-X-Sparse-v2
Data-X-Sparse-v2Data-X-Sparse-v2
Data-X-Sparse-v2
 
Data-X-v3.1
Data-X-v3.1Data-X-v3.1
Data-X-v3.1
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
 
CIS375 Interaction Designs Chapter15
CIS375 Interaction Designs Chapter15CIS375 Interaction Designs Chapter15
CIS375 Interaction Designs Chapter15
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layers
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
 
Nimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT TemplateNimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT Template
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Interactive SDLC
Interactive SDLCInteractive SDLC
Interactive SDLC
 
Software process models
Software process modelsSoftware process models
Software process models
 
MBUID survey
MBUID surveyMBUID survey
MBUID survey
 
Introductie slides Agile Software Architecture
Introductie slides Agile Software ArchitectureIntroductie slides Agile Software Architecture
Introductie slides Agile Software Architecture
 

More from Krishna Sankar

Pandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data SciencePandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data ScienceKrishna Sankar
 
An excursion into Graph Analytics with Apache Spark GraphX
An excursion into Graph Analytics with Apache Spark GraphXAn excursion into Graph Analytics with Apache Spark GraphX
An excursion into Graph Analytics with Apache Spark GraphXKrishna Sankar
 
An excursion into Text Analytics with Apache Spark
An excursion into Text Analytics with Apache SparkAn excursion into Text Analytics with Apache Spark
An excursion into Text Analytics with Apache SparkKrishna Sankar
 
Data Science with Spark
Data Science with SparkData Science with Spark
Data Science with SparkKrishna Sankar
 
R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538
R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538
R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538Krishna Sankar
 
R, Data Wrangling & Kaggle Data Science Competitions
R, Data Wrangling & Kaggle Data Science CompetitionsR, Data Wrangling & Kaggle Data Science Competitions
R, Data Wrangling & Kaggle Data Science CompetitionsKrishna Sankar
 
Data Wrangling For Kaggle Data Science Competitions
Data Wrangling For Kaggle Data Science CompetitionsData Wrangling For Kaggle Data Science Competitions
Data Wrangling For Kaggle Data Science CompetitionsKrishna Sankar
 
Bayesian Machine Learning - Naive Bayes
Bayesian Machine Learning - Naive BayesBayesian Machine Learning - Naive Bayes
Bayesian Machine Learning - Naive BayesKrishna Sankar
 
AWS VPC distilled for MongoDB devOps
AWS VPC distilled for MongoDB devOpsAWS VPC distilled for MongoDB devOps
AWS VPC distilled for MongoDB devOpsKrishna Sankar
 
The Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonThe Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonKrishna Sankar
 
Big Data Engineering - Top 10 Pragmatics
Big Data Engineering - Top 10 PragmaticsBig Data Engineering - Top 10 Pragmatics
Big Data Engineering - Top 10 PragmaticsKrishna Sankar
 
Scrum debrief to team
Scrum debrief to team Scrum debrief to team
Scrum debrief to team Krishna Sankar
 
Precision Time Synchronization
Precision Time SynchronizationPrecision Time Synchronization
Precision Time SynchronizationKrishna Sankar
 
The Hitchhiker’s Guide to Kaggle
The Hitchhiker’s Guide to KaggleThe Hitchhiker’s Guide to Kaggle
The Hitchhiker’s Guide to KaggleKrishna Sankar
 
Nosql hands on handout 04
Nosql hands on handout 04Nosql hands on handout 04
Nosql hands on handout 04Krishna Sankar
 
Cloud Interoperability Demo at OGF29
Cloud Interoperability Demo at OGF29Cloud Interoperability Demo at OGF29
Cloud Interoperability Demo at OGF29Krishna Sankar
 
A Hitchhiker's Guide to NOSQL v1.0
A Hitchhiker's Guide to NOSQL v1.0A Hitchhiker's Guide to NOSQL v1.0
A Hitchhiker's Guide to NOSQL v1.0Krishna Sankar
 

More from Krishna Sankar (18)

Pandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data SciencePandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data Science
 
An excursion into Graph Analytics with Apache Spark GraphX
An excursion into Graph Analytics with Apache Spark GraphXAn excursion into Graph Analytics with Apache Spark GraphX
An excursion into Graph Analytics with Apache Spark GraphX
 
An excursion into Text Analytics with Apache Spark
An excursion into Text Analytics with Apache SparkAn excursion into Text Analytics with Apache Spark
An excursion into Text Analytics with Apache Spark
 
Data Science with Spark
Data Science with SparkData Science with Spark
Data Science with Spark
 
R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538
R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538
R, Data Wrangling & Predicting NFL with Elo like Nate SIlver & 538
 
R, Data Wrangling & Kaggle Data Science Competitions
R, Data Wrangling & Kaggle Data Science CompetitionsR, Data Wrangling & Kaggle Data Science Competitions
R, Data Wrangling & Kaggle Data Science Competitions
 
Data Wrangling For Kaggle Data Science Competitions
Data Wrangling For Kaggle Data Science CompetitionsData Wrangling For Kaggle Data Science Competitions
Data Wrangling For Kaggle Data Science Competitions
 
Bayesian Machine Learning - Naive Bayes
Bayesian Machine Learning - Naive BayesBayesian Machine Learning - Naive Bayes
Bayesian Machine Learning - Naive Bayes
 
AWS VPC distilled for MongoDB devOps
AWS VPC distilled for MongoDB devOpsAWS VPC distilled for MongoDB devOps
AWS VPC distilled for MongoDB devOps
 
The Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonThe Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & Python
 
Big Data Engineering - Top 10 Pragmatics
Big Data Engineering - Top 10 PragmaticsBig Data Engineering - Top 10 Pragmatics
Big Data Engineering - Top 10 Pragmatics
 
Scrum debrief to team
Scrum debrief to team Scrum debrief to team
Scrum debrief to team
 
The Art of Big Data
The Art of Big DataThe Art of Big Data
The Art of Big Data
 
Precision Time Synchronization
Precision Time SynchronizationPrecision Time Synchronization
Precision Time Synchronization
 
The Hitchhiker’s Guide to Kaggle
The Hitchhiker’s Guide to KaggleThe Hitchhiker’s Guide to Kaggle
The Hitchhiker’s Guide to Kaggle
 
Nosql hands on handout 04
Nosql hands on handout 04Nosql hands on handout 04
Nosql hands on handout 04
 
Cloud Interoperability Demo at OGF29
Cloud Interoperability Demo at OGF29Cloud Interoperability Demo at OGF29
Cloud Interoperability Demo at OGF29
 
A Hitchhiker's Guide to NOSQL v1.0
A Hitchhiker's Guide to NOSQL v1.0A Hitchhiker's Guide to NOSQL v1.0
A Hitchhiker's Guide to NOSQL v1.0
 

Recently uploaded

原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
Machine learning classification ppt.ppt
Machine learning classification  ppt.pptMachine learning classification  ppt.ppt
Machine learning classification ppt.pptamreenkhanum0307
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...limedy534
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxMike Bennett
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理e4aez8ss
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...Amil Baba Dawood bangali
 

Recently uploaded (20)

原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
Machine learning classification ppt.ppt
Machine learning classification  ppt.pptMachine learning classification  ppt.ppt
Machine learning classification ppt.ppt
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptx
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 

Architecture in action 01

  • 1. Architecture in action ! Krishna  Sankar   @ksankar   May  7,  2007  
  • 2. u  Architecture  Succeeds  !   •  Quietly  !   Thanks to Chris Wiborg for this observation ….
  • 3. Architecture - Heuristics u  Simplify   •  Not  monolithic  systems  but  building  blocks   u  Design  the  structure  with  “good  bones”   •  Resilient  to  a  wide  range  of  stress  and  usage  patterns   •  Internet  :  Constant  assembly  line  with  no  central  point  of   control   •  Build  in  and  maintain  options   •  Use  open  architectures   u  Implementation  matters  
  • 4. Architecture - Heuristics u  Build  Evolutionary  systems   •  A  system  will  develop  and  evolve  much  more   rapidly  if  there  are  stable  intermediate  forms  than   if  there  are  not   •  Old  information  need  not  change  to  have  new   models   •  Resolve  ambiguity  &  clarify  /  trap  inconsistencies   at  the  message  layer  
  • 5. Architecture - Heuristics u  Use  Pattern  oriented  architectures   •  EJB   •  General  patterns   •  Real  time  patterns   u  Software  reflects  the  creators   u  Architecture  is  a  “network  good”   •  i.e.  adds  value  as  the  users  increase  (like  a   network  of  computers  or  telephones)  
  • 6. Architecture - Heuristics u  Minimalist  design   u  Build  larger  things  out  of  small  things   •  Bigger  programs,  larger  number  of  bugs   •  Opportunities  for  wide  open  channels   •  Model  after  cells  and  bricks  !   u Generic  appliances  which  can  dynamically  take   different  roles  depending  on  the  state  of  the  network   •  E.g.:  Denial  of  attack  :  Lots  of  packet  filtering  functions  
  • 7. Architecture - Heuristics u  Web  of  trust  rather  than  single  point  trust   u  All  information  is  processed  under  multiple   trust  contexts   u  Application/Domain  Level  Security  :  Not  point   to  point   u  Defense  in  Depth  principles   •  Not  rely  on  one  layer  or  one  device  for  protection   and  information  accuracy   •  Multi-­‐level  Security  
  • 8. Architecture - Heuristics u  Pervasive  Security  Architecture   •  Means  making  security  part  of  everything  and  not   making  it  its  own  thing.     •  It  means  security  isn’t  added  to  the  enterprise,   it’s  woven  into  the  fabric  of  the  architecture     Courtsey : http://www.cio.com/research/security/edit/a072601_firewall.html
  • 9. Architecture Methodologies u  Normative/solution  based   •  Prescribes  the  “should-­‐be”  in  terms  of  standards,  codes   u  Rational/method-­‐based   •  Methods  and  processes  to  arrive  at  a  solution.  i.e.  check   lists,  ways  to  review,  SDLC,  …   u  Participative   •  Brainstorming/concurrent  engg   u  Heuristics   •  Patterns,  Thumb  rules,  old  tales,  fables,  …  
  • 10. Architecture is …. u Politics   •  EEF,  Mitch  Kapoor   u  Disciplined  avoidance  of  value  judgments   •  Client  –  desirability,  Architect  –  feasibility   •  Pyramids  –  architected  not  for  burial,  but  show  of  political  &  religious   power   u  Clear  avoidance  of  conflict  of  interest   •  Who  benefits  ?  Who  pays  ?  Who  provides  ?  Who  loses  ?   u  Arms-­‐length  relationship  with  project  management   •  But  be  very  aware  of  project  responsibilities   •  Need  to  architect  so  that  systems  can  be  built  within  the  project   constraints  
  • 11. Architecture is …. u Policy   •  What  you  can  do  is  strongly  correlated  to  how   you  are  connected     •  If  we  make  wise  choices  in  architecting  our   systems,  long  before  they  have  millions  of  users,   their  architectures  become  the  firm  foundations   on  which  subsequent  systems  are  built   u Paraphrasing  John  Gilmore  
  • 12. Architecture is …. u Freedom   •  From  mundane  things  so  that  the  programmer   can  concentrate  on  the  problem  at  hand  !   u  Flip  side   •  Enabling  Vs  restriction   u Framework  can  be  very  intelligent  or  very  dumb/pass-­‐ thru   •  Architecture  and  it’s  artifacts  are  choke  points  –   deliberate  or  not  
  • 13. Architecture is …. u Handling  Complexities   • Abstract  Essential  Complexity   u Cannot  avoid  domain  complexity   • Avoid  Accidental  Complexity  
  • 14. Architecture is ….. u Not  an  isolated  event     •  But  a  product  line   u  Act  like  a  software  company   •  Road  map   •  Articulated  feature  set   •  Deliverables   •  User  feedback  and  influence   u  Need  to  reflect  this  in  the  process,   representation  and  the  artifacts  
  • 15. Architecture has u Deliverables   •  Have  a  clear  vision  of  whom  the  results  are  for   •  Managers  –  fluffy  slides   u “If  you  can't  explain  it  in  5  min,  either  you  don’t   understand  it  or  it  doesn’t  work”   •  Architects   u Play-­‐book,  Framework,  Principles   •  Developers   u API  Docs,  Examples  
  • 16. Architecture has u  Timeframes   5 years Vision 2 years Strategy 1 year Tactical Plan 6-9 months Operational Thanks to Greg Giles for this observation ….
  • 17. Roles & Responsibilities u  Architect  Vs  Engineer  Vs  Builder     u  Different  View  points   u  Important  to  realize  which  hat  you  are   wearing  
  • 18. An Architecture is not optional Some are designed and some just happen But it’s there and it affects the efficiency of the product Every product already has an Architecture
  • 19. u  Byzantine  failure   •  Assume  the  component  fails  &   •  Does  the  worst  possible  thing     •  To  the  system   u  Ariane 5 disaster (1996) u  Dual redundant system •  Main system failed •  Switched to the backup system (which already had failed due to the same cause) •  Cause – Conversion 64 bit to 16 bit integer u  Code left over from Ariane 4 which was never reqd in 5 but reqd in 4, but only till lift off - 9 seconds. But they continued the calculations lift off+50 seconds :o( http://www.around.com/ariane.html http://sunnyday.mit.edu/accidents/Ariane5accidentreport.html
  • 20. Challenges u  Not  just  new  technology,  but  performance   measurements  &  reward  system   u  Incompatible  applications  would  not   magically  become  compatible  with  the  web   services  fabric  (Mark  Day,Cisco  Systems)   u  Technical  standards  need  not  translate  to   successful  business  models/enablers  
  • 21. Challenges u  Do  we  have  a  long  term  shared  vision  of  the  IT  &  Business   Architecture  ?   u  Can  we  balance  new  architecture  &  business  impact  ?   u  Are  we  moving  fast  enough  to  build  expertise  &  exploit   inter-­‐company  processes  ?   u  Do  we  have  a  clear  understanding  of  organizational   inertia  and  have  a  plan  ?   u  Are  we  providing  sufficient  leadership  to  vendors  and   standards  ?   Courtsey : HBR 10/01
  • 22. Reuse ? u  Is  there  an  incentive  for  developers  to  build  components   for  reuse,  even  though  it  may  take  longer  and  be  more   expensive?  Remember  that  the  value  of  this  approach  is   being  able  to  reuse  the  components  the  second  and  third   time,  not  the  first  time.     u  Are  project  managers  &  functional  managers   compensated  based  on  how  much  reuse  they  are  able  to   employ  in  their  solutions?    
  • 23. Reuse ? u  Are  developers  rewarded  for  reusing   components  in  their  solution?     u  Has  a  central  body  taken  ownership  of   reusable  components  so  that  they  can  be   available  and  leveraged  by  other  groups?  
  • 24. Architecture needs support … u  To  gain  and  retain  skills,  we  need  three   things  :     1.  Acquire  the  skill,     2.  Be  exposed  to  the  skill  being  practiced     3.  Opportunities/motivation  to  practice  the  skill.   u  The  Arch  forum  should  provide  1)  and  2).     u  3)  should  come  from  Sr.Staff  and  the  rest  of   the  management  team.  
  • 27. References u  [1]  The  Art  of  Systems  Architecture  :  Mark  W.   Mainer  et  al   u  [2]  Design  &  Use  of  Software  Architectures  :   Jan  Bosch   u  [3]  The  Future  of  Ideas  :  Lawrence  Lessig