microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · web viewaddressing the...

30
Managing Requirements Authoring for Complex Application Development Using the Microsoft Office System Technical Discussion Guide

Upload: others

Post on 21-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development Using the Microsoft Office SystemTechnical Discussion Guide

Page 2: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 2

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred.

© 2006 Microsoft Corporation. All rights reserved.

Microsoft, Windows, BizTalk, Excel, InfoPath, Outlook, SharePoint, Visio, Visual Studio, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

All other trademarks are property of their respective owners.

Page 3: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 3

1 Executive Summary..................................................................................................................... 4Purpose of This Guide................................................................................................................. 4

2 Business Challenges and Solutions.............................................................................................5Business Challenges................................................................................................................... 5Addressing the Challenges.........................................................................................................6A Requirements Authoring Solution Using the Microsoft Office System......................................6Benefits....................................................................................................................................... 8

3 Architectural Overview................................................................................................................. 9Sample Solution Architecture......................................................................................................9Using a Requirements Authoring Solution.................................................................................11

Adding and Editing Requirements.........................................................................................11Establishing Requirement Dependencies..............................................................................14Reusing Requirement Content..............................................................................................14Synchronizing Requirements with Team Foundation Server.................................................15Sending Outlook Task Requests...........................................................................................16

4 Infrastructure Considerations.....................................................................................................17Software Considerations...........................................................................................................17Deployment Considerations for Microsoft Visual Studio 2005 Team Foundation Server..........18Scalability and Reliability...........................................................................................................18Windows SharePoint Services Capacity Guidelines..................................................................19

Throughput Limits.................................................................................................................. 19Scale Limits........................................................................................................................... 19

Office 2003 Primary Interoperability Assembly Installation........................................................20Security Considerations............................................................................................................20

5 Next Steps................................................................................................................................. 21Resource and Skill Considerations...........................................................................................21

Business Analyst...................................................................................................................21Project Manager....................................................................................................................21Developer.............................................................................................................................. 22Network Administrator...........................................................................................................22

Potential Partner Solutions........................................................................................................22Solution Showcase for the Microsoft Office System..................................................................23

6 Appendix.................................................................................................................................... 24General References..................................................................................................................24Developer Resources................................................................................................................24Product Training........................................................................................................................25Security Information.................................................................................................................. 25

Page 4: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 4

1 Executive SummaryThe success of software development projects is often determined by whether requirements for usability, performance, and business objectives are thoroughly gathered and clearly expressed—both in the planning stages of a project and when requirements are changed as a result of design refinements and requests from the user community. The importance of gathering requirements and managing their development is heightened in a project in which many people are responsible for collecting and interpreting requirements—for example, when members of a development team are located in different regions of the world. Under these conditions, communication and collaboration capabilities need to be at the forefront in the tools teams use to define, revise, and store requirements.This guide describes an example of a requirements authoring solution developed with the Microsoft® Office System, Microsoft Visual Studio® Tools for Office, and Microsoft SQL Server™ 2005. The example illustrates how XML and Web services can be used to integrate data in a requirements authoring solution that is based on familiar tools. Development teams can use the solution to author and edit requirements documents for projects of any size.

Purpose of This GuideThis guide is intended to help decision makers assess and recommend information technology solutions used to create and gather requirements for software development projects. It summarizes the challenges that development teams and organizations face managing requirement-gathering processes and describes how a requirements authoring solution can address these challenges.This guide also covers the following topics: ● The architecture and operations of a sample solution● Issues to consider with respect to scalability, security, and other

operational needs ● Resources and skills related to implementing and maintaining a

solution● Additional resources for information about Microsoft software

products and technologies and Microsoft technology partners who develop requirements authoring solutions

The example illustrated in this guide does not include software development or database design tools, capabilities for analyzing object-

Page 5: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 5

oriented programming models, or similar features. In addition, this guide does not describe the steps required to set up a complete solution.

Page 6: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 6

2 Business Challenges and SolutionsThe complexities introduced into software projects by geographically dispersed development teams and the dilution of technical skills within information technology (IT) organizations means that teams often need formal processes and well-integrated tools in order to succeed. IT organizations are examining their processes and the tools they use with an eye toward facilitating team participation and improving the level of quality for the projects they deliver.This chapter describes these and other challenges that software development teams and organizations face in authoring and gathering requirements for software applications. It explains how a software solution can address these challenges and highlights the benefits that a requirements authoring solution built using the Microsoft Office System can provide.

