Use models in Agile development

Your team can create models to help define and implement user stories and tests by using Visual Studio Ultimate. A model is a view of a chosen aspect of your application, such as the sequence of interactions between components or the business activities of the users.

You team can develop models throughout the project when it must understand its user stories and its code more deeply. For example, a team might develop an activity diagram for a user story that has complex user interactions before estimating the task.

Explore existing code: Your team can generate diagrams that show the interactions and dependencies in the existing code to help understand its structure, discuss proposed changes, estimate the costs, and create tests to drive the development.

Updating existing applications

Understand users’ needs more clearly: Your team can use models to help answer important questions about user stories, either to prepare the user stories for a sprint or to clarify details when the user story is being developed.

Modeling user stories

Refactor code frequently without loss of structure: Your team can use layer models to define and validate the dependencies in its code. As your team refactors and extends the code, it can validate the layer diagrams to help prevent the code from becoming more difficult to change over time.

Stabilizing the application structure by using layer diagrams

Discuss and communicate about your code. Your team can use models to visualize and discuss the components, interactions, and design patterns in the code. If your team is geographically dispersed, it can use models in this manner is especially helpful.

Modeling your design

Generate code. Your team can respond very quickly and reliably to changes in user requirements by generating code from your models. If your team develops a line of similar products or relies on frequently used patterns, the benefits of generating code are especially powerful.

Generating code

See Also

Concepts

Using Models within the Development Process