It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it . The article may be deleted if this message remains in place for seven days, i.e., after 13:07, 12 June 2024 (UTC). Find sources: "Fibonacci scale" agile – news · newspapers · books · scholar · JSTOR |
This article needs additional citations for verification .(February 2017) |
In Agile software development, the Fibonacci scale consists of a sequence of numbers used for estimating the relative size of user stories in points. Agile Scrum is based on the concept of working iteratively in short sprints, typically two weeks long, where the requirements and development are continuously being improved. The Fibonacci sequence consists of numbers that are the summation of the two preceding numbers, starting with [0, 1]. Agile uses the Fibonacci sequence to achieve better results by reducing complexity, effort, and doubt when determining the development time required for a task, which can range from a few minutes to several weeks. [1]
It is easier to determine the relative complexity of a task rather than figuring out how much time it requires. Due to this, when working with agile, a revised Fibonacci scale is used in terms of points to estimate the work, as opposed to the traditional measurement of time. [2]
In one method commonly used to calculate the size of stories in points, a process like the game of Planning poker, the following process is used:
Giving each member the opportunity to think individually reduces pressure and may result in a more accurate representation of the feature's size.
In another commonly used method, a process like the game of Two-Pass Relative Sizing, [3] also known as the Steve Bockman Method [4] and the Team Estimation Game, [5] the following process is used:
This method has the advantage that numbers are not used until the second pass; that no guessing is required for the first story read as to how big a "5" or "8" or "3" is; [4] that stories are truly ordered and numbered relative to each other; and when not everyone can estimate the entire story. [6]
Regardless of the method, as the team goes through multiple sprints and the estimation process is improved, the product manager will be able to determine a stable velocity. The velocity is determined by calculating the number of story points completed in each iteration. [1]
People estimate user stories with smaller points more accurately than user stories that have higher costs associated with them. As the numbers increase, the difference between two succeeding numbers increases exponentially and leads to less accurate estimates. [7]
One good way to estimate the cost is to express it in terms of multiples of other known user stories' costs. This way, it will be easier for each team member to estimate the relative cost. The estimation process of comparing a story with two previously estimated user stories is called triangulation. [7]
The product manager can include a "0" value in the scale indicating that the user stories need very little time or resources. [7] However, the user story that was assigned 0 cost cannot be used as a relative scale to estimate the cost of other user stories (i.e. we cannot say a story is 10 times harder than a story of size 0).
An advantage of the Fibonacci sequence is that it allows developers to disaggregate a user story from one large bucket into two preceding buckets (since a bucket is formed by adding the size of two preceding buckets). [7] This process helps to create optimal user stories.
In poker, pot odds are the ratio of the current size of the pot to the cost of a contemplated call. Pot odds are compared to the odds of winning a hand with a future card in order to estimate the call's expected value. The purpose of this is to statistically guide a player's decision between the options of call or fold. Raising is an alternative to place this decision on the opponent.
Cheating in poker is any behavior outside the rules of poker that is intended to give an unfair advantage to one or more players.
Software development is the process used to create software. Programming and maintaining the source code is the central step of this process, but it also includes conceiving the project, evaluating its feasibility, analyzing the business requirements, software design, testing, to release. Software engineering, in addition to development, also includes project management, employee management, and other overhead functions. Software development may be sequential, in which each step is complete before the next begins, but iterative development methods where multiple steps can be executed at once and earlier steps can be revisited have also been devised to improve flexibility, efficiency, and scheduling.
Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.
Agile software development is the mindset for developing software that derives from values agreed upon by The Agile Alliance, a group of 17 software practitioners in 2001. As documented in their Manifesto for Agile Software Development the practitioners value:
The Personal Software Process (PSP) is a structured software development process that is designed to help software engineers better understand and improve their performance by bringing discipline to the way they develop software and tracking their predicted and actual development of the code. It clearly shows developers how to manage the quality of their products, how to make a sound plan, and how to make commitments. It also offers them the data to justify their plans. They can evaluate their work and suggest improvement direction by analyzing and reviewing development time, defects, and size data. The PSP was created by Watts Humphrey to apply the underlying principles of the Software Engineering Institute's (SEI) Capability Maturity Model (CMM) to the software development practices of a single developer. It claims to give software engineers the process skills necessary to work on a team software process (TSP) team.
Cost estimation in software engineering is typically concerned with the financial spend on the effort to develop and test the software, this can also include requirements review, maintenance, training, managing and buying extra equipment, servers and software. Many methods have been developed for estimating software costs for a given project.
Mental poker is the common name for a set of cryptographic problems that concerns playing a fair game over distance without the need for a trusted third party. The term is also applied to the theories surrounding these problems and their possible solutions. The name comes from the card game poker which is one of the games to which this kind of problem applies. Similar problems described as two party games are Blum's flipping a coin over a distance, Yao's Millionaires' Problem, and Rabin's oblivious transfer.
In software development and product management, a user story is an informal, natural language description of features of a software system. They are written from the perspective of an end user or user of a system, and may be recorded on index cards, Post-it notes, or digitally in specific management software. Depending on the product, user stories may be written by different stakeholders like client, user, manager, or development team.
Behavior-driven development (BDD) involves naming software tests using domain language to describe the behavior of the code.
Extreme programming (XP) is an agile software development methodology used to implement software systems. This article details the practices used in this methodology. Extreme programming has 12 practices, grouped into four areas, derived from the best practices of software engineering.
The unified software development process or unified process is an iterative and incremental software development process framework. The best-known and extensively documented refinement of the unified process is the rational unified process (RUP). Other examples are OpenUP and agile unified process.
Histograms are most commonly used as visual representations of data. However, Database systems use histograms to summarize data internally and provide size estimates for queries. These histograms are not presented to users or displayed visually, so a wider range of options are available for their construction. Simple or exotic histograms are defined by four parameters, Sort Value, Source Value, Partition Class and Partition Rule. The most basic histogram is the equi-width histogram, where each bucket represents the same range of values. That histogram would be defined as having a Sort Value of Value, a Source Value of Frequency, be in the Serial Partition Class and have a Partition Rule stating that all buckets have the same range.
Planning poker, also called Scrum poker, is a consensus-based, gamified technique for estimating, mostly used for timeboxing in Agile principles. In planning poker, members of the group make estimates by playing numbered cards face-down to the table, instead of speaking them aloud. The cards are revealed, and the estimates are then discussed. By hiding the figures in this way, the group can avoid the cognitive bias of anchoring, where the first number spoken aloud sets a precedent for subsequent estimates.
In project management, accurate estimates are the basis of sound project planning. Many processes have been developed to aid engineers in making accurate estimates, such as
The following is a glossary of poker terms used in the card game of poker. It supplements the glossary of card game terms. Besides the terms listed here, there are thousands of common and uncommon poker slang terms. This is not intended to be a formal dictionary; precise usage details and multiple closely related senses are omitted here in favor of concise treatment of the basics.
In software engineering, a software development process or software development life cycle (SDLC) is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Velocity is a metric for work done, which is often used in agile software development.
Disciplined agile delivery (DAD) is the software development portion of the Disciplined Agile Toolkit. DAD enables teams to make simplified process decisions around incremental and iterative solution delivery. DAD builds on the many practices espoused by advocates of agile software development, including scrum, agile modeling, lean software development, and others.
Scrumban is an Agile aligned approach to product delivery which is a hybrid of Scrum and Kanban. Scrumban was originally designed as a way to transition from Scrum to Kanban.