SlideShare a Scribd company logo
Architectural Runway

Dmitriy Viktorov
AgileDays’10, St.Petersburg, September 17th 2010



Protecting the irreplaceable | f-secure.com
2
3
4   © F-Secure Confidential
5   © F-Secure Confidential
6   © F-Secure Confidential
7            © F-Secure Confidential
    21 September,
Principles of Agile Architecture
1. The teams that code the system design the system
2. Build the simplest architecture that can possibly work
3. When in doubt, code it out
4. They build it, they test it
5. The bigger the system, the longer the runway
6. System architecture is a role collaboration
7. There is no monopoly on innovation
8. Implement architectural flow




8
9
* Source : Scaling Software Agility by Dean Leffingwell
                         Copyright © 2009 Leffingwell, LLC.




10
Architecture is role collaboration




                         Architectural
                            inputs,
                             ideas,
                          constraints

                   Architectural Evolution


11
Building Architecture Runway




Theme 1                  Solution Epics

                  Epic      Epic          Epic        Architecture features, in which the
                   1         2             5          Solution features depends on.
 A
 r
 c
         Epic 3
 h                                                    Solution features without
     E
 i                                                    dependency on arch feature.
     p
 t
     i
 e       Epic 4                                       Architecture features without
     c
 c                                                    dependency from solution features.
     s
 t
 u                                                                                Solution feature
 r       Epic 6
                                                                                    Arch feature
 e
                                                 Note : No time dimension is illustrated in this picture.



12
Building Architecture Runway




                                    3. Update



        1. Determine initial component-based
        architecture that will influence the eventual
        formation of the application teams.
                                                                      Architects /
                                                                      Technical
                                                 iterate              leaders

                               If uncertainty
                               high & risky


                                                           Feedback
                        2. Prototyping (Optional)




13
Extending Architecture Runway




                                    3. Update
                                                           Spikes that
                                                           cannot resolved
                                                                                        “program” spikes
       1. Identify story : design spikes, refactoring      within a team
                                                                                          into iteration
          required, evaluations & dependencies.
       2. Determine what features the system                                                               iterate
          may require in upcoming release plan
          that are not presently supported by
          architecture.
                                                                         Architects /
                                                                         Technical
                                                 iterate                 leaders




14
State Machine for Architectural Epic Kanban Model
                                                                2
     Portfolio            Disruptive                         Backlog
     Roadmap             technology




 Technology
  Roadmap                                criteria met,                             not ready
                                           slot avail.
                                                                                                              further
                                                                        value/effort>X,               3       review
                         1                               rejected          slot avail.
                       Funnel                                                                      Analysis
                                                                Trash

                                                                             rejected


                                                         rejected


                                                               4              business case
                                                                              approved &
                                                         Implementation       resource available
            Solution            Common
            problem            usage model




15
One of the more insidious and persistent myths of agile development
     is that up-front architecture and design are bad; that you should never
     spend time up front making architectural decisions. That instead you
     should evolve your architecture and design from nothing, one test-
     case at a time.

     Pardon me, but that’s Horse Shit.

     (...)

     Don’t feel that TDD is the only way to design. On the other hand,
     don’t let yourself get too vested in your designs. Allow TDD to change
     your plans if it leads you in a different direction.

     Robert C. Martin, ObjectMentor blog, „The Scatalogy of Agile
     Architecture”, 25.04.2009


17
Thank You!
Questions ?




18

More Related Content

What's hot

Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...
Alan McSweeney
 
Stepping-stones of enterprise-architecture: Process and practice in the real...
Stepping-stones of enterprise-architecture: Process and practice in the real...Stepping-stones of enterprise-architecture: Process and practice in the real...
Stepping-stones of enterprise-architecture: Process and practice in the real...
Tetradian Consulting
 
Enterprise Architecture, Project Management & Digital Transformation
Enterprise Architecture, Project Management & Digital TransformationEnterprise Architecture, Project Management & Digital Transformation
Enterprise Architecture, Project Management & Digital Transformation
Riaz A. Khan, OpenCA, TOGAF
 
Introduction to SAFe, the Scaled Agile Framework
Introduction to SAFe, the Scaled Agile FrameworkIntroduction to SAFe, the Scaled Agile Framework
Introduction to SAFe, the Scaled Agile Framework
srondal
 
Future Proofing Your IT Operating Model for Digital
Future Proofing Your IT Operating Model for DigitalFuture Proofing Your IT Operating Model for Digital
Future Proofing Your IT Operating Model for Digital
David Favelle
 
Tool Kit: Business Analysis product (artefact) checklist
Tool Kit: Business Analysis product (artefact) checklistTool Kit: Business Analysis product (artefact) checklist
Tool Kit: Business Analysis product (artefact) checklist
designer DATA
 