Business ChallengesThe most important steps early in the development process are identifying and gathering requirements and compiling requirements documents. Requirements need to reflect business processes, for example. Accurate requirements can form the basis for sound test plans. Increased attention to requirements gathering early in the application development process can help reduce the overall cost of a project and increase the business value the application brings to an organization.Analysts, designers, product managers, and developers all contribute to requirements gathering and the preparation of requirements documents. Executives and managers in operational areas such as information technology and financial services often participate as well. The use of a large-scale requirements management system can involve considerable overhead. Generally, to get around the overhead, users create and develop requirements by exchanging stand-alone documents. This approach can slow document creation and increase user frustration. It can result in teams needing to manage unnecessary and sometimes redundant data, and lessens the team's ability to recognize and react to the effects of modifications to requirements at the time they occur.Development teams and organizations also must work within development cycles that have been compressed in response to competitive pressure and similar environmental factors. Managing a rapid development cycle depends on processes—including those for

Page 7: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 7

gathering and authoring requirements—that are precise and efficient. A lack of tools and best practices means that these development projects are often poorly run and result in poorly developed products.According to a recent survey by McKinsey1, only 10 to 20 percent of an overall IT budget, the budget through which most in-house development projects are funded, is allocated for “improving a company’s performance.” With a small budget allocated to in-house development projects, each of these projects needs a sharp focus and clear links to how it contributes to an organization's strategic objectives. However, IT solutions are often perceived not to deliver adequate business value; this perception can lead decision makers to become less willing to make resources available for new projects.From a workload perspective, development processes have become more distributed. Global outsourcing and off-shoring have changed how developers collaborate with each other, how project managers direct development processes, and how teams need to be managed. These conditions put additional demands on processes that rely on the level of communication and collaboration needed to accurately define and document requirements.

Addressing the ChallengesSoftware development teams need tools that can enable communication and collaboration across cultural, geographical, and professional boundaries. These tools are needed in all phases of application development, including analysis, design, construction, testing, deployment, integration, maintenance, and support.The tools need capabilities that can contribute to an understanding between developers and business customers, support multiple development sites, centralize control, enable remote monitoring, and protect intellectual property and assets. The tools used for application development must also be part of a knowledge base of requirements that can be used and reused by teams when defining, evaluating, and reporting application requirements.A solution should also help teams collaborate, consolidate requirements gathering, and link requirements to project work items, dependencies, and relationships. A centralized location for sharing requirements documents also helps maintain connections between individual requirements and overall project goals.Capabilities such as these enable a team to compress the development cycle, manage geographically distributed development teams, and deliver projects that provide the business value identified by the project's requirements.

1 “What global executives think about technology and innovation,” Sam Marwaha, Parul Seth, and David W. Tanner. McKinsey Quarterly, 2005, Number 4.

Page 8: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 8

A Requirements Authoring Solution Using the Microsoft Office System

A requirements authoring solution based on the Microsoft Office System can facilitate information retrieval and integrate the capabilities of different applications to provide a collaborative workspace for all parties involved in gathering requirements. Requirements documents are created in Microsoft Office Word 2003 using custom controls in the task pane. An XML schema is applied to the Word document so that data is structured and can be stored and retrieved from a SQL Server 2005 database. Communication between Word and the database is managed by native Web services.A requirements document can also be linked to a team project defined in Visual Studio Team Foundation Server, and individual requirements can be set up as work items for the project. This process helps maintain a connection between individual requirements and overall project goals.Documents can also be saved and opened through a Web site built with SharePoint® Products and Technologies. This site provides a centralized storage location and a set of collaborative tools to facilitate the work of the project team. These capabilities provide benefits for managing all types of software development projects but are particularly well suited to projects in which teams are dispersed geographically.Microsoft Visual Studio 2005 Tools for the Microsoft Office System, which is used to build the custom task pane and other features of the requirements authoring solution, is a development environment designed for building line-of-business applications that use the Microsoft Office System. These applications make use of Office capabilities such as document sharing, collaboration, rights management, numerical analysis, charting, e-mail and notification, scheduling, and others. Microsoft Word 2003 and Microsoft Excel® 2003 are integrated into the Visual Studio Tools for Office development environment so developers can extend solutions to these applications by using managed controls.Microsoft Visual Studio 2005 Team Foundation Server is designed to help software development teams manage source code, tasks lists, project plans, and vision statements. Team Foundation Server incorporates the capabilities of Microsoft technologies such as SQL Server 2005, Windows® SharePoint Services 2.0, and Internet Information Server 6.0. Team Foundation Server provides an environment that integrates source code control with requirements management and issue tracking. The functionality of Team Foundation Server makes use of XML Web services for communication between components. Team Foundation Server enables teams to track and manage changes to work items and tasks and provides security through SQL Server 2005. Team Foundation Server also provides the analysis and business intelligence features of SQL Server 2005. A variety of reports can be generated as a team works day-to-day.Because the different roles involved in a software project need different tools, Team Foundation Server provides integration with applications such as Microsoft Excel and Microsoft Project. Team members who are

