Agile Modeling using the Architecture Tools in VS 2010


Published on

As presented at the Chicago VS ALM User Group, February 9th, 2011.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • MS ALM Gold Partner – one of only 5 in the USMS ALM “Inner Circle”
  • 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.
  • 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.
  • 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)
  • 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
  • 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
  • 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
  • How can agile methodologies help us out here?
  • 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.”
  • 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
  • The Visualization and Modeling Feature Pack is now part of VS 2010 Feature Pack 2.
  • How can agile methodologies help us out here?
  • Two-way movement between code and diagrams != round-tripping
  • ×