SlideShare a Scribd company logo
1 of 39
Agile Modeling with Visual Studio 2010 Ultimate (and Feature Pack 2) Gary Pedretti – Gary.Pedretti@Centare.com Logo, Design, and Company Information:© 2011 Centare Group, Ltd. Slide Show and Notes Content: Creative Commons License, Gary Pedretti Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. 2/11/2011 1
Centare Group, Ltd. 12th Year  Local, Focused, Software Consulting Firm ALM (MS Inner Circle Partner), Mobile and Cloud Solutions Apple (iOS), Microsoft and Open Source
Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflowusing the visualization and modeling features of Feature Pack 2
Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflow using the visualization and modeling features of Feature Pack 2
Unified Modeling Language - UML UML unifiedthe notations of: The Booch Method The Object-Modeling Technique (OMT) Object-Oriented Software Engineering (OOSE)  De facto industry standard, controlled by the Object Management Group (OMG)
UML Basics A system is represented by a model, which is separate from any diagrams that describe the model, and also includes textual artifacts like use cases Structural or static diagrams (class, deployment) Behavioral or dynamic diagrams (sequence, activity)
About the VS 2010 Diagrams The UML diagrams are UML 2.0 compliant Most are navigable – double-click on members to jump to code There is tight integration with TFS – associate use cases with Work Items, etc. There are facilities for reverse engineering and forward engineering – some built in, others via feature packs
VS 2010 UML Diagram Types Class – Shows classes and their relationships such as inheritance, aggregation, cardinality, etc.
VS 2010 UML Diagram Types Sequence – Shows the interaction of components, actors, systems, etc. over a period of time
VS 2010 UML Diagram Types Use Case – High level view of the interaction between use cases and various actors
VS 2010 UML Diagram Types Activity – The “flowchart” we know and love
VS 2010 UML Diagram Types Component – Shows classes, functionality, etc. broken down into units of deployment
Other VS 2010 Diagram Types Layer Diagram - includes validation, forcing developers to maintain only the dependencies the designer/architect desires
Other VS 2010 Diagram Types Directed Graph Document – Dependency Graphs in a very dynamic format
Caveats Create in VS 2010 Ultimate Edition only, but are also available as read-only in Premium Edition For C and C++ code: Only the Dependency Graphs and Architecture Explorer are supported “Architecture tools” is somewhat of a misnomer for the VS 2010 features (shortcomings of UML…) MS modeling story is still very fragmented Visio 2010 with VS 2010 has re-added reverse-engineering of code to UML diagrams Class Diagrams within a .NET project remain Oslo???
Demo – Visual Studio 2010 Architecture and UML Diagrams
Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflow using the visualization and modeling features of Feature Pack 2
Agile Development What do you think it means? What are some of the methodologies? What are some practices that often go hand-in-hand with agile methodologies?
Agile Modeling – What do I mean? Modeling that supports vertical slice, iterative, adaptive development Architecture and design that is just-in-time, right-sized, and allows for deferring the larger architectural decisions to the last responsible moment
Agile Manifesto vs. BDUF We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items onthe right, we value the items on the left more.
Modeling Problems - A Typical Chain of Events Some up-front design of the system Development begins Design or implementation of the design changes Architecture problems discovered and solved during development Changing requirements Original design documentation is not kept up-to-date Perceived value of design documentation – and eventually design, architecture, and architects themselves – erodes
Why Model at All? Improved productivity  Reduced technical risk Reduced development time Improved communication Scaling agile software development (provides the technical direction required by sub-teams to define and guide their efforts within the overall project) Improved team organization (Ambler http://www.agilemodeling.com/essays/initialArchitectureModeling.htm ) Reverse Engineering of Existing Systems – to help people wrap their heads around an undocumented, existing system Forward Engineering for New Systems – for communication of architecture and design Software is difficult to explain and detail to both developers and the uninitiated
Agile Modeling – AMDD – Scott Ambler Document Late. Write documentation as late as possible, avoiding speculative ideas that are likely to change in favor of stable information Executable Specifications. Specify requirements in the form of executable "customer tests", and your design as executable developer tests, instead of non-executable "static" documentation Iteration Modeling. At the beginning of each iteration you will do a bit of modeling as part of your iteration planning activities
Agile Modeling – Part 2 Just Barely Good Enough (JBGE) artifacts.  A model or document needs to be sufficient for the situation at hand and no more Model a bit Ahead. Sometimes requirements that are nearing the top of your priority stack are fairly complex, motivating you to invest some effort to explore them  Model Storming. Throughout an iteration you will model storm on a just-in-time (JIT) basis for a few minutes to explore the details behind a requirement or to think through a design issue Discard Temporary Models Update Only When It Hurts
Emergent Architecture – Scrum.org Architecture is a development task “Architects” are Scrum team members – “architects” Architecture emerges as real deliverables are created It is not valid until it is vetted out in a real system – this has always been true Build at least one piece of business functionality every sprint
Emergent Architecture – Part 2 “Just enough” documentation Architecture exists to serve the team, not the other way around
Emergent Architecture – Part 3 Build in flexibility to adapt to reasonable changes without building a “meta-product” DRY YAGNI TDD SoC IoC and DI SRP DDD
Modeling Problems – Video…
Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflow using the visualization and modeling features of Feature Pack 2
Modeling Problems - A Typical Chain of Events Some up-front design of the system Development begins Design or implementation of the design changes Architecture problems discovered and solved during development Changing requirements Original design documentation is not kept up-to-date Perceived value of design documentation – and eventually design, architecture, and architects themselves – erodes
The Holy Grail vs. Reality The Holy Grail in this situation is probably a full round-tripping system diagram to code code to diagram with differencing and merge resolution in between allowing for solutions to emerge from either side, and to always be kept in sync
The Holy Grail vs. Reality A reasonable reality, in the meantime, for forward engineering: Some design upfront – “Planned” diagrams Generate skeleton code from this design Development - actuals can be verified against the original design document, and changes in design or implementation should be justified by the developer Generate diagrams at the end of the cycle – “Actually Implemented” diagrams Actual vs. Planned diagrams can be excellent learning tools and/or post-mortem artifacts
Caveats You do not have any automatic merge between steps, you must manually difference and resolve.
“Pass the Baton” – A Live Example
Resources Agile, Agile Architecture, Agile Modeling www.Scrum.org www.AgileModeling.com VS 2010 Architecture Tools MSDN Library “Modeling the Application” http://msdn.microsoft.com/en-us/library/57b85fsc.aspx Cameron Skinner’s Bloghttp://blogs.msdn.com/b/camerons/ Other www.Centare.com www.GaryPedretti.com – my blog
Thank You!! Centare Group, Ltd. Gary.Pedretti@Centare.com

More Related Content

What's hot

Evolutionary Architecture And Design
Evolutionary Architecture And DesignEvolutionary Architecture And Design
Evolutionary Architecture And DesignNaresh Jain
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-daniellerouxIBM
 
Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationGraham Bleakley
 
Udaya gunasena resume 2014
Udaya gunasena resume 2014Udaya gunasena resume 2014
Udaya gunasena resume 2014Udayagunasena
 
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
 
Establishing and analyzing traceability between artifacts
Establishing and analyzing traceability between artifactsEstablishing and analyzing traceability between artifacts
Establishing and analyzing traceability between artifactsIBM Rational software
 
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)siouxhotornot
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsGabor Guta
 
