Overview |  | Roles |  | Work Items |  | Views |  | Index |  | Glossary |

Project Portal
| ### Next Steps Write Code for a Development Task Code Fix for a Bug |
| Activity: Determine Interfaces
Architect
|  |  |  | Create Solution Architecture |  |
|  | Participating Roles Responsible: Architect Consult: Developer
### Overview Systems can be developed in parallel when interfaces are determined and before development begins. Often insufficient detail exists at the beginning of an iteration to understand all of the necessary components of an interface. Therefore, defer the development of interfaces until absolutely necessary. Even after interfaces are defined change occurs in the project. Determining the interfaces helps with the integration of systems as well as with the changes from implementing development tasks. The highest level and external interfaces for the system are reflected in the application diagrams. # Entry Criteria Dependencies: The application diagram reflects the applications, connections, and endpoints for the current set of scenarios and quality of service requirements. # Sub-Activities
1 | Design the Interface | Determine the interface flow for the scenario or quality of service requirement. Look at the requirements for interfacing with external systems. Identify the protocol for each information flow. Some interfaces require more that just a single call. Instead, packets flow through the interfaces in the form of a protocol. Understanding this protocol is important to synchronizing the communication between the systems.
2 | Define Web Service Interfaces | Choose the endpoint of a Web service in the application diagram. Define the operation and provide the operation information such as name, return type, and parameters. Make sure the properties reflect the correct language and destination. Generate the stub of the code for the new Web service. Save the application diagram and check it into version control.
3 | Create Class Interfaces | Work with the developers to define methods in the classes that provide interfaces between developers. Utilize the class diagram to check consistency of the classes and the new methods. Work with developers to help facilitate the integration of development tasks. Check that all assumptions on the integration are understood. Order development tasks to facilitate building one on another to make integration more seamless.
# Exit Criteria
| The interface definitions have sufficient detail for developers to proceed with design and implementation.
(C) 2005 Microsoft Corporation. All rights reserved. Build 97 |