Page 9: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 9

familiar with these programs can continue to use them and also gain the ability to synchronize their work with the data managed by Team Foundation Server.

BenefitsA requirements authoring solution enables development teams and organizations to define and track project requirements, manage requirements-gathering processes that can be used by a dispersed workforce, and facilitate communication and collaboration. Other benefits of a requirements authoring solution include the following:● Uses a familiar document authoring application to gather requirements

in a structured document that can be saved in sections to a database and later reassembled

● Creates an application requirements database that supports reuse of standard and recurring requirements

● Measures and analyzes application development processes such as build details, bugs reported, the percentage of code being changed in each build, work progress, and others

● Supports global development teams● Increases use by product management and application requirements

teams of tools already deployed● Manages ongoing requirements authoring while minimizing costs and

organizational distraction● Formalizes requirement gathering practices to make them consistent,

repeatable, maintainable, and automated● Provides tools for collaboration and team work● Captures, organizes, and communicates information more frequently

and effectivelyOverall, an authoring requirements solution developed with the Microsoft Office System can help development teams and organizations manage development projects, compile comprehensive and accurate requirements, and facilitate responsiveness and collaboration.A number of partners are available to help build solutions. For more information about Microsoft technology partners and proposal solutions, see Chapter 5, "Next Steps," later in this guide

Page 10: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 10

3 Architectural OverviewThis chapter outlines a basic architecture for a requirements authoring solution that is based on the Microsoft Office System. The chapter also highlights examples of the operations a solution could perform, including creating and editing requirements documents, storing and searching for requirements in a database, generating a requirements document from the database, and linking requirements to project work items.

Sample Solution ArchitectureFigure 3.1 illustrates a basic architecture for a requirements authoring solution such as the example described in this guide.

Figure 3.1 A basic architecture

The client layer of the requirements authoring solution runs on Windows XP Professional. Its components include Microsoft Office Word 2003, Microsoft Office Outlook® 2003, and Visual Studio Tools for Office 2005. Microsoft Office Visio® 2003 and Microsoft Office Excel 2003 could also be included. Visio 2003 could be used by the author of a requirements document to prepare visual representations of processes and work flows, which are integral components of requirements documents.Microsoft Word is used to create requirements documents. A customized task pane, created with Visual Studio Tools for Office 2005, provides a set of controls with which a user can create a requirements document, link

Page 11: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 11

