Reviewing Existing Architecture and Design
You can use Visual Studio Premium or Visual Studio Ultimate to review the architecture and design of your application before you begin any coding tasks.
For some tasks, you might use code that was generated by the tools as a starting point for your work. For other tasks, you might review the database architecture so that you understand the structure of the data that you can access.
If you have existing test assets, such as test plans, test cases, or bug histories, you might also want to review them before you begin your work.
In the following table, you can find descriptions of common tasks that support this scenario and links to more information about how you can successfully complete those tasks.
Understand the existing software and design specifications: Before you make changes to an existing application, you should understand its architecture, design, configuration, and user requirements.
You can view existing architecture diagrams in Visual Studio Premium, but you must have Visual Studio Ultimate to create or modify architecture diagrams.
Understand existing database schemas: If your application uses one or more databases, you might also want to understand the design of those databases. By understanding the objects and settings in the databases, you can better understand where changes might need to be made to support a particular feature or to fix a code defect.
Review initial test planning: You might also want to review any existing or initial test plans for the changes that you intend to make. By understanding the planned tests, you might better identify potential design issues or edge cases that you will have to address in your code.
Identify possible design or performance issues in your existing code: Before you begin modifying your application, you might want to identify potential issues in the existing code. You might conduct a detailed code review, run code analysis to identify common design problems, or review historical trends in your work item tracking database to identify patterns.