Lecture 3: Navigating the Requirements Management application: Web client
Lecture 3: Navigating the Requirements Management application: Web clientLecture 3: Navigating the Requirements Management application: Web client
Lecture 3: Navigating the Requirements Management application: Web clientIBM Rational software
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsJose Emilio Labra Gayo
 
Managing requirements by using baselines
Managing requirements by using baselinesManaging requirements by using baselines
Managing requirements by using baselinesIBM Rational software
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)KelisKing
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptKunal Kishor Nirala
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownAvisi B.V.
 
Modules as requirement specifications
Modules as requirement specificationsModules as requirement specifications
Modules as requirement specificationsIBM Rational software
 

What's hot (19)

Evolutionary Architecture And Design
Evolutionary Architecture And DesignEvolutionary Architecture And Design
Evolutionary Architecture And Design
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
 
Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulation
 
Udaya gunasena resume 2014
Udaya gunasena resume 2014Udaya gunasena resume 2014
Udaya gunasena resume 2014
 
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
 
Establishing and analyzing traceability between artifacts
Establishing and analyzing traceability between artifactsEstablishing and analyzing traceability between artifacts
Establishing and analyzing traceability between artifacts
 
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
Lecture 3: Navigating the Requirements Management application: Web client
Lecture 3: Navigating the Requirements Management application: Web clientLecture 3: Navigating the Requirements Management application: Web client
Lecture 3: Navigating the Requirements Management application: Web client
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
 