requirements, generate requirements documents from a database, search the database, and perform other operations. For example, a user can create a task in Outlook from the task pane in Word and assign the task to himself or herself or to another team member through e-mail. A task item is sent to the assignee and appears in his or her task list. This operation can be performed programmatically through the Outlook object model. The task pane also displays an outline of the document that lists the requirements and sub-requirements.In Visual Studio Tools for Office 2005, the task pane can be designed using the tools available for designing Windows Forms applications. Visual Studio Tools for Office also provides the means for developers to interact with Word or other Office applications through their object models using managed code in any programming language supported by the .NET Framework.The content in the body of a requirements document is saved in WordML. The document's data is transferred from Word to SQL Server 2005 through native Web services and stored in SQL Server 2005 using the XML data type. The XML data type is designed for storing XML documents and fragments (an XML instance that is missing a single top-level element) in a SQL Server database. Use of the native XML Web services interface to SQL Server facilitates the mapping between SQL Server and the schema defined for the Word document. The native Web services use HTTP and SOAP to communicate with the database. SOAP and HTTP access enables a broader range of clients to access SQL Server, including Web application clients that use a Web browser. Native XML Web services in SQL Server 2005 can also make working with the Microsoft .NET Framework, Microsoft SOAP Toolkit, Perl, and other Web development operating systems and tools easier.Text formatting, process and use-case diagrams created in Visio, and images can be stored in and retrieved from SQL Server. Authors can search the database for relevant requirements and content to include in a requirements document. Requirements documents can also be created atomically (requirement by requirement by more than one user in separate documents) and then compiled into a single document because each requirement is associated with a specific project in the database.The server layer consists of SharePoint Products and Technologies (Windows SharePoint Services and SharePoint® Portal Server 2003), Exchange Server 2000, SQL Server 2005, and Visual Studio 2005 Team Foundation Server.SharePoint Products and Technologies provides document libraries that can be used as a central storage location for all requirements documents. (A document's content is also stored in the SQL Server database.) SharePoint Portal Server can track each version of a requirements document, which is a key capability in an iterative requirements authoring process. A SharePoint site also serves as a collaboration platform. The status of each document and the name of who is authoring or modifying it is transparent to each user who has access to the site. The content and configuration databases on which a SharePoint site is built are also SQL Server databases. Exchange Server 2000 is used as a

Page 12: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 12

messaging platform and helps manage task assignment for team projects through Microsoft Outlook 2003. Microsoft Office Live Communications Server 2005 and Microsoft Office Communicator 2005 could also be implemented in a solution as a messaging framework that team members can use to link to a requirements document and notify team members of changes.

Using a Requirements Authoring SolutionBefore initiating a requirements document, a user sets up a team project in Visual Studio Team Foundation Server. A requirements authoring solution can then manage requirements in the context of this project. When a new requirements document is created in Word, a user selects the project name in the Word task pane, which binds the empty Word document to the project. In the Word document, the author can insert and edit text, format the text, and add graphics. Each section of the document is defined and stored in SQL Server.

Adding and Editing RequirementsRequirements are added through functions initiated by controls on the document actions task pane. An Add Requirement function, for example, could offer users different types of requirements, such as Scenario, Quality of Service, or Task, which correspond to types of work items in Visual Studio. The solution then inserts a placeholder section for the requirement in the body of the Word document. It also adds a requirement listing to an outline view of the document, which is displayed in the task pane. These operations are mapped to an XML schema that underlies the document. A user, however, needs to work only with the user interface and commands in Word to enter information about the requirement. A user can apply formatting or embed objects or graphics using standard formatting and other commands in Word. Figure 3.2 shows a sample requirements document open in Word 2003 with the document's outline displayed in the task pane.

Page 13: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 13

Figure 3.2A requirements document, open in Word 2003. Each section is structured through an XML schema, which makes saving the document's content to a database predictable and avoids data loss.

Portions of the document are locked to protect its structure and to enable the content to be stored in the database. A requirement can be saved to the database at any point. Because the content is stored in Word in XML format, no loss of formatting or embedded objects that have been included in the Word document occurs. Additional functions provide users with the means to delete a requirement, add a sub-requirement, or change the order of requirements in the document. These functions operate on the requirement that is selected in the outline view of the document in the task pane. Figure 3.3 shows some of the types of content that can be included in a requirements document.

Page 14: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 14

Figure 3.3Another view of a requirements document

A requirements authoring solution can be designed as a multiuser system that enables project managers to distribute requirements gathering among several business analysts. With many people working in separate Word documents, each document is associated with the same project. When a Word document is saved to the SQL Server database, the requirements for a single project are consolidated. A consolidated document that shows all requirements defined for a project can be generated from the database for purposes of review or for distribution to individuals not on the immediate team. Because each project managed by Team Foundation Server has an associated SharePoint site, a requirements document can also be saved to disk so that a user can save work in progress, take the document offline between data store updates, and use the collaboration and versioning features provided through the SharePoint site. The project SharePoint site also gives team members a single place to share their ideas and announcements. Once a project starts, Team Foundation Server enables individuals to receive notifications of events in the projects they are working on—everything from a notification that a new team member has joined to a notification that a work item has been reassigned. Figure 3.4 shows a sample of a SharePoint site used to manage requirements.

Page 15: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 15

Figure 3.4Team members can use a SharePoint site to collaborate

