Third era of computing. Golang - Overview of Go golang Language. Amazon alexa - building custom skills. Mphasis Digital - Use Go gloang for system programming, distributed systems Future of.
NET -. Related Books Free with a 30 day trial from Scribd. Elsevier Books Reference. Germany, September Elsevier Books Reference. Related Audiobooks Free with a 30 day trial from Scribd. Gerard Maloney. Abhinaya Ambalatharasan.
Show More. Views Total views. Actions Shares. No notes for slide. Individuals within a team anonymously provide estimation for each feature, and the initial estimates are plotted on a chart. The team then discusses the factors that influenced their estimates and proceed to a second round of estimation. This process is repeated until the estimates of individuals are close to each other and a consensus for the final estimate can be reached. Planning poker is one example of a Wideband Delphi technique.
It is also important to note that it is the individual input collected by a mechanism that avoids the group thinking. Then the individual inputs are used for a group decision. In addition to being used for estimation cost, story points can also be used for estimating the overall size of a User Story or feature. This approach assigns a story point value based on an overall assessment of the size of a User Story with consideration given to risk, amount of effort required, and level of complexity.
Each team member must be willing to make an effort to estimate each task honestly, and should be comfortable working with the rest of the team. Estimation sessions can get heated; a team that already has friction will find that it runs into many disagreements that are difficult to resolve. The free flow of information is essential, and the project manager should choose a group of people who work well together. The estimators should all be knowledgeable enough about the organization's needs and past engineering projects preferably similar to the one being estimated to make educated estimates.
The moderator should be familiar with the Delphi process, but should not have a stake in the outcome of the session, if possible. Project managers are sometimes tempted to fill the moderator role, but this should be avoided if at all possible because the project manager should ideally be part of the estimation team. This is because the PM needs to take an active role in the discussion of the assumptions. She usually has a perspective on the project priorities that some of the engineers, stakeholders, and users do not see at first.
The role of the moderator is to listen to the discussion, ask open-ended questions, challenge the team to address issues, and ensure that everyone on the team is contributing.
The moderator may estimate, but if he does, it is important that he remain unbiased by the team's estimates. A well-chosen team will allow the moderator to sit out on the estimation tasks and remain neutral and open-minded during the discussion. The project manager should choose the team, and it should include people that she is comfortable working with.
The team should include representatives from as many areas of the development team as possible: managers, developers, designers, architects, QA engineers, requirements analysts, technical writers, etc. Most importantly, each of the team members should have a stake in the plan, meaning that his goal is to establish a plan which he can agree to and live with.
This allows the Delphi process to serve as an important tool for gaining the engineering team's support for the project plan, giving all involved a feeling of ownership of the estimates on which it is based. Finally, one or more observersselected stakeholders, users, and managersshould be encouraged to attend the meeting. The reason that the observers are important is that they often do not understand the engineering process and what goes into building the software.
Including observers is an effective way to encourage mutual trust between the team and the nontechnical people in the organization. While the observers do not directly contribute to the numerical estimates, encouraging their involvement in the meetings will increase their feeling of ownership of the final estimates that are generated by the team. When the non-engineers participate in the discussion of assumptions and see how the team arrives at estimates, they walk away with a much greater understanding of how the engineers do their work.
What's more, the assumptions are almost always discussed on a level that can generally be understood by most of the nontechnical observers. Since these assumptions usually end up focused on the most problematic areas of development, the observers leave the meetings with a much clearer picture of exactly how the software will be developed.
The goal of the kickoff meeting is to prepare the team for the estimation session. When the kickoff meeting is scheduled, each team member is given the vision and scope document and any other documentation that will help her understand the project she is estimating.
The team members should read all of the material before attending the meeting. In addition, a goal statement for the estimation session should be agreed upon by the project manager and the moderator and distributed to the team before the session.
This statement should be no more than a few sentences that describe the scope of the work that is to be estimated "Generate estimates for programming and testing the first phase of Project X".
If any team member has not yet read the vision and scope document and supporting documentation, the moderator reviews it with the team. If this happens, the meeting should be expected to take an extra half-hour to hour. The moderator reviews the goal of the estimation session with the team, and checks that each team member is sufficiently knowledgeable to contribute. The team generates a task list consisting of major tasks. This high-level task list is the basis for the estimates that are going to be created.
The team must agree on the goal of the project estimation session before proceeding with the rest of the estimation process. In most cases, the goal is straightforward; however, it is possible that the team members will disagree on it. Disagreement could focus on missing requirements, on which programs or tasks are to be included, on whether or not to estimate user documentation or support requirements, on the size of the user base being supported, or other basic scope issues.
After the assumptions are discussed, the moderator leads a brainstorming session to generate the WBS. The team breaks the project down into between 10 and 20 tasks, representing all of the project activities that must be performed.
Once the team is comfortable with the WBS and the assumptions, it will feel much more knowledgeable about the context in which it will be developing the software. This, in turn, will make everyone more comfortable with the team's estimates. After the kickoff meeting, the moderator writes down all of the assumptions and tasks that were generated by the team during the kickoff meeting and distributes them to the estimation team.
Each team member independently generates a set of preparation results , a document which contains an estimate for each of the tasks, any assumptions that the team member made in order to create the estimates, and any additional tasks that should be included in the WBS but that the team missed during the kickoff meeting.
Figure shows the format of the individual preparation results. Each team member builds preparation results by first filling in the tasks, and then estimating the effort for each task. An estimate for each task should be added to the "Tasks to achieve goal" section of the preparation results; the "Time" column should contain the estimate for each task.
Figure Individual preparation results. Each estimate should be made in terms of effort, not calendar time. This means that if the unit of estimation is "days," then the estimate should be for the total number of person-days spent.
For example, if a task will require one person to work for 10 days and a second person to work for 6, the estimate should be 16 person-days or 3. If both people are working at the same time so that their effort overlaps entirely, the calendar time required to do this task is 10 days. Usually, effort does not overlap perfectly like this; this kind of parallel effort will be factored in later, when the project schedule is created see Chapter 4.
However, one important factor in creating the schedule is taking into account necessary delays in which no work will be done. For example, the team may need to wait for a server to be built or a software licensing agreement to be reached; estimates for any known waiting time can also be added to the preparation results.
Any effort related to project overhead should not be taken into account. This includes things like status meetings, reports, vacation, etc. A separate estimation session can be held for overhead. Any time an estimator identifies a project overhead task, it should be added to the "Project overhead tasks" section of the preparation results.
The team discusses on the problem and estimation issues, if any. They also decide on the units of estimation. The moderator guides the entire discussion, monitors time and after the kickoff meeting, prepares a structured document containing problem specification, high level task list, assumptions, and the units of estimation that are decided. He then forwards copies of this document for the next step. If any of the Estimation team members respond saying that the estimates are not ready, the moderator gives more time and resends the Meeting Invite.
Step 5. The Estimation team gets an idea of the range of estimates, which initially may be large.
0コメント