Managing requirements by using baselines
Managing requirements by using baselinesManaging requirements by using baselines
Managing requirements by using baselines
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Course summary
Course summaryCourse summary
Course summary
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
 
Modules as requirement specifications
Modules as requirement specificationsModules as requirement specifications
Modules as requirement specifications
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Agile Dev. I
Agile Dev. IAgile Dev. I
Agile Dev. I
 

Viewers also liked

Ashley Barnard's Photography Pictures
Ashley Barnard's Photography PicturesAshley Barnard's Photography Pictures
Ashley Barnard's Photography Picturesashleybarnard
 
It健康
It健康It健康
It健康baidu
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut ArchitectureGary Pedretti
 
Pintores famosos
Pintores famososPintores famosos
Pintores famososale
 
TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???Gary Pedretti
 
The art of being a budget operator in Ukraine
The art of being a budget operator in UkraineThe art of being a budget operator in Ukraine
The art of being a budget operator in UkraineSergii Guliaiev
 
Territories, Not Hierarchies
Territories, Not HierarchiesTerritories, Not Hierarchies
Territories, Not HierarchiesGary Pedretti
 
งานคอม
งานคอมงานคอม
งานคอมkai11211
 
This IS Agile Development
This IS Agile DevelopmentThis IS Agile Development
This IS Agile DevelopmentGary Pedretti
 
Bringing whimsy to the design process
Bringing whimsy to the design processBringing whimsy to the design process
Bringing whimsy to the design processDeb Cox
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeGary Pedretti
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayGary Pedretti
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product DevelopmentGary Pedretti
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 

Viewers also liked (16)

Ashley Barnard's Photography Pictures
Ashley Barnard's Photography PicturesAshley Barnard's Photography Pictures
Ashley Barnard's Photography Pictures
 
It健康
It健康It健康
It健康
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut Architecture
 
Pintores famosos
Pintores famososPintores famosos
Pintores famosos
 
Presentation1
Presentation1Presentation1
Presentation1
 
TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???
 
The art of being a budget operator in Ukraine
The art of being a budget operator in UkraineThe art of being a budget operator in Ukraine
The art of being a budget operator in Ukraine
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
 
Territories, Not Hierarchies
Territories, Not HierarchiesTerritories, Not Hierarchies
Territories, Not Hierarchies
 
งานคอม
งานคอมงานคอม
งานคอม
 
This IS Agile Development
This IS Agile DevelopmentThis IS Agile Development
This IS Agile Development
 
Bringing whimsy to the design process
Bringing whimsy to the design processBringing whimsy to the design process
Bringing whimsy to the design process
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New Hope
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we Today
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 

Similar to Agile Modeling using the Architecture Tools in VS 2010

Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Spiffy
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference ArchitectureJohan Eltes
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfSakthivelPeriyasamy6
 
Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1vciampa
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)IIUI
 