Establishing Requirement DependenciesSoftware development teams that can recognize the effect of changes to requirements often deliver more successful projects. One way a requirements authoring solution can support this capability is to explicitly define dependencies between requirements. This procedure can be used to set any number of dependencies to any requirement, and the relationships are bidirectional (meaning that if requirement A depends on requirement B, B also depends on A).With requirement dependencies established, a requirements authoring solution can notify users of requirements that need their review because a related requirement has been changed. When generating a consolidated requirements document, the solution looks for changes to requirements that have occurred since the last time the document was generated. If changes have occurred, the solution can flag related requirements in the project summary tree view with an icon. The project manager or another review must then assess if any action needs to be taken and update the document if necessary.

Reusing Requirement ContentAs a set of requirements grows, teams need an efficient method for locating content from previous projects that is relevant to the current project. A solution that provides the capabilities to search for and reuse content can be the basis for a corporate repository of commonly used requirements. An author can search across requirement documents,

Page 16: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 16

regardless of project, which enables requirements documents to be linked. If the content in a section of a document that has been linked and copied to another document is changed in the original document, the linked document is marked for review so that the author can determine whether to accept the changes or to keep the text in its original state. After the document is reviewed, information about the author's decision is saved in the SQL Server database along with the reviewer’s name and a time stamp.

Synchronizing Requirements with Team Foundation ServerProject managers and business analysts typically drive requirement authoring, but engineers also have a stake in the process. Requirements drive the design of a solution and lead to specific development tasks. In Visual Studio Team System, team-level information for engineers has been built into the development environment in the form of the Visual Studio Team Foundation Server, which provides the ability (among other features) to manage work items for an entire team.A requirements authoring solution can synchronize requirements and work items so engineers have a single location where they can manage their workload. The system can create work items to represent specific requirements and embed a URL to help engineers locate the detail of the requirements in a Word document shared on a SharePoint site. Furthermore, subwork items can be added as the project progresses, providing a capability to understand the true cost and complexity of requirements as they are implemented into features.Before requirement work items can be created in Team Foundation Server, a custom work item type needs to be created for the team project. To use this feature, users need to save a copy of the requirements document to the SharePoint site that is created by Team Foundation Services for the project. Synchronization causes requirements to appear as work items in Visual Studio with the custom type (named Requirement, for example). A URL for each requirement appears on the links pane. Each link is bookmarked to the appropriate section in the Word document, which enables engineers to easily reference the original requirement.Figure 3.5 shows a set of work items listed in Visual Studio.

Page 17: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 17

Figure 3.5A list of work items related to requirements can be displayed in Visual Studio

Sending Outlook Task RequestsUsers can send an Outlook task request while working in the requirements document. The document must first be saved to a SharePoint site so that a URL is accessible. Users enter the task name and the name of the recipient in a form. The URL to the document is included to enable the recipient to reference the document after they receive the task notification. The task will appear on the originating user’s task list in Outlook, and a task request is sent to the recipient.During the project, and at its conclusion, Team Foundation Server can be used to aid in reporting. A user can generate a cost report of requirements by creating an Excel PivotTable or PivotChart that pulls data from the Team Foundation Server data warehouse. The PivotTable or PivotChart can be displayed in a Web Part on a SharePoint site or on a dashboard. No custom code needs to be written to produce these reports. Reporting can also be performed through Visual Studio and SQL Server Reporting Services.The example described in this chapter is one approach to using the Microsoft Office System as a platform for a requirements authoring solution. The solution provides capabilities to help teams collaborate on and prepare requirements documents and supports the work of a geographically dispersed workforce.

Page 18: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 18

4 Infrastructure ConsiderationsThis chapter outlines topics related to information technology infrastructure that an organization should consider when evaluating the deployment of a requirements authoring solution. These topics include which Microsoft software products can be used to build a solution, issues related to the configuration and scalability of a solution, capacity guidelines, and security.

Software ConsiderationsThis section lists the Microsoft products and technologies that could be used to create a requirements authoring solution.For client computers, the following products can be used:● Microsoft Windows XP Professional, with Service Pack 2

www.microsoft.com/windowsxp/pro/evaluation/sysreqs.asp● Microsoft Internet Explorer

www.microsoft.com/windows/ie● Microsoft Visual Studio Tools for Office

http://msdn.microsoft.com/vstudio/products/vsto/details● Microsoft Office Professional Enterprise Edition 2003

