Key Design Scenarios with Visual Studio Team System and Team Foundation Server

First I want to start out with some observations:

  1. The Business expects IT to provide a technology advantage with the right capabilities at the right price at the right time
  2. A business strategy alone is not sufficient for IT planning
    1. Business rarely asks for IT infrastructure capabilities
      1. Every business capability is highly dependant on the IT infrastructure
  3. It is difficult to make a business case without a strategy except when there is obvious pain

 

Given that state of things most solutions are reactive and the solutions that are delivered are often tightly coupled with a business process so other processes that require similar functionality will either have to copy/paste code or build it themselves--either way it's a losing battle; we are shooting ourselves in the foot by driving up maintenance costs and reducing ROI. Then when something goes wrong we act--the entire notion of reactive maintenance and augmentation is an issue itself and this is where architecture planning and the new visualization tools of VSTS come into play.

 

A few of the key concepts to architecture planning revolve around clarity of business needs and IT objectives. However, more importantly IT needs to anticipate business needs to meet expectations (right solution, for the right price, at the right time). To do this we must understand our objectives and best practices to help us choose the right approach (direction and design patterns).

 

To understand and anticipate business needs we need to identify what capabilities the business might need for various aspects of conducting their business. Next we need to answer several key questions about those needs:

 

  • For each capability what will change over time?
    • Who
    • Where
    • What
    • When
    • How

 

Once we understand what the business needs, we can create an IT roadmap for those needs, identifying success factors, objectives, and design principles.

 

In the future I will publish a series of posts around the following key design scenarios:

  • Contract-first design
  • Scenario-driven design
  • Business process-driven design
  • Framework design
  • System, application, resource reuse
  • Requirements Traceability
  • Design patterns, guidance, prescriptive architecture
  • Cross-lifecycle and Team Collaboration