peter provost sr. program manager microsoft corporation tl15
Post on 28-Mar-2015
222 Views
Preview:
TRANSCRIPT
Architecture Without Big Design Up Front
Peter ProvostSr. Program ManagerMicrosoft Corporation
TL15
How many times have you walked into a legacy codebase and had no idea what was there? All systems have an architecture,
whether you plan it or not Most systems today have evolved
into Big Ball of Mud architectures Understanding and discovering what
is there is a serious challenge today
Ending with a system you want and can maintain is more important than defining the right thing before you start
Introduction
Everyone has existing code bases Key architectural elements
are undocumented Maintenance is hard, changes are expensive
What can we do?
Let’s begin by discovering what we have using Architecture Explorer…
Architectural Discovery
Architectural DiscoveryThe Big Picture
demo
Architectural Discovery
Digging Deeper
demo
Architectural Discovery
demo
Key dependencies
Architectural anti-patterns The “death star” dependency diagram Important layering and dependency
management issues
Now let’s look at one of those key components in greater detail…
Results And Next Steps
Reverse EngineeringSequence Diagrams
demo
Reverse EngineeringClass Diagrams
demo
Results And Next Steps
So far we have discovered… Namespace issues A few key classes may be overly complex Better understanding how to add our change
Create new models to describe the architecture we want at a high level Layer Diagram with Validation Component Diagrams Class Diagrams Activity Diagrams
Communicating With ModelsProject System and Version Control
demo
Communicating With ModelsUsing Team Foundation Server
demo
Results And Next Steps
Continue to use models as appropriate to communicate the work that needs to be done Class Diagrams Component Diagrams Activity Diagrams Use Case Diagrams
Check them into version control and associate them with work items
How Does This Relate To Agile?
For agile teams, Architecture is a way to organize and communicate about work and not to define the work
All agile teams use models. They just don’t often do a lot of modeling up front
Agile teams will create models on the fly as needed to describe, design and define a candidate design for a user story or task
In today’s globally disbursed environments, whiteboards won’t always suffice. We need to share in a way that can cross geographies and time zones
Conclusions
Every system has an architecture, the trick is figuring out what you have and what you want to do
Communicating effectively with your entire team is paramount
Architectural modeling and discovery tooling is useful regardless of development methodology
Session Title Speaker Day Time Location
TL47 Visual Studio Team System: A Lap Around VSTS 2010
Cameron Skinner 10/27 11:00 AM – 12:15PM Room 153
TL52 Team Foundation Server 2010: Cool New Features Brian Harry 10/27 03:30 PM – 04:45 PM Room 151
TL03 Microsoft Visual Studio Team System: Software Diagnostics and Quality for Services
Habib Heydarian; Justin Marks
10/27 03:30 PM – 04:45 PM Room 515A
TL09 Agile Development with Microsoft Visual Studio Lori Lamkin; Sunder Raman
10/27 05:15 PM – 06:30 PM Room 502A
TL45 Microsoft Visual Studio Team System Database Edition: Overview
Gert Drapers 10/27 05:15 PM – 06:30 PM Room 501B
TL59 Visual Studio Debugger Tips & Tricks John Cunningham 10/28 12:45PM – 01:30 PM Room 409A
TL37 Microsoft Visual Studio Team System: Leveraging Virtualization to Improve Code Quality with Team Lab
Ram Cherala 10/29 12:00 PM – 12:45 PM Room 408B
TL61 Panel: The Future of Unit Testing Euan Garden, Jim Newkirk, Peter Provost, Nikolai Tillmann
10/29 12:00 PM – 12:45 PM Room 406A
TL60 Improving Code Quality with Code Analysis Ravs Kaur 10/29 12:00 PM – 12:45 PM Room 409A
TL24 Improving .NET Application Performance and Scalability
Steve Carroll;Ed Glas
10/29 01:15 PM – 02:30 PM Room 153
TL15 Architecture without Big Design Up Front Peter Provost 10/29 04:45 PM – 06:00 PM Room 403
TL04 Microsoft Visual Studio Team System Team Foundation Server: How We Use It at Microsoft
Stephanie Saad 10/30 08:30 AM : 9:45AM Room 151
TL51 Research: Contract Checking and Automated Test Generation with Pex
Mike BarnettNikolai Tillmann
10/30 08:30 AM : 9:45AM Room 403
Related Sessions
VSTS 2010 Hands On Labs
HOL Code Title
TLHOL07 VSTS 2010: Project Planning, Management, and Design
TLHOL08 VSTS 2010: Architecture Tools
TLHOL09 VSTS 2010: Team Foundation Server
TLHOL10 VSTS 2010: Software Quality
TLHOL11 VSTS 2010: Diagnostics and Performance
Questions?
Evals & Recordings
Please fill
out your
evaluation for
this session at:
This session will be available as a recording at:
www.microsoftpdc.com
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
top related