www.microsoft.com/office/prodinfo.mspx● Microsoft Office Word 2003

www.microsoft.com/office/word/prodinfo● Microsoft Office Visio 2003

www.microsoft.com/office/visio/prodinfo● Microsoft Office Excel 2003

www.microsoft.com/office/excel/prodinfo● Microsoft Office Outlook 2003

www.microsoft.com/office/outlook/prodinfo● Microsoft .NET Framework 1.1

http://msdn.microsoft.com/netframeworkFor server computers, the following products can be used:● Microsoft Windows Server™ 2003

www.microsoft.com/windowsserver2003/evaluation/sysreqs

Page 19: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 19

● Internet Information Services (IIS) 6.0 with Microsoft ASP.NETwww.microsoft.com/windowsserver2003/iis

● SharePoint Products and Technologieswww.microsoft.com/sharepoint

● Microsoft SQL Server 2005www.microsoft.com/sql

● Microsoft Exchange Server 2003www.microsoft.com/exchange

● Microsoft Visual Studio Team Foundation Server http://msdn.microsoft.com/vstudio/products/vsts/tfs

● Microsoft Visual Studio Team Suite http://msdn.microsoft.com/vstudio/products/vsts/suite

Deployment Considerations for Microsoft Visual Studio 2005 Team Foundation Server

Requirements vary for different combinations of components within Microsoft Visual Studio 2005 Team Foundation Server. Microsoft recommends the following configuration options for installations of Visual Studio 2005 Team Foundation Server.

Team Size ConfigurationSmall team, small company, 1-2 projects, pilots, evaluations, 5-20 users

One computer

Medium sized workgroup, 2-10 projects, 20-50 users

One computer

Large department, 50-250 users Application Tier; Data Tier 2-way 2.2. GHZ

Division wide, 250-500 users Application Tier; Data Tier

Scalability and ReliabilitySharePoint Portal Server 2003 provides tools that can be used to deploy and manage a portal solution. Administrators can use the management interface in SharePoint Portal Server 2003 to manage, monitor, and deploy Windows SharePoint Services sites and to connect to and manage content resources. SharePoint Portal Server can be scaled to meet the requirements of any size organization.SharePoint Portal Server 2003 uses a distributed server architecture that is based on Windows Server 2003 and Microsoft SQL Server 2000. Servers that run SharePoint Portal Server can be clustered to improve availability. If one server fails, users can still have uninterrupted access to data, documents, and applications. In larger deployments, Network Load Balancing can be configured to distribute the processing load across multiple servers, which makes maintaining reliable services under peak load easier.

Page 20: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 20

When deploying a solution, also consider scalability issues such as the following:● One Server: Using a single server reduces the cost of ownership, but

this configuration limits the amount of storage and is a factor in future scalability. This approach could be used by a business that wants to build a pilot solution for testing. In a single server deployment of SharePoint Portal Server 2003, the server must be a member of a Windows domain.

● Two Servers: When SharePoint Portal Server is deployed on two servers, a typical configuration is for SQL Server to run one server to store data, with the second server hosting project sites and providing services such as searching and indexing. This configuration offers more options for storage and is a configuration that can be scaled up to include other servers if they are needed in the future.

● Server Farm: A server farm is suitable for companies that have a server farm already, those in which clustering is in use, and those that are planning to incorporate them at the same time they are setting up a solution. A company that needs the capacity of a server farm would most likely require several content databases in which to store site data for each virtual server.

Windows SharePoint Services Capacity GuidelinesImportant issues to consider when evaluating an Office-based solution are the two kinds of capacity guidelines for Windows SharePoint Services: throughput limits and scale limits. This information should be taken into account in planning for hardware purchases and server configuration.

Throughput LimitsThroughput limits are the approximate number of transactions per second that a given server configuration can handle. Throughput limits help determine how many simultaneous users can use a given server resource without negatively affecting performance.

Scale LimitsScale limits provide a guideline for the approximate number of objects that can be created in a given scope, for example, the number of documents per folder. This guideline helps you determine the server configuration required to host a given number of objects.For more information about Windows SharePoint Services capacity, see the article “Capacity Planning for Windows SharePoint Services” at:www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/technologies/sharepoint/wssadmin/stsb07.asp

Page 21: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 21

Office 2003 Primary Interoperability Assembly Installation

