38,99 €
Get the knowledge you need to deploy a top-quality Exchange service The latest release of Microsoft's messaging system allows for easier access to e-mail, voicemail, and calendars from a variety of devices and any location while also giving users more control and freeing up administrators to perform more critical tasks. This innovative new field guide starts with key concepts of Microsoft Exchange Server 2013 and then moves through the recommended practices and processes that are necessary to deploy a top-quality Exchange service. * Focuses on the Exchange ecosystem rather than just the features and functions of the Exchange product * Focuses on scenarios facing real customers and explains how problems can be solved and requirements met * Zooms in on both on-premises deployments as well as Exchange Online cloud deployments with Office 365 * Helps you thoroughly master the new version with step-by-step instruction on how to install, configure, and manage this multifaceted collaboration system Whether you're upgrading from Exchange Server 2010 or earlier, installing for the first time, or migrating from another system, this step-by-step guide provides the hands-on instruction, practical application, and real-world advice you need.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 778
Table of Contents
Acknowledgments
About the Authors
Introduction
What's Inside?
Chapter 1: Business, Functional, and Technical Requirements
Building the Foundation for Requirements
Establishing Project Roles
Getting Started with the Exchange Design
Requirements as Part of a Larger Framework
Understanding the Types of Requirements
Requirements Elicitation
Summary
Chapter 2: Exchange Design Fundamentals
Introducing Design Documents
From Requirements to Design
No Single Way to Implement Exchange
How Much Detail Is Enough?
Section Guide
Moving Forward
Chapter 3: Exchange Architectural Concepts
The Evolution of Exchange 2013
Exchange 2013
Summary
Chapter 4: Defining a Highly Available Messaging Solution
Defining Availability
Defining the Cost of Downtime
Planning for Failure
Defining Terms for Availability
Achieving High Availability
Building an Available Messaging System
Summary
Chapter 5: Designing a Successful Exchange Storage Solution
A Brief History of Exchange Storage
Storage Changes in Exchange 2013
Storage Improvements in Exchange Server 2013
Designing a Successful Exchange Storage Solution
Summary
Chapter 6: Management
Trends in Management of Platforms
Role-Based Access Control
Administration
Summary
Chapter 7: Exchange 2013 Hybrid Coexistence with Office 365
What Is Exchange Hybrid?
Why Consider Exchange Hybrid?
Design Considerations
Summary
Chapter 8: Designing a Secure Exchange Solution
Why and What to Secure?
Handling Security Conversations
Designing a Secure Exchange Solution
Protecting against Unauthorized Data Access
Summary
Chapter 9: Compliance
Overview of Messaging Compliance
Regulations
Designing Your Policies
Compliance Solutions
Communication
Summary
Chapter 10: Collaborating with Exchange
What Is Collaboration?
Basic Collaboration with Email
Shared Mailboxes
Resource Mailboxes
Public Folders
Distribution Groups
Site Mailboxes
Summary
Chapter 11: Extending Exchange
Accessing Exchange Programmatically
Choosing the Right API for Exchange Development in Exchange 2013
Exchange Web Services in Exchange 2013
Migrating a CDO 1.2 VBS Script to a PowerShell EWS Managed API Script
Mail Apps for Outlook and the Outlook Web App
Best Practices When Writing EWS Code
Exchange, the Microsoft Stack, and Other Third-Party Products
Summary
Chapter 12: Exchange Clients
Types of Exchange Client
Why Does Client Choice Matter?
Performing a Client Inventory
Design Considerations
Summary
Chapter 13: Planning Your Deployment
Exchange 2013 Information Resources
Required Documentation
Preparing Active Directory
Designing a Rollout Process
Certificate Considerations
Choosing a Load Balancer
Deploying Operating System-Based Antivirus Programs
Firewalls and Exchange
Publishing Exchange to the Internet
Preparing Clients
Preproduction Load Testing
User Acceptance Testing
Summary
Chapter 14: Migrating to Exchange 2013
Inter-Org Migrations
Intra-Org Migrations
Moving Mailboxes
Modern Public Folder Data Migration
Foreign Systems
Legacy Exchange Migrations
Common Migration Problems
Migration Improvements in Exchange 2013
Summary
Chapter 15: Operating and Monitoring Exchange Server 2013
Monitoring
Alerting
Reporting
Inventory
Monitoring Enhancements in Exchange 2013
Summary
Acquisitions Editor: Mariann Barsolo
Development Editor: Gary Schwartz
Technical Editor: Henrik Walther
Production Editor: Liz Britten
Copy Editor: Linda Recktenwald
Editorial Manager: Pete Gaughan
Production Manager: Tim Tate
Vice President and Executive Group Publisher: Richard Swadley
Vice President and Publisher: Neil Edde
Book Designers: Maureen Forys, Happenstance Type-O-Rama; Judy Fung
Proofreader: Daniel Aull, Word One, New York
Indexer: Ted Laux
Project Coordinator, Cover: Katherine Crocker
Cover Designer: Ryan Sneed
Cover Image: ©iStockphoto.com/Kalawin
Copyright © 2013 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-54190-6
ISBN: 978-1-118-75027-8 (ebk.)
ISBN: 978-1-118-77953-8 (ebk.)
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services or to obtain technical support, please contact our Customer Care Department within the U.S. at (877) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2013937651
TRADEMARKS: Wiley, the Wiley logo, and the Sybex logo are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. Microsoft is a registered trademark of Microsoft Corporation. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.
Dear Reader,
Thank you for choosing Microsoft Exchange Server 2013. This book is part of a family of premium-quality Sybex books, all of which are written by outstanding authors who combine practical experience with a gift for teaching.
Sybex was founded in 1976. More than 30 years later, we're still committed to producing consistently exceptional books. With each of our titles, we're working hard to set a new standard for the industry. From the paper we print on, to the authors we work with, our goal is to bring you the best books available.
I hope you see all that reflected in these pages. I'd be very interested to hear your comments and get your feedback on how we're doing. Feel free to let me know what you think about this or any other Sybex book by sending me an email at [email protected]. If you think you've found a technical error in this book, please visit http://sybex.custhelp.com. Customer feedback is critical to our efforts at Sybex.
To my wife, Elizabeth: You have supported, loved, and inspired me through so many challenges. Who would have thought having said “never again” after my first book that I would now have completed two more!
—Nathan Winters
I dedicate this book to the special ladies in my life: to my wife, Mandy, for standing by me while I sacrificed time to make this book happen, and to my daughters, Anna and Lisa. I would also like to thank God for the gift of communication that makes writing a book of this nature possible.
—Nicolas Blank
I would like to dedicate this book to my family, all of whom have supported me throughout the writing process in some way. I would especially like to thank Liz for her tolerance of me writing during the early hours and Leo for always being able to make me smile.
—Neil Johnson
Acknowledgments
As you can probably imagine, writing a book is a hefty task. It requires the inspiration and coordination of many different groups of people without whom it would not be possible. Therefore, I am very grateful for this opportunity to call them out for some well-earned recognition.
Throughout this book, we have worked to ensure that you get the very best advice. This has meant working with our accumulated network of friends and colleagues, calling in favors to ensure that we take advantage of the insights of the top experts in their fields.
I would like to start by thanking Neil Johnson and Nicolas Blank personally. Both fall into the friends and colleagues category. We have worked together in various capacities over the last several years, and without their knowledge, enthusiasm, and sheer hard work, this book would absolutely never have happened.
Of course, outside of the authors, the other major driver behind a book like this is the publisher. As always, Sybex has helped us at every stage of the process with a superb team, starting with Mariann Barsolo, our acquisitions editor, who helped us shape the book and hone in on the audience, Gary Schwartz, our development editor, who put up with the random formatting and grammar that we came up with and turned it into something resembling what you see now, and Liz Britten and the copy editing team who did a crack job in getting this polished for printing while accommodating some late changes! Over all, Pete Gaughan had the job of pushing us to keep at least within some semblance of a schedule!
That leaves one very important person in the team, our technical editor, Henrik Walther. Henrik had a big part to play in ensuring the technical accuracy of the examples throughout the book. As someone with huge experience in the Exchange world, he also provided useful guidance and thoughts on the project as a whole.
As previously mentioned, one of the things that made this book possible was our close network of colleagues who contributed. I would like to give special thanks to the following group of people who contributed significant chunks—up to and including whole chapters.
Bhargav Shukla, Director of Product Research and Innovation at KEMP Technologies
Ruth Bacci, Exchange Consultant at Microsoft UK
Glen Scales, Exchange MVP who works as a freelance developer and engineer specializing in Exchange development
Steve Goodman, Exchange MVP who works as a technical architect at one of the UK's leading IT services providers
Nic Bishop, Exchange Technical Solution Professional at Microsoft UK
I would also like to call out specifically members of the Exchange product group who provided support, guidance, and material:
Julie Xu, Principal Group Program Manager, and Thomson Qu, Program Manager
Astrid McClean, Senior Program Manager, Quentin Christensen, Program Manager, and Ryan Wilhelm, SDE
Greg Taylor, Principal Program Manager Lead
—Nathan Winters
There are many people who helped me form ideas or simply spent time with me talking about design and Exchange in general. Among these, I would most like to thank all of my colleagues and customers, without whom my contribution to this book would have been impossible.
I would also like to thank the following people specifically for their help:
Matt Gossage for his help and insight on the storage and monitoring chapters
Conrad Sidey for believing in me and making himself available to talk about pretty much anything that I needed to discuss
Robert Gillies, Andrew Ehrensing, Ross Smith IV, Greg Taylor, Jeff Mealiffe, Ramon Infante, David Espinoza, John Rodriguez, Alexandre Costa, Michael Wilson, Brian Day, and Scott Schnoll, who all provided guidance to me about deploying or designing Exchange Server 2013
—Neil Johnson
I have many people to thank in writing this book, starting with the fine people at Wiley as well as my coauthors, Nathan Winters and Neil Johnson. I would like to extend my thanks to the following individuals:
Joe Newbert for language and process in dissecting the finer points of requirements in Chapter 1
Boris Lokhvitsky for your kindness and patience, making the mathematical world accessible to the common man in Chapter 13
—Nicolas Blank
About the Authors
Nathan Winters has worked in IT since graduating from the Royal College of Music (RCM) in 2003, where he studied the clarinet! His first job was at the RCM, migrating from Exchange 5.5 and Windows NT4 to Exchange and Windows Server 2003. Nathan has since worked in a variety of roles for Microsoft partners, including consultancy and practice management. He now works for Microsoft UK as a presales technical specialist. Throughout 2012 and 2013, Nathan has been a regular speaker at industry conferences, such as TechEd and Exchange Connections, both in Europe and in the United States. Before joining Microsoft, Nathan was active in the UK technical community, running the Exchange user group (MMMUG) and writing numerous articles for Windows IT Pro magazine and the MSExchange.org website, among others. He was awarded the distinction of Microsoft MVP between 2006 and 2011. In addition to this book, Nathan has recently completed Mastering Microsoft Lync Server 2013, also published by Sybex/Wiley. On the rare occasions when he is not working, he enjoys wildlife photography and badminton.
Nicolas Blank is a messaging architect, author, and speaker focused on all things Exchange at NB Consult in South Africa. With over 14 years of experience with Exchange, Nicolas consults with customers on cloud-based and on-premises Exchange projects, as well as companies building Exchange-focused products. Nicolas currently holds the status of Microsoft Certified Master, Exchange 2010 and Office 365, and has received the Microsoft MVP award for Microsoft Exchange every year since 2007. Nicolas blogs regularly on Exchange and messaging topics at blankmanblog.com as well as tweeting as @nicolasblank.
Neil Johnson has worked in IT since leaving Derby University, where he studied engineering. Initially, he worked with Novell Netware and Unix but then quickly moved on to Windows NT and Exchange Server. Neil worked in a number of roles, including third-line support, field engineer, technical design authority, and systems analyst before joining Microsoft in 2006. Since joining Microsoft, Neil has led some of the largest and most complex Exchange deployments in the United Kingdom. He can often be found speaking at Microsoft internal and public events about Exchange or Exchange Online, and he is also an instructor with the rank of Microsoft Certified Solutions Master: Messaging. Neil writes for the Microsoft Exchange Team Blog (EHLO) and maintains both the Jetstress Field Guide and Exchange Client Network Bandwidth Calculator. Neil has a passion for motorsport and is a lifelong Williams F1 team supporter. In his limited spare time, Neil is a keen photographer and loves to explore the national forest woodlands in the midlands where he lives with his son, Leo, and partner, Liz.
Introduction
This book came about after several conversations among the authors that focused on the common problems we found in discussing Exchange architecture with clients. We all felt that while Exchange is a very mature product, many people, from small in-house shops to the largest consultancies, often fall into similar traps when designing, deploying, and delivering a new Exchange-based messaging platform. To this end, we wanted to capture our conversations and experiences with customers and share them more widely in the hope of helping others avoid the common pitfalls we've seen.
This book is aimed at those among you who are going to be, or are, working closely with Exchange in a design and deployment capacity. You could be working for an in-house IT department as the messaging lead or as part of the messaging team. You could equally be a consultant working for one of the myriad of Microsoft partners who specialize in Exchange. That doesn't necessarily mean that you have to consider yourself an Exchange specialist, however. The point of this book is to help you get it right when you come to run your Exchange project. We appreciate that you won't necessarily be doing this day in and day out, because we all know that IT departments do a messaging upgrade every two to five years. A secondary audience is the architect community: those of you who are supervising the Exchange project as a program of work but are not necessarily involved in every day-to-day aspect.
Instead of focusing, as so many books do, on the “click Next” type guidance, we felt it was far more important to teach how to think about an Exchange project. Of course, we have plenty of technical material in the book, and we've made a point to call out where to find more, whether it's on TechNet or on third-party sites. Likewise, we have called on colleagues in the Exchange product group on many occasions to help us give not only the view from the field but also the thought processes behind the creation of Exchange; that is, how it was envisioned.
This book is very straightforward in structure. In essence, it was conceived as a series of essays on the topics outlined. As such, is it not necessary to read the book from cover to cover, though some may find that useful. We have tried to lay things out in a manner that would make the most sense.
You have a variety of options to test out the concepts in this book. You can go and start an Exchange deployment project—only kidding! Seriously, however, much of this book discusses concepts and thought processes rather than actual step-by-step technical procedures. Of course, those exist too. In order to immerse yourself into the actual technology, build a lab and get an Office 365 trial tenant. If you want to explore the basic functionality of Exchange, then an Office 365 tenant is one of the simplest ways to get up and running, because this allows you to test out the vast majority of client-side functionality and much of the administrative side without the need of servers. If the actual underlying workings of Exchange are important to you, then an on-premises lab is a necessity. In this case, much can be achieved on a single, well-specified machine. For example, a lot of the lab work for this book was created on a Dell T7500 workstation with five hard drives and 24 GB of RAM—a fairly lowly specified box these days!
We welcome feedback from you about this book. Obviously, it's always nice to get messages about what you liked about the book, but we also welcome suggestions for improvements that we could make in future editions. You can reach Nathan by writing to [email protected], Nicholas at [email protected], or Neil at [email protected]. If you are looking for information about Nathan's future articles or would like to discuss a speaking engagement, visit Nathan's blog at www.nathanwinters.co.uk.
Sybex strives to keep you supplied with the latest tools and information you need for your work. Please check www.sybex.com/go/exchangedesigndeploy, where we'll post additional content and updates that supplement this book should the need arise.
Chapter 1
Business, Functional, and Technical Requirements
The goal of this chapter is to help you address and answer questions from the people around you in the form of a common language. Requirements are essential for implementing Exchange 2013 successfully.
Exchange can be a daunting product to contemplate, with over 20 million lines of code. There are many, many features from which to choose, though some have not changed significantly between Exchange versions (address book generation, for example). Furthermore, there's a discussion of how these features are to be implemented and the entire best practices conversation, which comes with the territory. How do you choose which features to implement and which to leave behind? The answer is requirements. And how do you decide which best practice to apply? Again, the answer is requirements.
Requirements elicitation can sometimes be seen as boring, tedious, and overly complex. This perception can often derail this most critical part of a new project. Requirements elicitation is traditionally associated with software engineering, which implies a long list of requirements to satisfy the discipline of creating or modifying software. With the exception of writing scripts, most administrators who wish to implement Exchange don't need to know or care about the difference between a functional and a business requirement, since they're not creating software from scratch. However, we still need to capture the essence of “why” we are taking certain actions, as well as the “what” and the “how” we are doing them.
This chapter is particularly important for the Exchange administrator or consultant who may have been tasked with installing, upgrading, or migrating to Exchange for the first time in a formal manner and who doesn't know where to start. Even if you have successfully implemented Exchange, this chapter will still be of tremendous value to you if this is the first time that you are the one documenting a design.
Requirements are the core of an Exchange project. Based on the requirements, a host of other documentation items can be affected. These may include the following:
Vision and scope document
The Exchange 2013 design
Testing plan
Migration plan
The bill of materials required to implement Exchange
Test case documentation
Adjustments to the disaster recovery plan (DRP)
A good place to start is to learn how to identify and document requirements correctly and with enough detail to satisfy people from different parts of IT and within the business as a whole. A bad place to begin is by installing Exchange on the basis of a diagram only. Since we are in IT, we often start with a diagram of something and then wind up making design changes on the fly.
Documenting requirements is thus a critical part of the design process, as we will explore later in this chapter. In summary, this chapter will equip you with the tools to ensure that “why,” “what,” and “how” are addressed and documented adequately, without requiring a degree in software engineering in order to do so.
Establishing roles at the outset of a project of significant magnitude is critically important. Most of you reading this book fall into one of two camps:
Whichever camp you fall into, either external or internal to the organization, your attitude about such a project determines its success or failure. Your mindset needs to be that of a consultant toward a client. If you work inside the company, this may be harder to adopt; however, the methods within this chapter work equally well with either camp.
Often we are asked to review a design, which may be technically brilliant, architecturally sound, and mindful of the newest features introduced in the latest service pack. However, designs are very often written without capturing the essence—or even the reason for the existence—of the design. The essence or the reason for existence for an Exchange design is documented by capturing the requirements.
Exchange designs and implementations are often driven by a version's new features list, as opposed to having captured and wrestled with requirements and extrapolated the features necessary to satisfy the needs of the business. Having a solid set of requirements to work against, among other reasons, makes your technology choices defensible, since designing or building Exchange without a solid set of requirements is like going food shopping without a list and putting anything that suits you into the shopping cart.
Documenting requirements also makes a document much easier to review. A structured document may have one section summarizing the security requirements and then a separate section encompassing the technical detail on how those security requirements are manifested as configuration detail or product features. This would allow the security or compliance officer to sign off on that portion of the document without having to wade through the storage design, unless of course the storage design captured a secure requirement.
When reviewing designs, we often see that the author has discussed the technology and then made a statement that a feature or technology should be implemented in a certain way. For example, the author may wish to implement Database Availability Groups (DAGs), which were introduced with Exchange 2010, and allow databases to be highly available. The author may say something like, “DAGs are great, so we're going to implement a DAG.” However, the “why” of implementing a DAG is not captured. The question of why you are recommending the implementation of DAGs and which requirement you are fulfilling must be answered. Your reasons for choosing technology should always be clearly documented.
Most designs that we reviewed have little or no longevity. That is, if you were to review your own design in five years' time, would you understand the “why” of the design? Why did you choose to implement a DAG in the manner that you did, and so forth? Keep this in mind when eliciting requirements and as a continual thread throughout your document. When your design document is reviewed, arguing that the reasons behind the design were not enumerated because you didn't think it through or were ignorant of other options available at the time is not adequate for explaining why the “why” part of documentation is missing.
If you are a member of a consulting organization, then you will be quite familiar with the following. If you are doing this for the first time, then this section should be considered a primer as to where requirements fit into a larger framework.
There are several available methodologies from which to choose, including the Microsoft Solutions Framework. Irrespective of which methodology you choose, the steps are often quite similar:
The first three phases will naturally generate a document set, which at minimum is similar to the following:
Depending on the methodology selected, many other documents, such as testing plans, will also be expected.
If you are doing this for the first time, the level of detail required for a large project may overwhelm you. Nevertheless, as a consultant, it is likely that you are indeed working with this level of detail. While there is a wealth of material available about the available methodologies, the basic problem that requirements are often captured poorly, or not at all, remains.
Classical requirements elicitation is a very deep and mysterious discipline, unless you're a business analyst, systems analyst, or the like. The aim of this chapter is not to address classical requirements elicitation from a systems analysis point of view, since that would only help you become a better systems analyst. The goal of this chapter is to determine what kinds of requirements are important for your Exchange design and to give you the ammunition you need to defend your technology choices.
You may be tempted to wrestle with the nuances among some of the more esoteric requirements. At minimum, however, you need to examine the business and technical requirements. We will take a moment to define each of these later.
The purists among you may question why we don't break technical requirements out into functional and nonfunctional requirements. Functional requirements describe what a system is required to do, while nonfunctional requirements describe how the system behaves. As mentioned at the beginning, this chapter is focused on eliciting the requirements necessary to implement existing software, not on writing software from the ground up.
If your project is small, the lines between functional, nonfunctional, and business and technical requirements may blur and add unnecessary complexity. Unless you find a compelling reason to include functional and nonfunctional requirements, we suggest that you focus exclusively on the business and technical requirements. Once your project reaches a certain level of complexity, however, you will need to define technical requirements in much more detail. Thus, you will then break out the functional and nonfunctional requirements aspects of the project.
Business requirements may also be captured separately in a vision document. Consulting organizations will be familiar with this procedure, and they will require completion of a specific document set in order to capture this level of detail.
You may argue that you have been given a requirement, and that sounds something like, “We need to upgrade.” This statement is, in itself, only half a requirement, and it is an insufficient rationale for a business today to invest in your project. Now let's examine our two chosen requirements in more detail.
In this section, we are going to discuss business requirements in the context of our upcoming Exchange implementation. This is the “why” part of your requirements. The project sponsor or management team member provides the business drivers for the project. You want to be sure that you don't get stuck in “analysis paralysis,” since business requirements tend to be broad statements lacking the detail expected in technical requirements.
For our purposes, businesses tend to have a few simple drivers. These tend to fall into the category of decreasing costs, increasing/retaining revenue, or decreasing risk. A good set of business requirements should address all of these drivers if possible. You may not often be in the position of being able to drive sales up by, say, 40 percent, but you are certainly able to reduce risk by implementing a well-thought-out high-availability strategy for email, if email is a critical business function.
Let's look at a few examples of business requirements:
Revenue requirement: A company may choose to implement a mobility app to increase productivity of its sales staff.
Risk requirement: A company needs to protect itself from a failed audit because of a lack of support for its existing version of Exchange.
Risk requirement: A company has made a strategic decision to migrate their technology base from Lotus Notes and Domino to Microsoft Exchange and Microsoft SharePoint due to in-house development moving to .NET based languages.
We will examine business requirements in the context of a sample customer, XYZ Bank.
This story is quite typical. It includes a mixture of requirements, including a clue that the bank is researching later versions of Exchange and that it is aware that several storage options are available. This is an indication that the bank has a number of well-defined feature-based requests.
We can discern a number of business-specific requests from this scenario:
Replace the unsupported Microsoft Exchange 2003 platform with a currently supported Exchange 2013 environment.
Increase the availability of the email environment to match the XYZ bank standard.
Design for future growth.
Allow for auditing administrative activity with the ability to demonstrate such processes.
Notice that the requirements are broad and contain little technical detail. The business requirements captured as part of a design along with an executive summary, for example, allow management and key staff to assimilate quickly the reasons why the Exchange upgrade is being deployed without getting bogged down in technical detail. In our example, XYZ concentrates on mitigating risk (support, availability, and auditing), while also supporting the stated goals of the business (expansion and increased communication).
Staying with the theme of combining technical requirements with functional and nonfunctional requirements, they are quite different from business requirements. Technical requirements are the “what” and “how” parts of requirements. Furthermore, business requirements are written as broad statements, while technical requirements are designed to be precise statements. Technical requirements should be simple lists that are both individual and granular. One of the biggest causes of confusion for implementers is ambiguity in technical specifications. Adding too much explanation within the requirements can cloud the specification.
When dealing with a product like Microsoft Exchange, we take a lot of functionality for granted, and so we should. However, there is a fine line to walk in terms of writing specifications. Let's take, for example, the last line from our XYZ Bank scenario:
Finally, XYZ has stated that it would like similar messaging functionality as provided by Exchange 2003 on day one of implementation while reserving the right to add features in the future.
We could take for granted how to interpret this statement. However, it is actually quite subjective and needs clarification. For example, taken alone, we do not know who or what XYZ is, what “similar messaging functionality as provided by Exchange 2003” means, and what types of features could be added in the future. There are two possible paths of interpretations of this statement: One is broad interpretation based on our knowledge of Microsoft Exchange, and the other is “analysis paralysis.”
An example of analysis paralysis would be to specify Exchange functionality as follows:
A user must be able to generate an email.
A user must be able to display the contents of an email.
A user must be able to share their calendar with another user.
Calendar sharing must support granular rights.
This would be a massive book on its own. What we want to do is to clarify what “similar messaging functionality” means and to specify it. This may include the following:
Sending and receiving of email internal to the organization
Sending and receiving of Internet mail
Rich client access using Outlook 2013
Thin client access using Outlook Web App (OWA)
Mobile client access using Exchange ActiveSync (EAS)-based compatible devices
New systems require signoff or acceptance testing criteria to be fulfilled. Each technical specification should be capable of being tested and proved or disproved. Your technical and/or your functional specification should translate easily into testing criteria, which will allow for a relatively easy signoff. In other words, you should be able to write a test plan based on your technical or functional specifications.
If you need to break out technical requirements into a separate document listing functional and nonfunctional requirements, consider the following example.
Based on the following business requirement, we are able to infer these functional and nonfunctional requirements:
Design for future growth in mind
A constraint in a design is a non-negotiable item, which has been specified in advance or required by the project. For example, you have a requirement to do X but are constrained by factor Y. Constraints have a direct bearing on the project and may have a significant impact on the final result. Constraints should be listed as a separate heading in the requirements section of your document.
Some constraints are economic, for example, when the customer has already purchased and installed the new hardware without knowing if it will fit the project's ultimate requirements. Another constraint can occur when the customer has specified that Exchange must utilize an existing investment in virtualization or storage. Other constraints may be time-based; that is, the project must be completed within the financial year, or before the change freeze period around a given holiday, and so forth.
Whatever the constraints, make sure that they are documented in your requirements so that you may reference them later in your design. Depending on the nature of the business, security, risk, and compliance may pose significant constraints for a new project.
We often see assumptions listed in documentation. However, assumptions have no place in your documentation. When you review the documentation, endeavor to clarify such assumptions as facts and then list them as either project requirements or constraints.
Now let's discuss how to get requirements and who creates them. Notice that we use the term requirements elicitation and not requirements gathering. Gathering implies that requirements are easy to find and include in your documentation. More often than not this is not the case. Requirements elicitation is a much clearer description of what you're trying to achieve. Elicit means “to draw out,” which is much closer to how requirements are brought forth, that is, through interactions with teams and individuals.
During this phase, you need to manage constantly the fine balance between assumption and fact. This applies as much to you, the consultant, as to the rest of the project group. You may or may not have been briefed before you joined the project. However, more often than not, as the consultant you may have several assumptions that, if left unspoken, will filter into the design. Your assumptions, and the assumptions of the assembled group, must be verified as facts in order to be considered valid requirements.
High availability is a classic example of the difference between an assumption and a fact. Someone may state, “We want 99.9 percent availability.” Your assumption might be 99.9 percent availability during work hours, not including scheduled downtimes. Their assumption might be 99.9 percent availability on a 24/7/365 scale. Your job is to take the “We want 99.9 percent availability” statement and eliminate any ambiguity immediately by eliciting how that availability is measured and then update the statement. For example, “We want 99.9 percent availability on a 24/7/365 basis, not to include any scheduled downtime.” If this request sounds unreasonable or implausible, then part of your role is to educate the group as to why this is not feasible and drive consensus on what is stated in the final requirement.
As you read through the subsequent chapters in this book, you will be reminded that Exchange is a feature-rich and exciting product. However, without clearly defining the requirements—that is, the “what,” “where,” and “why”—your Exchange implementation will likely not deliver the results you hoped for. Learn to document the reasons for your choices at all times, make your designs defensible and justifiable, and know why you wrote what you did when you review your design document again in the future.
Chapter 2
Exchange Design Fundamentals
In Chapter 1, we introduced requirements elicitation as we grappled with the nuances of different types of requirements and how to distill those into a readable form. In this chapter, our goal is to transform those requirements into design decisions.
Before we delve into the meat of the design contents, let us examine the document structure. A good design document is not a purely technical record, nor is it purely a business or project-based one. A well-written design document is intended for many audiences, from the technical implementers on various teams right up to the CEO.
Let us take a moment to define what a design document is not. A design document is not written to sell Exchange 2013. That is, it is not a marketing document, and it should not be approached as such. It should not list every Exchange 2013 feature, and it should not ramble on about how wonderful a product it is or about the marvels of a given feature. The discussion of relevant features does have a valid place in the document; however, it should not bulk up the document unnecessarily with praise for the product and its features, or else it will alienate the vast majority of its intended consumers.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!