PROFESSIONAL TEAM FOUNDATION SERVER 2010 EBOOK
Professional Team Foundation Server [Ed Blankenship, Martin Woodward, Grant Holliday, Brian Keller] on weinratgeber.info *FREE* shipping on qualifying. weinratgeber.info No warranty may be created or extended by sales or pro- Starting with Team Foundation Server , this integration is optional and. Professional Scrum with Team Foundation Server Published by Wiley .. What's Important in Team Foundation Server” Download from Wow! eBook.
|Language:||English, Spanish, Arabic|
|ePub File Size:||MB|
|PDF File Size:||MB|
|Distribution:||Free* [*Regsitration Required]|
Server weinratgeber.info /dp//ref=sr_1_1?s=books&ie=UTF8&qid=&sr= Professional Team Foundation Server Print + eBook Bundle by Ed Blankenship, , available at Book Depository with free. Professional Team Foundation Server Now Available As with the ALM book there is a DRM Free eBook available at the Wrox site if you.
She observed Barbara approach the house, and saw her walk away again. A fire was burning in the VB Dumps grate, looking cheerful on the autumn night. In letters as in other Microsoft VB Dumps things, he was always curious to know their contents, whether they might be addressed to himself VB or not.
I don t know what to say I ought to thank you. Carlyle the same night that Richard protested he had seen Thorn, had prevented Barbara s discussing the matter with him then, and she had never done so since. I ll go and have a chat with her. That would not do, if she must hear it at all, she must hear it from him, and at once.
Latimer did mention children. Yes, she faintly said. Barbara got just five minutes alone in her chamber before the dinner was on the table. Well, I cannot quite tell. Should it delay Windows 95 until it could include a web browser, or should it ship Windows 95 without one and continue to develop an integrated browser in parallel? Microsoft chose the latter route and released Window 95 without a browser but in time to catch the Internet wave. While Windows 95 was far from perfect, its timing was ideal.
Two obvious resources you need for software development are people and equipment. You may need user interface specialists, database specialists, security experts, and performance-tuning engineers. The bulk of the technical work will likely be done by generalists: If your project needs a high percentage of specialists rather than generalists, you might want to increase your time and cost estimates.
Finding and replacing specialists can be a more time - consuming and costly activity than swapping generalists. You can convert money into people by hiring a team.
Some team members will be employees — people you want to retain for the duration of the project and beyond. Others will be contractors — people with specialized skills that you need during certain phases of the project. You can download it, lease it, or rent it for remote access.
This is true for both hardware and software. You can allocate technology to problems as they arise and then shift resources such as money as circumstances change. For instance, you may need significant hardware capacity during a performance-testing phase of a project.
Planning Planning is an essential ingredient in shipping great software. Planning takes a great deal of time before a project begins and even more time once a project is under way. Depending on which methodology you use, the specific planning activities will vary dramatically. For instance, planning a project using a traditional software development methodology involves allocating time for requirements defi nition, design, development, testing, user acceptance, release management, and support.
Software development occurs solely during the development phase. Figure shows a high-level view of Waterfall and Scrum planning. Waterfall and Scrum planning. The Waterfall method of project management is the method most commonly used to run software projects. When using the Waterfall method, you schedule tasks sequentially, completing one phase of activity before beginning the next. One place where Scrum is different from traditional software project management methodologies such as the Waterfall method is with respect to predictability.
Waterfall assumes that you can predict how long tasks will take. You allocate people and time to tasks and then schedule them accordingly. Scrum assumes the opposite. If you cannot predict how long a single task will take, how can you predict how long a whole series of tasks will take? Rather than predict the product schedule, you predict smaller units of work that can be completed within a sprint.
At the end of each sprint, features are complete and can be included in a potentially shippable product. This way, you predict features by time rather than predicting time by features, which is essentially a time-box approach.
A sprint is the smallest cycle time within Scrum. Chapter 9 focuses on running sprints. Sprints can be as long as a month or two and as short as a day or two.
The ScrumMaster decides the duration before the sprint begins. Each sprint starts with a sprint planning meeting, during which the team looks at the product backlog and decides which features to build during the sprint.
The team members use their experience in the previous sprint s to predict how much they can accomplish in the next sprint. This is significantly different from the Waterfall method, which involves predicting the release and features up front and allocating time and people to the tasks. Note that each task is scheduled with a known duration. If a task completes early or late, this will impact all other tasks in the release. This works well if you have a high degree of confidence in your task estimates, but it falls apart quickly if the estimates are incorrect.
Download from Wow! However, rather than plan tasks to manage dependencies, you plan tasks to manage feature delivery. The team focuses on building the product rather than keeping to the schedule.
The schedule in Scrum is simple: Waterfall method Gantt chart. Planning within a sprint focuses on the product rather than the schedule because the schedule is so simple.
This report, and many others like it, is covered in Chapter 6. A Scrum project artifact. Common examples of artifacts are task lists, schedules, and test cases. Figure shows a list that combines backlog items and tasks, to easily organize and use them together. Budget Planning It is extremely difficult to accurately forecast the cost of software development before you start.
There are many unknowns in the factors that impact cost, such as requirements, technology choices, and team composition. Or, while you may assume that technology used on a previous project is good for this one, you may get into unfamiliar territory when working on specific features for this new project.
And, in the realm of people, you may not be able to assume that a specific person will be on the project team.
Rather, you tend to work with roles such as senior architect or database developer when estimating projects. The project management triangle in Figure 1- 4 depicts the three constraints that defi ne a project: This is the case in auto repair and home renovation, so why not with software?
Because of these unknowns and the fi xed constraints in the triangle, you simply cannot offer a fi xed- cost commitment for a fi xed-feature product.
You therefore have two alternatives: Vary the cost or vary the features. If you must deliver a fi xed budget, then the answer is simple: Vary the features.
Scrum offers this alternative. The cost of a Scrum team can be fi xed. If you have two product owners, six team members, and one ScrumMaster, then you can add up their weekly wages to determine the weekly cost. If sprints are fi xed at four weeks, then you know that a sprint will cost four times the weekly cost of the team.
Now you can accurately predict the cost and duration of a sprint. However, customers rarely pay for sprints; they pay for products. This leaves the third element of the triangle: The project management triangle.
The backlog items must be ranked into a list, based on the value they deliver to the customer. By looking at the prioritized backlog, you can identify the fi rst set of backlog items to implement. You might even be able to identify the second or third set of related backlog items. In other words, by working with the backlog, you can make a reasonable estimate of how much you can get done within a fi xed time period.
Your estimate is for a fi xed time period with a fi xed team, but the feature set that you deliver will vary.
The Scrum approach therefore meets the goals of budgetary control and also addresses the realities of software development with respect to unknowns. People Planning Scrum projects are inherently team-driven activities, with all members involved with all aspects of the project. The team composition is simple, with just 3 roles defi ned.
Team size tends to be small — up to 10 people or so. Because there are so few roles and so few people, team members are highly interdependent.
The individuals on the team will succeed or fail together. Scrum requires a cohesive team, one that is assembled early in the project and remains consistent from sprint to sprint. Of course, people will come and go, as families, careers, and projects take us in unexpected directions, but team consistency is more important in a Scrum project than in other project management methodologies.
In later chapters, we describe how sprint planning begins with a measure of velocity, the speed at which a team can implement items on the product backlog. With each sprint, the team estimates the effort needed to complete a set of backlog items. The team commits to completing the items, and then it actually does the work. The measure of velocity becomes more accurate as the team executes sprints. Changing the team between sprints negatively affects the predictability of the sprints.
Without knowing how much work these new team members can do, the team will have a difficult time committing to backlog items. You should avoid this if at all possible. Changing people will have a ripple effect not only within the team but also potentially within the customer base. For instance, if the product owner told some customers that they can see a feature at the end of a four-week sprint, and team changes within the sprint prevent that feature from being complete, the customer will be dissatisfied.
The alternative — uncertainty — causes stress. Therefore, you should plan to educate the team on Scrum prior to the project. There are many good books and resources on Scrum methodologies that you can use to help train the team on what to expect. Appendix B provides suggestions on where to begin. Product Features Time and money — the latter being converted to people and equipment — are the limited resources for building a product.
These resources have a direct relationship to the feature set that ultimately c Assuming that there is variability in terms of product features, your job is to optimize the use of time and resources to build a feature set that maximizes the value of the product. In some business discussions, people are referred to as resources. This is offensive to some and misleading to others. Here, we refer to resources as just what it sounds like — sources of supply.
A resource can be a supply of labor, money, or equipment. Resources can be exchanged, either directly for example, paying a wage changes money to labor or indirectly for example, paying a wage to build equipment changes money to labor to equipment.
Quality is a feature you can control. You can create a product with more quality or less, depending on how you allocate the resources of time and money. If you run out of time before completing adequate testing on a project, you may implicitly decide to cut quality. The project team has complete control over how much quality to build into a product, as long as quality is considered a feature that requires resources to complete.
Shipping is another feature that you control. You can build a product and not ship it. If you have more time or money, you can build more features and quality into a product. Conversely, if you have less time or money, you can either cut features or reduce quality. The geometry of the project management triangle, with constant angles, dictates the fact that you cannot change just one side of the triangle without adjusting the others.
Features refer to attributes of the product — such as functions, style, security, or performance. Scope refers to the work or effort associated with a project. However, Scrum is designed to react to changes gracefully. With respect to scope, Scrum assumes that the feature set is not fully defined up front. Rather, as the product emerges with successive sprints, features are added to and cut from scope.
Scrum also assumes that building a product will take a variable amount of time and that you cannot predict the amount of time too early in the project. Once you have achieved a predictable burndown velocity, you can begin to predict scope completion dates.
Scrum can work quite well on fixed-budget projects because it enables you to move features in and out of sprints and move sprints in and out of releases. Burndown velocity refers to the rate at which you complete product features during each sprint.
This is covered in Chapters 8 and 9. Scrum came on the scene around and is rooted in Agile programming. Like Scrum, it is an iterative development method. By the time you fi nish this book, you will know more than enough to begin.
This section presents a very brief summary of Scrum in order to help you compare it with the other software project management methodologies. The subsequent chapters cover specific techniques for using Visual Studio TFS to implement the concepts introduced here. The Theory of Scrum: The Agile Manifesto The Agile Manifesto is a great starting point for understanding the principles on which Scrum is based. You can fi nd it online at http: Four high-level values frame the methodology: In addition, 12 principles guide Agile software development: Give them the environment and support they need and trust them to get the job done.
The sponsors, developers, and users should be able to maintain a constant pace indefi nitely. The following section describes the high-level process that Scrum follows, from planning through execution. The Practice of Scrum Scrum is an iterative software development process.
In an iterative process, a product undergoes many releases, some major and some minor, with each release adding more value to the product. This type of process enables a team to deliver value to the customer early and to get feedback that can be quickly incorporated into future product development.
In the Scrum method, the product feature set is defi ned by user stories, which are brief narrative descriptions of how the product will be used, by whom, and why. As features are scheduled for development, user stories are decomposed and augmented with increasing levels of detail. The product release cycle in Scrum is divided into sprints. These are fixed durations, typically two to eight weeks, in which all development activities take place. Each sprint produces a potentially shippable c After a number of sprints, typically 3 to 10, the product contains enough value to warrant deployment.
Figure shows the release and sprint cycle. Sprint 1 Sprint 2 Sprint 3 Release 1. The Scrum release and sprint cycle. You can observe the high-level activity of a Scrum project by reviewing three characteristics: The following sections look at each of these characteristics in more detail.
Project Artifacts The product backlog is the list of all features waiting to be built. A team prioritizes the product backlog by business value and ranks it according to which features should be delivered to the customer.
Scrum assumes that the list will grow and shrink throughout a release, as the team learns more about the features and the customer learns more about the product.
Why Hosted TFS?
Initially, there is just enough detail associated with each backlog item to begin the discussion between the product owner and the development team. The primary communication mechanism between groups is face-to -face interaction rather than documentation. The product backlog is the sole input directing work streams of the Scrum team. At the beginning of each sprint, the team moves items from the product backlog to the sprint backlog to indicate the features that will be built in the current sprint.
At the end of each sprint, the team produces a potentially shippable product. Bugs that exist at the end of each sprint are added to the product backlog, so work can be scheduled to complete those items in future sprints. Chapter 6 covers using TFS to manage and track the product backlog. Roles Scrum has a very simple team structure that involves just three roles.
These are the three roles: This person is the voice of the customer and is always available to meet directly with the development team to discuss and review features. There must be at least one product owner on a project at all times. Team members are the architects, developers, and testers. There is no outside group performing these tasks. The ScrumMaster defi nes the sprint duration generally two to four weeks , runs the daily standup meeting, and helps to keep all team members working productively.
Chapter 2 covers team organization in detail. Ceremonies At the beginning of each sprint, the team holds a sprint planning meeting to review the backlog and estimate how much it can accomplish. The team identifies the items it will build in the sprint, and it commits to completing those items. Because each sprint has a fi xed set of resources, the number of features must vary refer to Figure 1- 4. Each day of the sprint, the ScrumMaster leads the daily Scrum, or standup meeting.
This is a short to 30 -minute meeting to ensure that everyone on the team is productive and to identify dependences that are impeding progress. Chapter 10 covers using TFS to conduct effective retrospective meetings.
Microsoft Solutions Framework MSF is a framework for building and shipping software in an iterative series of releases. Its goal is to help a team build and ship software for enterprise customers in a rapidly changing world while reducing risk at each stage. It assumes that there will be changes in scope, technology, and people throughout the project. Iterative software development focuses on delivering small pieces of functionality frequently in order to solicit and react to feedback, thereby reducing risk.
Rather than shipping one release over a two year project, MSF breaks a release into four smaller projects, each of which delivers a subset of the features.
With this method, the end user can see the product in an earlier stage of development and provide feedback before additional features are built. MSF contains five distinct milestones in each iteration, represented in the figure by black diamonds and labeled outside the c There are five corresponding project phases in each iteration. These are labeled on the inside of the circle.
The project moves from one phase to the next as each milestone is achieved: Deployment complete 4. Release readiness approved Deploying Envisioning 1. Scope complete Developing 2. The MSF process model. Instead, it captures the high-level vision for the release and the specific scope that will be implemented.
It may have screen shots of competing systems or of prototypes. It may defi ne high-level use cases, business workflows, or personas to indicate how the system will be used and by whom.
Project plan approved — This milestone is reached at the end of the planning phase, after the functional spec is written and a concrete project plan is approved by the project sponsor. This is typically a relatively long phase. It involves prototypes and detailed design activities. The more technical work that is completed in this phase, the more accurate project plans will be. Scope complete — This milestone is reached after the components are built and unit tested during the developing phase.
All major software development is complete at this point. Release readiness approved — This milestone occurs after the stabilizing phase, when the system is tested for end-to - end correctness and workflows. This phase also typically includes stress and performance testing. In addition, production-readiness activities, such as run books for operations and configuration tools, are built. Deployment complete — This milestone is reached after the deploying phase, when the software is deployed to the target operating environment.
MSF defi nes six roles, all of whom are peers on the project team. Each of these roles should be fi lled at the beginning of the project, although full-time involvement will vary during each cycle: The MSF team model.
Their central job is to balance the project constraints of time and money against the feature set to deliver the product on time and on budget. What makes this difficult is that the program manager does not control the resources or the feature set; the other roles control the resources and feature set. Effective communication and negotiation are hallmarks of this role. Product managers deeply understand customer needs and usage patterns.
They instinctively know what is good, what is great, and what is awful. They contribute heavily early in the project, a bit less in the middle, and then significantly again toward the end.
This team works closely with all the other teams to build a top-quality product. It is organized along functional or technical lines so it can scale well.
It works closely with the development team to test the product throughout the developing and stabilizing phases. This often includes writing and testing the installation instructions to ensure smooth rollout.
It also includes working with operations teams to ensure compliance with local procedures and policies in the target environment. Release management contributes heavily near the end of a release, but earlier involvement greatly increases the likelihood of successful deployment. At the software level, it includes visual design, information architecture, feature usability and discoverability, and the overall look and feel of the system. In addition to software, the user experience team delivers documentation, help text, and training.
Making this function a peer with other team roles enables these critical functions to be planned for and budgeted throughout the project. The Waterfall Method The Waterfall method is a proven technique for engineering and construction management. It breaks a project into a series of phases, each one conducted by a specialized team with specific outcomes and deliverables. The term Waterfall refers to the visual structure of a Gantt chart, which is commonly used for planning.
Figure , earlier in this chapter, depicts the waterfall shape of the Gantt chart. The Waterfall method is very effective under certain circumstances, although it has had limited success in producing modern software.
The Waterfall method favors stability over agility, planning over experimentation, and documentation over discussion. The following sections discuss these three concepts. Stability If system requirements are stable, you can predictably engineer a solution that meets those requirements. You will be told where the bridge should begin and end. With stable requirements and stable technology, an experienced engineering fi rm should be able to prepare a reliable estimate for completing the work.
If the requirements are more dynamic, then it becomes increasingly difficult to estimate the time and cost of the project, and the Waterfall method fails. In this case, an experienced engineering fi rm would propose a discovery phase, possibly for a fi xed price, but could not accurately plan the project further.
This makes using the Waterfall method difficult because there are simply too many unknowns at the start of a project. Customers may have difficulty articulating what they want, and engineers may not fully understand what they need to build. If these people are speaking different languages, each will be misunderstood.
Planning Each phase in the Waterfall method is predicated on successfully completing the prior phase. Each phase builds on the work and decisions made in the prior phase, and the team can adjust its plans accordingly. This implies that decisions made in early phases have an increasingly large impact in later phases.
That being the case, earlier phases focus on solidifying the requirements and design of the system, with little code or engineering work taking place until later.
A central concept in this method is that problems uncovered earlier in the process are much easier to correct than those found later. The same concept can also be applied in some software projects. If the requirements are very stable and clearly understood, then a lengthy design phase, including prototyping and feedback, followed by a shorter development phase, can deliver a product for a predictable cost. Documentation Documentation is the primary communication vehicle between phases of the Waterfall method.
Heavy reliance on documentation allows project phases to start, be staffed by experts, produce a result a document , and then wind down in a predictable manner. Finally, it provides a written record of progress so there is transparency into why, when, and by whom decisions are made. Requirements gathered from stakeholders are cataloged and assembled into a document that becomes the defi nition of success.
This primary document is called the requirements defi nition, business requirements document, or something similar. The document essentially becomes the contract between the business users and the technical implementation team.
If, when the system is deployed, it meets the requirements listed in this document, the system is deemed successful. Therefore, both teams must fully understand this document. After the requirements defi nition is reviewed and approved by the business users, a more technical team translates it into a functional specification or spec. The functional spec describes what the system will do.
It depicts screens, database tables, field-level validation, and workflow. It translates the business requirements into something that the team can build. The business user must also review and approve this document, since it precisely describes the system that will be built. The functional spec also typically includes a traceability matrix that references the requirements document. This matrix ensures that the functional specification addresses all business requirements.
Following the functional spec is a detailed design document, the fi rst document that addresses the technology. Its purpose is to map the functional spec into a blueprint of a system. After system architects approve the detailed design, construction begins. First, it assumes that people will read the documents.
This is rarely the case, as documents frequently exceed hundreds of pages. Second, it assumes that the reader can understand the documents. This is also rarely the case. They generally approve a document based on their trust of the people writing it, but this allows errors and omission to easily slip past review. Finally, the more the team focuses on documentation, the less it focuses on the actual task at hand — building great software.
The intent is to help you understand the similarities and differences, so you can use your experience with Waterfall or MSF to gain insight into Scrum. How are the user needs and expectations captured? How are requirements communicated to the technical team?
How does the technical team communicate with users? The three project management methodologies address product definition as follows: They are generally expressed in a technical grammar rather than natural language, although they are describing business goals rather than technology. At the end of the requirements defi nition phase, the capabilities of the system are fully specified.
The requirements document can be used for tendering proposals from competing vendors to do the implementation. This document is used to build a functional specification that fully describes the product. The functional specification can be used for tendering proposals from competing vendors to do the implementation.
User stories are decomposed and expanded closer to implementation. The feature set for the system is dynamic and changes throughout the project life cycle. Adaptability How does each methodology work with changing requirements? Does the methodology favor a stable or changing landscape?
The three project management methodologies address adaptability as follows: Changes introduced later in the project can have a large ripple effect on time and cost. Change orders are used to track and schedule cost and features. A big design phase up front can produce a predictable cost and schedule. Requirements are locked at the beginning of a release but can be added in subsequent releases. Major and minor releases can be scheduled based on new requirements.
Because change is expected, it has less of a ripple effect throughout the system. Instead of change orders, additional sprints or releases are added to the schedule to implement new features. When will you know if the project is slipping? The three project management methodologies address scheduling as follows: Using a known team and known technology, an experienced team can predict the duration of each phase and task. However, because MSF is iterative, with more frequent releases, schedule slippage is more manageable.
Subsequent releases can add or remove features to react to prior impact. Estimation becomes more accurate with each successive sprint, based on actual work completed. Scheduling is very reliable because of the fi xed-duration sprints. The scope is less reliable because features will move in and out of sprints and releases to accommodate the fi xed schedule.
People How are teams organized? When are people added to and removed from projects? The three project management methodologies address people as follows: Business analysts perform the requirements defi nition work early, often before technical experts have been assigned to the project. Once development begins, business analysts have a reduced role. Testing begins after development completes. Project management is a specialized role, often staffed by a project management office.
The project is run by a team of peers, with each discipline contributing to each phase. Within the team, just three roles are defi ned. The work is very collaborative within and across roles.
The team is self- organizing, and team members have full visibility into the product backlog and commit to completing scope. The team is involved in planning, estimating, developing, and testing. The team remains customer focused throughout the project. The three project management methodologies address documentation as follows: Documents enable team members to come and go because they provide a permanent record of decisions.
Microsoft Project and Gantt charts are tools commonly used for documenting the project schedule. User stories are decomposed into a scope that is scheduled for development. Before work can begin, the product owner and team members discuss the features in detail.
Visual Studio TFS is a very effective tool for communicating user stories, features, and tasks. Project Duration What is the typical duration of a project? The three project management methodologies address project duration as follows: Typical durations are 6 —12 months for a major release and 3 — 6 months for a minor release.
This pace balances design with delivery and user feedback with product improvement. Releases typically last 6 —12 months, and sprints last 2 — 4 weeks. It requires all of the following: This is written or heavily shaped by the project sponsor. You need to allocate and spend resources carefully. Scrum is a planning process, and TFS is a planning tool. It can be considered useful in terms of productivity, education, entertainment, or any other attribute your customers value.
Scrum is a product-focused method for producing products with the right features for your customers. With all this in place, you have the raw ingredients to ship great software. Several project management methodologies are commonly used in shipping software. This chapter discusses three of them: It presents highlights of the three methodologies and compares their significant project attributes.
Team organization in Scrum is quite different from team organization in traditional software development projects. Rather than analysts, developers, testers, release engineers, and project managers, Scrum involves a core team of peers who are responsible for building, testing, and shipping a great product.
The roles are clearly defi ned, but each person is responsible for a wide variety of tasks. This shift leads to a more collaborative, empowered team. This chapter defi nes the project roles in Scrum, both in terms of their responsibilities on a project and in the context of traditional software project management strategies.
Of course, many more people have a significant impact on a project. People outside a Scrum team are responsible for funding, acceptance, delivery, and support. This is one reason Scrum can be so effective: It limits the crossfi re that a larger constituency generates. Figure depicts a typical Scrum team. This example shows one product owner, one ScrumMaster, and six team members doing development and testing.
Scrum team organization.
These are not easy tasks, but when treated as top -line job responsibilities, they are quite achievable. ScrumMasters can facilitate team productivity in a number of ways, as shown in Table Keeping it short keeps the team moving and prevents the team from wasting time.
Promote effective interteam communication The simple organization structure of a Scrum team keeps communication lines open. The ScrumMaster ensures that people are talking. Eliminate impediments to progress The ScrumMaster tracks and attacks any impediments. This includes simple tasks such as keeping the team caffeinated and working with good equipment, as well as complex coordination and reporting. Before looking at techniques and attributes of productive teams, it helps to think about the negative.
Unproductive software teams have a number of common attributes, as described in Table TABLE The ScrumMaster and the product owner empower the team to build the product. The Scrum team is empowered to make virtually all decisions about the product, which streamlines decision making. The daily Scrum enables a very rapid exchange of ideas, concerns, and dependencies. Large teams that prohibit progress A Scrum team is small — typically fewer than 10 people.
You can build more complex products by scaling with Scrums of Scrums, but the basic unit remains small and agile. The ScrumMaster can do this by using formal and informal techniques, but whatever techniques are involved, the ScrumMaster is responsible for creating a productive environment.
Professional Scrum with Team Foundation Server
The following sections describe the activities of the ScrumMaster: The entire team attends this to 30 -minute daily meeting, which is typically held in the morning. The purpose of the daily Scrum is to discover issues that are blocking progress and to request assistance or adjustment to overcome these issues. Easy solutions are resolved at this meeting, and more difficult topics are scheduled for later follow-up.
At the daily Scrum, a quick inexpensive snack helps the mood of the meeting. For topics that require follow-up, the ScrumMaster may or may not stay involved. For topics that the team can resolve — such as technical discussions, refactoring, common components, or performance — the ScrumMaster is not needed. Team members can hold these discussions following the daily Scrum or schedule meetings for later in the day.
The ScrumMaster sets the pace of the sprint during the daily Scrum. If necessary, the ScrumMaster should get commitments from people to ensure that everyone is focused on the most important backlog items.
The point of the meeting is to remove roadblocks and impediments and to ensure that the team is working toward the common goal of the sprint. It is a great opportunity to keep a sprint productive and collaborative. Demonstrating progress is an easy way to motivate people.
If someone just fi nished a backlog item that makes a good demo, have that person spend a few minutes showing it off during the daily Scrum. Involving Others The daily Scrum occasionally raises issues that people outside the team must help resolve. These issues might involve clarification of product features, the budget, or the deployment environment. The research may take days, but the team productivity is not impacted.
Often, this is done in a spike , a short sprint focused on a single issue. See Chapter 11 for information on running spikes. This division of labor keeps the team productive. Team members focus on building software, while the ScrumMaster tracks down the right people for a decision.
The ScrumMaster identifies and briefs the appropriate people on the issues and the decision that must be made. Then the ScrumMaster brings those people together with the team to reach or review the decision.
Fostering Effective Communication The ScrumMaster must ensure team productivity, and this requires effective communication. The ScrumMaster must keep a constant watch for communication enablers and inhibitors. Who are the connectors on the team, the individuals who work well with everyone and are quick to convey information or provide insight? Are the technical leaders adequately coaching the junior team members? Is everyone contributing to his or her best ability?
Is everyone actively participating at the daily Scrum? Is anyone spending days or weeks on a problem without communicating or demonstrating progress? The ScrumMaster must ensure that communication lines are open among team members and between product owners and the team. Failure in this area may not be recoverable. Determining Team Size Large projects that have increased scope and complexity generally require larger teams. Larger teams involve more people, more diverse skills, and often more locations.
Scrum projects tend to be smaller. They tend to focus on product features and on shipping quality software. If Scrum is done right, it involves less process and more result. The ScrumMaster is responsible for scaling a Scrum project, and he or she must do this carefully. The Product Owner The product owner is responsible for ensuring that product features meet customer expectations.
The product owner can be a leader in the user community, someone from marketing, a business analyst within the IT arena, or any other individual who can effectively communicate business needs. Having a deep understanding of the business is crucial to success. Strong verbal and written communication skills The product owner will spend time with users, business decision makers, clients, and the Scrum team.
The various constituents speak different languages, and the product owner must be able to communicate with them talk, present, write, e - mail, IM at all levels.
Presence The product owner must be physically or virtually present on the team. He or she must be available to answer questions quickly and decisively. The product owner may not have all the answers but should be able to get them on short notice in order to prevent impediments. At a high level, the product owner has the vision for the product.
He or she describes the end state for the system and how it will benefit the users. More tactically, the product owner has details about what specific features must do. The product owner will not be the expert on all features, but when this person does not know something, he or she needs to be able to find answers from someone who does.
A product owner is involved in three primary activities: Specifying and Prioritizing Features The product owner, or project sponsor, writes the product vision to describe the overall goals of the product. The product vision should convey who uses the product, what benefits the users derive, and what competing options exist.
In total, the product vision describes the context in which the product exists.
Microsoft TS VB Self Study - L/C Magnetics
The scope defi nes the level of effort, emphasis, and constraints that guide the early sprints and releases. With the vision and scope in hand, the product owner creates the product backlog.
The product backlog is the master list of all potential features for the product. The items in the product backlog, also known as product backlog items PBIs , must be specified with enough detail so that the team can understand and discuss them.
It is common for PBIs to be expressed in user stories. PBIs can be very high level or can provide more detail. In either case, they should contain just enough information for everyone to understand the feature. It starts as a simple sentence or two, often on a note card, and is used as a reminder that more detail is needed.
It culminates in a rich understanding between the product owner and the team, with just enough documentation of what is needed and how it will be tested. Prior to the fi rst sprint of a release, the product owner populates and prioritizes the product backlog so the team can gain insight into the overall scope of the release. Prioritizing the backlog is crucial because it enables the team to commit to the items of the sprint. The backlog priority indicates the order in which PBIs should be scheduled into a sprint.
The priority is a relative value, where lower numbers have great priority. For example, an item with a priority setting of 50 will be scheduled before an item with a priority of 1, Business value is a measure of importance for a feature. A feature may be very important to the business, but it may not be needed or even feasible until a later sprint.
The priority directs the order in which features will be built — not their intrinsic importance to the product. Similarly, the backlog priority is also different from effort. Effort is a rough estimate of how difficult it is to build a feature. The team may not have enough information to make a good guess, but it can at least make a guess.
We cover estimation in Chapters 3—6. A sprint is a unit of work, typically lasting two to four weeks, that delivers a set of features in a potentially shippable product. The product owner delineates what features will be in each release and works with the team members to schedule those features into sprints. Chapters 8 and 9 describe this process in more detail. Whereas a sprint is a potentially shippable product, a release is a product actually ready to be shipped. There are big differences between the two.
Most products cannot ship until a set of related features are complete, hardened for production, reviewed for security, and packaged for deployment. The product owner defi nes the release by determining the set of features that he or she would like to ship as a unit. The team then iteratively builds those features in sprints. At the sprint planning meeting, the team selects PBIs and commits to completing them within the sprint. One by one, the team removes items from the product backlog and places them on the sprint backlog.
The sprint backlog is an outcome of the sprint planning meeting. The sprint planning meeting is a group exercise, with the product owner, ScrumMaster, and team all participating. The product owner prioritizes the product backlog. The team commits to specific items it will complete within the sprint. The product owner starts thinking about testing while initially writing the user stories.
First, the product owner defi nes a test plan, indicating the success criteria for each PBI. Then the product owner defi nes test cases. There may be just a few test cases, or there may be dozens. The goal of the testing is to ensure that the product performs as expected. As described in Chapter 1, Scrum minimizes documentation. The product owner has huge incentive to be explicit and thorough in defi ning test cases because the team will build features that pass the tests.
The team will create many automated tests, and the product owner may create hundreds of manual tests. Chapter 7 covers quality assurance in detail. Scaling Product Owners A traditional software project may involve months writing specifications or specs before anyone begins to write any code. With Scrum, you try to minimize specs in order to write code earlier. The high-level information that used to be in the spec is now headlined in the product backlog.
The additional details that used to be in the spec are available on demand from the product owner. Therefore, the product owner can quickly become a bottleneck in a project.
If you need one additional product owner, you can simply add one to the Scrum team. You may need an extra product owner for just one or two sprints, or maybe for an entire release.
Figure shows a Scrum team with two product owners. In this scenario, each product owner would be responsible for a set of sprint backlog items. A Scrum team with two product owners. For a large project that requires more than two product owners, the team may want to add a hierarchy of product owners.
For instance, if the project is to build a retail website, one product owner may be in charge of inventory, one may handle marketing, and one may be responsible for customer management. You may also have a product owner for performance. In the case of multiple product owners, one of them should represent the others at the daily Scrum meeting.
Figure shows a Scrum team with four product owners. In this case, each product owner would be responsible for a set of sprint backlog items, but only one would need to attend the daily Scrum. Issues raised during the daily Scrum would be resolved directly between the team members and the attending product owner.
A Scrum team with four product owners. Team Members As stated at the beginning of this chapter, Scrum teams have a simple organization.
Each team is composed of a ScrumMaster, a product owner, and a number of team members. The team members typically have skills in software engineering, software architecture, business analysis, software testing, database tuning, IT operations, user experience, and user interface design.
The primary responsibility of the team members is to build the product. They determine the architecture, component design, and user experience. They work within boundaries of time and cost and are empowered to make trade- offs to build the best possible product within those limits. Both development and testing occur within the team. Because there is no separate QA group, the team members are both empowered and responsible for their own testing. The team members participate in sprint planning activities.
Since they are the ones building the product, one sprint at a time, the team members are the only ones who can truly commit to completing PBIs within the sprint. This is a radical departure from traditional software development, where managers commit to time schedules and allocate tasks to developers and testers. A Scrum team typically contains a mix of senior, more- experienced members and junior members who are earlier in their careers.
In a more traditional management structure, senior members may be on an architecture board that defi nes the architecture, with product development team members following that architecture.
In contrast, a Scrum team brings together different skill sets and levels. This list becomes the sprint backlog that the team commits to completing. From this point until the end of the sprint, the team is responsible for delivering the items on the spring backlog. The team members must drive toward sprint completion as a group, and they will succeed or fail as a team.
If the team commits to completing 10 items but completes only 5, the failure to meet the commitment has cost the project something — in terms of time, money, or trust. All team members must actively engage in discussion.
Their discussions, both across the desk and at the lunch table, will wander from technical details to user expectations. Someone will be working on a user interface element, someone else on a business rule, and maybe a third person on a caching technique.
Along the way, collaboration is natural. The alternative, which is to make progress in many disparate areas of the backlog, tends to be isolating and may lead to fragmented results. Consider a team building a retail website. A fourth person working on performance optimizations may just have his or her head down in profi ling and monitoring tools.The vision should be a meaningful description of the product goals and an inspiring outcome.
First, the product owner defi nes a test plan, indicating the success criteria for each PBI. Its publication marks a particular moment in the evolution of things: The way you plan the project changes. Someone will be working on a user interface element, someone else on a business rule, and maybe a third person on a caching technique. By focusing on just this one ingredient in successful software, this book provides the details you need.
Vsts , tfs. Well, I cannot quite tell.
- EXPLORING THE WORLD OF LUCID DREAMING EBOOK
- AUDIOBOOK AND EBOOK CENTER
- PHOTOVOLTAIC SYSTEM ENGINEERING EBOOK
- HEREN VAN DE THEE EBOOK
- BENGALI GRAMMAR EBOOK
- EBOOK NAMESAKE JHUMPA LAHIRI
- MICROSOFT OFFICE 2010 INTRODUCTORY 1ST EDITION PDF
- BACAAN LATIN JUZ AMMA EBOOK
- SOMETHING FOR NOTHING BOOK
- MASS EFFECT HOMEWORLDS PDF
- MICROECONOMICS PRINCIPLES AND APPLICATIONS 6TH EDITION PDF
- EX TERUG METHODE EBOOK EN