A primary interoperability assembly is a unique, vendor-supplied assembly that contains type definitions, listed as metadata, of types implemented with the component object model (COM). In a Microsoft Visual Studio .NET setup project for a Microsoft Visual Studio Tools for the Microsoft Office System client, for a Shared Add-in client, or for an Automation client, Visual Studio .NET detects the Microsoft Office 2003 Primary Interop Assemblies (PIAs) as dependencies. The PIAs are then included in the setup project for distribution with the setup program. Microsoft recommends, however, that the PIAs be installed using the Office 2003 setup program instead of through a Visual Studio .NET setup program. An organization that implements a custom solution that requires the PIAs should install them in the recommended manner rather than through the solution's setup program.Office 2003 is the first version of Office to include PIAs on the Office installation media. The Office 2003 PIAs require that the Microsoft .NET Framework 1.1 or later be installed. If the .NET Framework 1.1 or later is not installed, the Office 2003 setup does not install the PIAs or display the PIAs.For more information, see Office Primary Interop Assemblies at:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_wrcore/html/wrrefofficeprimaryinteropassemblies.asp

Security ConsiderationsStandard security precautions should be addressed in solutions that use Web pages, Web services, and databases.The following resources provide general security information for Microsoft products and technologies:● Microsoft TechNet Security Resource Center: TechNet provides

security resources at the Security Resource Center. Check this site regularly for the latest security headlines and for information about updates at:www.microsoft.com/technet/security

● General security guidance: Microsoft offers a wide variety of security guidance for IT professionals and developers at the Security Guidance Center at:www.microsoft.com/security/guidance

Page 22: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 22

5 Next StepsThis chapter provides information that an organization should consider if it pursues the implementation of a requirements authoring solution built on the Microsoft Office System. The chapter describes some of the skills needed to develop, implement, and maintain a solution and provides information about Microsoft technology partners.

Resource and Skill ConsiderationsAn organization that implements a requirements authoring solution needs personnel in roles such as a business analyst, project manager, developer, and network administrator. A solution provider or partner might perform the work of some or all of these roles. The following sections highlight functions that are performed by a business analyst and other roles.

Business AnalystA business analyst should understand an organization's business processes and how software solutions can be used to manage, automate, or assist in the execution of those processes. An analyst can help define and clarify requirements; represent the user community on development projects; and work with developers, testers, and other members of a development team in designing requirements for a user interface and other features.Functions: Analyzes requirements for software solutions from user perspective. Defines and clarifies requirements for the user interface and business operations. Helps define user access requirements and site configuration.Skill Set: Knowledge of requirements gathering processes and analysis procedures, enterprise business processes, and the logical structures of data sources.

Project ManagerA project manager should have experience with the requirements-gathering processes used in the organization and be familiar with standard requirements for the organization's business applications. A project manager should also be familiar with methodologies such as the Microsoft Solution Framework and with the use of XML and XML schemas, the data systems used in an organization, and the basic features of a SharePoint site.

Page 23: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 23

Functions: Analyzes requirement-gathering processes and defines the rules and behaviors required within the processes. Creates prototypes of requirements templates. Helps define user access requirements and site configuration.Skill Set: Knowledge of requirements gathering processes and analysis procedures, project management processes, software development methodologies, and the logical structures of data sources.

DeveloperA developer who works on an Office-based requirements authoring solution should have experience programming with the object models for Office applications and with the Microsoft .NET Framework. A developer should have experience with XML schemas, Visual Studio .NET, C#, SQL Server, and Web services.Functions: Implements the processes defined by the project manager. Defines required XML schemas for document authoring and SQL Server databases for storage.Skill Set: Programming experience with Windows Server 2003, SQL Server 2000 and SQL Server 2005, the .NET Framework, XML, and Office.

Network AdministratorA network administrator is responsible for setting up a SharePoint site, adding site templates and Web Parts, managing permissions, administering databases, and handling deployments of the solution. A network administrator might need to troubleshoot issues related to connectivity to corporate networks and access to SharePoint sites.Functions: Sets up communication among the components as specified by the developer. Deploys Internet Information Services and Windows SharePoint Services as required. Might create and maintain SQL Server databases.Skills: Familiarity administering Windows Server 2003, SQL Server 2000 and SQL Server 2005, Windows SharePoint Services, and applications developed with the .NET Framework.