Creating Enterprise Value from Business Architecture
Creating Enterprise Value from Business ArchitectureCreating Enterprise Value from Business Architecture
Creating Enterprise Value from Business Architecture
iasaglobal
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile framework
Srinath Ramakrishnan
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
Iver Band
 
Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)
Andreano Lanusse
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise Architecture
Vikas Grover
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
Mikalai Alimenkou
 
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairatEA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
Software Park Thailand
 
Value analysis with Value Stream and Capability modeling
Value analysis with Value Stream and Capability modelingValue analysis with Value Stream and Capability modeling
Value analysis with Value Stream and Capability modeling
COMPETENSIS
 
Introduction to business architecture
Introduction to business architectureIntroduction to business architecture
Introduction to business architecture
Aniekan Okono
 
How to establish Enterprise Architecture in large organisations using TOGAF
How to establish Enterprise Architecture in large organisations using TOGAFHow to establish Enterprise Architecture in large organisations using TOGAF
How to establish Enterprise Architecture in large organisations using TOGAF
Nemanja Kostic
 
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Chandrashekhar More
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Kamuran Koçak
 
LKCE14 Kanban at Scale, Scaling Kanban
LKCE14 Kanban at Scale, Scaling KanbanLKCE14 Kanban at Scale, Scaling Kanban
LKCE14 Kanban at Scale, Scaling Kanban
Klaus Leopold
 
Agile Placemat v9
Agile Placemat v9Agile Placemat v9
Agile Placemat v9Chris Webb
 

What's hot (20)

Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...
 
Stepping-stones of enterprise-architecture: Process and practice in the real...
Stepping-stones of enterprise-architecture: Process and practice in the real...Stepping-stones of enterprise-architecture: Process and practice in the real...
Stepping-stones of enterprise-architecture: Process and practice in the real...
 
Enterprise Architecture, Project Management & Digital Transformation
Enterprise Architecture, Project Management & Digital TransformationEnterprise Architecture, Project Management & Digital Transformation
Enterprise Architecture, Project Management & Digital Transformation
 
Introduction to SAFe, the Scaled Agile Framework
Introduction to SAFe, the Scaled Agile FrameworkIntroduction to SAFe, the Scaled Agile Framework
Introduction to SAFe, the Scaled Agile Framework
 
Future Proofing Your IT Operating Model for Digital
Future Proofing Your IT Operating Model for DigitalFuture Proofing Your IT Operating Model for Digital
Future Proofing Your IT Operating Model for Digital
 
Tool Kit: Business Analysis product (artefact) checklist
Tool Kit: Business Analysis product (artefact) checklistTool Kit: Business Analysis product (artefact) checklist
Tool Kit: Business Analysis product (artefact) checklist
 
Creating Enterprise Value from Business Architecture
Creating Enterprise Value from Business ArchitectureCreating Enterprise Value from Business Architecture
Creating Enterprise Value from Business Architecture
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile framework
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
 
Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise Architecture
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
 
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairatEA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
 
Value analysis with Value Stream and Capability modeling
Value analysis with Value Stream and Capability modelingValue analysis with Value Stream and Capability modeling
Value analysis with Value Stream and Capability modeling
 
Introduction to business architecture
Introduction to business architectureIntroduction to business architecture
Introduction to business architecture
 
How to establish Enterprise Architecture in large organisations using TOGAF
How to establish Enterprise Architecture in large organisations using TOGAFHow to establish Enterprise Architecture in large organisations using TOGAF
How to establish Enterprise Architecture in large organisations using TOGAF
 
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
LKCE14 Kanban at Scale, Scaling Kanban
LKCE14 Kanban at Scale, Scaling KanbanLKCE14 Kanban at Scale, Scaling Kanban
LKCE14 Kanban at Scale, Scaling Kanban
 
Agile Placemat v9
Agile Placemat v9Agile Placemat v9
Agile Placemat v9
 

Similar to Architectural runway

Engineered Resilient Systems, overview and status, 31 october 2011
Engineered Resilient Systems, overview and status, 31 october 2011Engineered Resilient Systems, overview and status, 31 october 2011
Engineered Resilient Systems, overview and status, 31 october 2011RNeches
 
Flow of PCB Designing in the manufacturing process
Flow of PCB Designing in the manufacturing processFlow of PCB Designing in the manufacturing process
Flow of PCB Designing in the manufacturing process
Sharan kumar
 
Framework Engineering_Final
Framework Engineering_FinalFramework Engineering_Final
Framework Engineering_FinalYoungSu Son
 
Architecture solution architecture method
Architecture solution architecture methodArchitecture solution architecture method
Architecture solution architecture method
Chris Eaton
 
chaos-engineering-Knolx
chaos-engineering-Knolxchaos-engineering-Knolx
chaos-engineering-Knolx
Knoldus Inc.
 
Correlation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modelingCorrelation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modeling
Salvatore Scalera
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Feed report
Feed report Feed report
Feed report jadamsm
 
Towards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature TeamsTowards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature TeamsDmitriyViktorov
 
AOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java PlatformAOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java Platform
Peter Pilgrim
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinsonNASAPMC
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinsonNASAPMC
 
Reality checking agile's architectural inner workings
Reality checking agile's architectural inner workingsReality checking agile's architectural inner workings
Reality checking agile's architectural inner workings
Cognizant
 
Avoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSWAvoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSW
Karen McGrane
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
Rajesh Kumar
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
Rajesh Kumar
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseIvica Crnkovic
 
The Design Process - FRC
The Design Process - FRCThe Design Process - FRC
The Design Process - FRC
Christopher Bearden
 

Similar to Architectural runway (20)

Engineered Resilient Systems, overview and status, 31 october 2011
Engineered Resilient Systems, overview and status, 31 october 2011Engineered Resilient Systems, overview and status, 31 october 2011
Engineered Resilient Systems, overview and status, 31 october 2011
 
Intsoc2
Intsoc2Intsoc2
Intsoc2
 
Flow of PCB Designing in the manufacturing process
Flow of PCB Designing in the manufacturing processFlow of PCB Designing in the manufacturing process
Flow of PCB Designing in the manufacturing process
 
Framework Engineering_Final
Framework Engineering_FinalFramework Engineering_Final
Framework Engineering_Final
 
Architecture solution architecture method
Architecture solution architecture methodArchitecture solution architecture method
Architecture solution architecture method
 
chaos-engineering-Knolx
chaos-engineering-Knolxchaos-engineering-Knolx
chaos-engineering-Knolx
 
Correlation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modelingCorrelation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modeling
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Feed report
Feed report Feed report
Feed report
 
Towards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature TeamsTowards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature Teams
 
AOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java PlatformAOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java Platform
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinson
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinson
 
Beyond manifestos
Beyond manifestosBeyond manifestos
Beyond manifestos
 
Reality checking agile's architectural inner workings
Reality checking agile's architectural inner workingsReality checking agile's architectural inner workings
Reality checking agile's architectural inner workings
 
Avoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSWAvoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSW
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuse
 
The Design Process - FRC
The Design Process - FRCThe Design Process - FRC
The Design Process - FRC
 

Architectural runway

  • 1. Architectural Runway Dmitriy Viktorov AgileDays’10, St.Petersburg, September 17th 2010 Protecting the irreplaceable | f-secure.com
  • 2. 2
  • 3. 3
  • 4. 4 © F-Secure Confidential
  • 5. 5 © F-Secure Confidential
  • 6. 6 © F-Secure Confidential
  • 7. 7 © F-Secure Confidential 21 September,
  • 8. Principles of Agile Architecture 1. The teams that code the system design the system 2. Build the simplest architecture that can possibly work 3. When in doubt, code it out 4. They build it, they test it 5. The bigger the system, the longer the runway 6. System architecture is a role collaboration 7. There is no monopoly on innovation 8. Implement architectural flow 8
  • 9. 9
  • 10. * Source : Scaling Software Agility by Dean Leffingwell Copyright © 2009 Leffingwell, LLC. 10
  • 11. Architecture is role collaboration Architectural inputs, ideas, constraints Architectural Evolution 11
  • 12. Building Architecture Runway Theme 1 Solution Epics Epic Epic Epic Architecture features, in which the 1 2 5 Solution features depends on. A r c Epic 3 h Solution features without E i dependency on arch feature. p t i e Epic 4 Architecture features without c c dependency from solution features. s t u Solution feature r Epic 6 Arch feature e Note : No time dimension is illustrated in this picture. 12
  • 13. Building Architecture Runway 3. Update 1. Determine initial component-based architecture that will influence the eventual formation of the application teams. Architects / Technical iterate leaders If uncertainty high & risky Feedback 2. Prototyping (Optional) 13
  • 14. Extending Architecture Runway 3. Update Spikes that cannot resolved “program” spikes 1. Identify story : design spikes, refactoring within a team into iteration required, evaluations & dependencies. 2. Determine what features the system iterate may require in upcoming release plan that are not presently supported by architecture. Architects / Technical iterate leaders 14
  • 15. State Machine for Architectural Epic Kanban Model 2 Portfolio Disruptive Backlog Roadmap technology Technology Roadmap criteria met, not ready slot avail. further value/effort>X, 3 review 1 rejected slot avail. Funnel Analysis Trash rejected rejected 4 business case approved & Implementation resource available Solution Common problem usage model 15
  • 16. One of the more insidious and persistent myths of agile development is that up-front architecture and design are bad; that you should never spend time up front making architectural decisions. That instead you should evolve your architecture and design from nothing, one test- case at a time. Pardon me, but that’s Horse Shit. (...) Don’t feel that TDD is the only way to design. On the other hand, don’t let yourself get too vested in your designs. Allow TDD to change your plans if it leads you in a different direction. Robert C. Martin, ObjectMentor blog, „The Scatalogy of Agile Architecture”, 25.04.2009 17