Next Generation Component Management - Altium Designer
Next Generation Component Management - Altium DesignerNext Generation Component Management - Altium Designer
Next Generation Component Management - Altium DesignerAltium
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software ArchitectureJérôme Kehrli
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachBen Stopford
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 
Model Driven Applications Using Visual Studio Code Name Rosario
Model Driven Applications Using Visual Studio Code Name RosarioModel Driven Applications Using Visual Studio Code Name Rosario
Model Driven Applications Using Visual Studio Code Name RosarioClint Edmonson
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System AnalysisLaura Torres
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Struts & hibernate ppt
Struts & hibernate pptStruts & hibernate ppt
Struts & hibernate pptPankaj Patel
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 

Similar to Agile Modeling using the Architecture Tools in VS 2010 (20)

Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdf
 
Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
Chapter9
Chapter9Chapter9
Chapter9
 
Next Generation Component Management - Altium Designer
Next Generation Component Management - Altium DesignerNext Generation Component Management - Altium Designer
Next Generation Component Management - Altium Designer
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Chapter1
Chapter1Chapter1
Chapter1
 
Model Driven Applications Using Visual Studio Code Name Rosario
Model Driven Applications Using Visual Studio Code Name RosarioModel Driven Applications Using Visual Studio Code Name Rosario
Model Driven Applications Using Visual Studio Code Name Rosario
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software process model
Software process modelSoftware process model
Software process model
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Struts & hibernate ppt
Struts & hibernate pptStruts & hibernate ppt
Struts & hibernate ppt
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Incremental model
Incremental modelIncremental model
Incremental model
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Agile Modeling using the Architecture Tools in VS 2010

  • 1. Agile Modeling with Visual Studio 2010 Ultimate (and Feature Pack 2) Gary Pedretti – Gary.Pedretti@Centare.com Logo, Design, and Company Information:© 2011 Centare Group, Ltd. Slide Show and Notes Content: Creative Commons License, Gary Pedretti Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. 2/11/2011 1
  • 2. Centare Group, Ltd. 12th Year Local, Focused, Software Consulting Firm ALM (MS Inner Circle Partner), Mobile and Cloud Solutions Apple (iOS), Microsoft and Open Source
  • 3. Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflowusing the visualization and modeling features of Feature Pack 2
  • 4. Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflow using the visualization and modeling features of Feature Pack 2
  • 5. Unified Modeling Language - UML UML unifiedthe notations of: The Booch Method The Object-Modeling Technique (OMT) Object-Oriented Software Engineering (OOSE) De facto industry standard, controlled by the Object Management Group (OMG)
  • 6. UML Basics A system is represented by a model, which is separate from any diagrams that describe the model, and also includes textual artifacts like use cases Structural or static diagrams (class, deployment) Behavioral or dynamic diagrams (sequence, activity)
  • 7. About the VS 2010 Diagrams The UML diagrams are UML 2.0 compliant Most are navigable – double-click on members to jump to code There is tight integration with TFS – associate use cases with Work Items, etc. There are facilities for reverse engineering and forward engineering – some built in, others via feature packs
  • 8. VS 2010 UML Diagram Types Class – Shows classes and their relationships such as inheritance, aggregation, cardinality, etc.
  • 9. VS 2010 UML Diagram Types Sequence – Shows the interaction of components, actors, systems, etc. over a period of time
  • 10. VS 2010 UML Diagram Types Use Case – High level view of the interaction between use cases and various actors
  • 11. VS 2010 UML Diagram Types Activity – The “flowchart” we know and love
  • 12. VS 2010 UML Diagram Types Component – Shows classes, functionality, etc. broken down into units of deployment
  • 13. Other VS 2010 Diagram Types Layer Diagram - includes validation, forcing developers to maintain only the dependencies the designer/architect desires
  • 14. Other VS 2010 Diagram Types Directed Graph Document – Dependency Graphs in a very dynamic format
  • 15. Caveats Create in VS 2010 Ultimate Edition only, but are also available as read-only in Premium Edition For C and C++ code: Only the Dependency Graphs and Architecture Explorer are supported “Architecture tools” is somewhat of a misnomer for the VS 2010 features (shortcomings of UML…) MS modeling story is still very fragmented Visio 2010 with VS 2010 has re-added reverse-engineering of code to UML diagrams Class Diagrams within a .NET project remain Oslo???
  • 16. Demo – Visual Studio 2010 Architecture and UML Diagrams
  • 17. Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflow using the visualization and modeling features of Feature Pack 2
  • 18. Agile Development What do you think it means? What are some of the methodologies? What are some practices that often go hand-in-hand with agile methodologies?
  • 19. Agile Modeling – What do I mean? Modeling that supports vertical slice, iterative, adaptive development Architecture and design that is just-in-time, right-sized, and allows for deferring the larger architectural decisions to the last responsible moment
  • 20. Agile Manifesto vs. BDUF We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items onthe right, we value the items on the left more.
  • 21. Modeling Problems - A Typical Chain of Events Some up-front design of the system Development begins Design or implementation of the design changes Architecture problems discovered and solved during development Changing requirements Original design documentation is not kept up-to-date Perceived value of design documentation – and eventually design, architecture, and architects themselves – erodes
  • 22. Why Model at All? Improved productivity  Reduced technical risk Reduced development time Improved communication Scaling agile software development (provides the technical direction required by sub-teams to define and guide their efforts within the overall project) Improved team organization (Ambler http://www.agilemodeling.com/essays/initialArchitectureModeling.htm ) Reverse Engineering of Existing Systems – to help people wrap their heads around an undocumented, existing system Forward Engineering for New Systems – for communication of architecture and design Software is difficult to explain and detail to both developers and the uninitiated
  • 23.
  • 24. Agile Modeling – AMDD – Scott Ambler Document Late. Write documentation as late as possible, avoiding speculative ideas that are likely to change in favor of stable information Executable Specifications. Specify requirements in the form of executable "customer tests", and your design as executable developer tests, instead of non-executable "static" documentation Iteration Modeling. At the beginning of each iteration you will do a bit of modeling as part of your iteration planning activities
  • 25. Agile Modeling – Part 2 Just Barely Good Enough (JBGE) artifacts.  A model or document needs to be sufficient for the situation at hand and no more Model a bit Ahead. Sometimes requirements that are nearing the top of your priority stack are fairly complex, motivating you to invest some effort to explore them Model Storming. Throughout an iteration you will model storm on a just-in-time (JIT) basis for a few minutes to explore the details behind a requirement or to think through a design issue Discard Temporary Models Update Only When It Hurts
  • 26. Emergent Architecture – Scrum.org Architecture is a development task “Architects” are Scrum team members – “architects” Architecture emerges as real deliverables are created It is not valid until it is vetted out in a real system – this has always been true Build at least one piece of business functionality every sprint
  • 27. Emergent Architecture – Part 2 “Just enough” documentation Architecture exists to serve the team, not the other way around
  • 28. Emergent Architecture – Part 3 Build in flexibility to adapt to reasonable changes without building a “meta-product” DRY YAGNI TDD SoC IoC and DI SRP DDD
  • 30. Today’s Presentation UML and UML Modeling with VS 2010 Ultimate Agile Development and Agile Modeling An Agile Development Workflow using the visualization and modeling features of Feature Pack 2
  • 31. Modeling Problems - A Typical Chain of Events Some up-front design of the system Development begins Design or implementation of the design changes Architecture problems discovered and solved during development Changing requirements Original design documentation is not kept up-to-date Perceived value of design documentation – and eventually design, architecture, and architects themselves – erodes
  • 32. The Holy Grail vs. Reality The Holy Grail in this situation is probably a full round-tripping system diagram to code code to diagram with differencing and merge resolution in between allowing for solutions to emerge from either side, and to always be kept in sync
  • 33. The Holy Grail vs. Reality A reasonable reality, in the meantime, for forward engineering: Some design upfront – “Planned” diagrams Generate skeleton code from this design Development - actuals can be verified against the original design document, and changes in design or implementation should be justified by the developer Generate diagrams at the end of the cycle – “Actually Implemented” diagrams Actual vs. Planned diagrams can be excellent learning tools and/or post-mortem artifacts
  • 34.
  • 35. Caveats You do not have any automatic merge between steps, you must manually difference and resolve.
  • 36. “Pass the Baton” – A Live Example
  • 37.
  • 38. Resources Agile, Agile Architecture, Agile Modeling www.Scrum.org www.AgileModeling.com VS 2010 Architecture Tools MSDN Library “Modeling the Application” http://msdn.microsoft.com/en-us/library/57b85fsc.aspx Cameron Skinner’s Bloghttp://blogs.msdn.com/b/camerons/ Other www.Centare.com www.GaryPedretti.com – my blog
  • 39. Thank You!! Centare Group, Ltd. Gary.Pedretti@Centare.com

Editor's Notes

  1. MS ALM Gold Partner – one of only 5 in the USMS ALM “Inner Circle”
  2. We will start with a quick discussion of the history of UML, agile development, and modeling tools in the Microsoft world. Then we will cover the basics of UML modeling with VS 2010, covering class, layer, dependency graph, and sequence diagrams. Finally, we will talk about establishing an agile modeling and development workflow with forward and reverse engineering using the visualization and modeling features of Feature Pack 2.
  3. Unified ideas and symbols of “The three amigos”Defacto standard controlled by the OMG organization – a consortium of companies such as MS, HP, Sparx, etc.
  4. A system is represented by a model, which is separate from any diagrams that describe the model, and also includes textual artifacts like use casesStructural or static diagrams (class, deployment)Behavioral or dynamic diagrams (sequence, activity)
  5. Solution Introduction and LayeringArchitecture Explorer – drill down, filteringUML Model Explorer – Use Case Diagrams – links to work items, navigable artifactsComponent DiagramActivity DiagramSequence Diagram – reverse engineer Invoice Service GetInvoiceForDisplay, navigableClass Diagram – navigableDependency Diagram – show drill downs and how context-appropriate dependencies are shownLayer Diagram – drag and drop, generate dependencies, demonstrate build validation, show color-coded final
  6. I’m not going to try to cover all of what “agile” might mean.Not only acknowledgingthat change happens, but embracing changeEncourages communication in a tight feedback loop with the business – fail early, build trust, establish a common language- Build what is important for right now, in short iterations, and respond to changes in the business and market at the end of every iterationXP, Scrum, Lean ManufacturingContinuous Integration, TDD, YAGNI, DDD
  7. Very aware of what the real value of documentation is, and what we are trying to achieve with documentation – the ability to understand how we will build a system, and the ability to understand the system after entering the maintenance phase
  8. How can agile methodologies help us out here?
  9. OK, before we even got to the point where we realized there were problems with the cycle, why did we even start modeling in the first place???How about “a picture is worth a thousand words.”
  10. How is this like software development?There was a design, a modelThe vision was NOT shared between Nigel and the developer“I only did what you told me to do”Let’s minimize the problem with a workaround – “keep the dwarf clear from the monument so he doesn’t trod upon it”What went wrong from an agile perspective?No communication, feedback, or iterating with the product owners or stakeholders during development – “dropped a bomb” on the band on opening nightWhat can we learn from this?Modeling and diagrams are important, and can be interpreted literally – they are valuable and carry risk – inches vs. feetKeep communication open, iterate, be transparent
  11. The Visualization and Modeling Feature Pack is now part of VS 2010 Feature Pack 2.
  12. How can agile methodologies help us out here?
  13. Two-way movement between code and diagrams != round-tripping