Potential Partner SolutionsMicrosoft technology partners can play a role in developing a solution that helps an organization manage its requirements-gathering processes for software development projects. A partner can customize a solution by developing XML schemas, reporting functionality, Web Parts, and other tools; provide deployment support; and improve the workflow features and security of a solution.You can also find more information about partner solutions at:https://directory.partners.extranet.microsoft.com

Page 24: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 24

Solution Showcase for the Microsoft Office SystemThe Solution Showcase for the Microsoft Office System highlights how leading organizations solve business challenges using the Microsoft Office System. The Solution Showcase provides information about how Microsoft customers can obtain more value from their investments in the Microsoft Office System.For more information about the Solution Showcase, see:www.microsoft.com/office/showcase

Page 25: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 25

6 AppendixThe sections that follow list a variety of resources about Microsoft software products and technologies. The resources include information about Microsoft products that can be used to build a requirements authoring solution and links to sites that provide product documentation, technical articles, and training resources.

General References● Microsoft Solutions Framework (MSF)

http://msdn.microsoft.com/vstudio/enterprise/msf● MSF for Agile Software Development

http://lab.msdn.microsoft.com/teamsystem/workshop/msfagile

Developer ResourcesFor information related to developing solutions with the products featured in the sample requirements authoring solution described in this guide, see the following Web sites:● Microsoft Office Developer Center

http://msdn.microsoft.com/office● Microsoft SQL Server Developer Center

http://msdn.microsoft.com/sql● Visual Studio Tools for Office Developer Portal

http://msdn.microsoft.com/office/understanding/vsto● Microsoft Visual Studio Developer Center

http://msdn.microsoft.com/vstudio● Microsoft Office Developer Center: SharePoint Portal Server

http://msdn.microsoft.com/office/understanding/sharepoint● SharePoint Products and Technologies Software Development Kit

(SDK)www.microsoft.com/downloads/details.aspx?familyid=AA3E7FE5-DAEE-4D10-980F-789B827967B0&displaylang=en

● Windows SharePoint Services Administrator’s Guide: Guide that provides information about installing, configuring, managing, and maintaining Windows SharePoint Services.www.microsoft.com/downloads/details.aspx?FamilyID=a637eff6-8224-4b19-a6a4-3e33fa13d230&DisplayLang=en

Page 26: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 26

Product TrainingFor information about product training, see the following Web sites:● Visual Studio Tools for Office Technical Articles

http://msdn.microsoft.com/office/understanding/vsto/articles● SQL Server Training

www.microsoft.com/sql/techinfo/training● Windows Server 2003 Training

www.microsoft.com/windowsserver2003/techinfo/training

Security InformationFor security information, see the following Web sites:● Security in Office Solutions

http://msdn2.microsoft.com/library/k64zb6we.aspx● SQL Server 2005 Security

http://msdn.microsoft.com/sql/learning/security● Windows SharePoint Services Administrator's Guide: Windows

SharePoint Services Security Model: Product and technology guidance that will help you protect your platforms, networks, desktops, and data.www.microsoft.com/technet/security/prodtech/sharept

● MSDN Security Developer Center: In-depth technical content, community resources, downloads, product information, and more for developers interested in writing secure code and using security APIs.http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/securityanchor.asp

● Microsoft Security: Comprehensive and up-to-date information on virus alerts, security bulletins, technical information, and events.www.microsoft.com/security

● Security Tools on TechNet: Tools to assess vulnerabilities and strengthen security.www.microsoft.com/technet/treeview/default.asp?url=/technet/security/tools

● Microsoft Baseline Security Analyzer (MBSA): Scans for common incorrect configurations and missed updates.www.microsoft.com/technet/security/tools/mbsahome.mspx

● Microsoft SQL Server 2000 SP3 Security Features and Best Practices: Guide to best practices.www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sp3sec00.mspx

● Windows Server 2003 security guidance: Provides guidance, tools, and templates that help secure Windows Server 2003 in many environments.

Page 27: Microsoftdownload.microsoft.com/download/1/5/e/15eab406-170f-…  · Web viewAddressing the Challenges. Software development teams need tools that can enable communication and collaboration

Managing Requirements Authoring for Complex Application Development – Technical Discussion Guide 27

www.microsoft.com/technet/security/prodtech/win2003/w2003hg/sgch00.mspx