ArticlePDF Available

Time boxing planning: buffered moscow rules

Authors:

Abstract and Figures

Time boxing is a management technique which prioritizes schedule over deliverables but time boxes which are merely a self, or an outside, imposed target without agreed partial outcomes and justified certainty are at best, an expression of good will on the part of the team. This essay proposes the use of a modified set of Moscow rules which accomplish the objectives of prioritizing deliverables and providing a degree of assurance as a function of the uncertainty of the underlying estimates.
Content may be subject to copyright.
Time boxing planning: Buffered Moscow rules
Eduardo Miranda
Institute for Software Research
Carnegie Mellon University
ABSTRACT
Time boxing is a management technique which prioritizes schedule over
deliverables but time boxes which are merely a self, or an outside,
imposed target without agreed partial outcomes and justified certainty
are at best, an expression of good will on the part of the team. This
essay proposes the use of a modified set of Moscow rules which
accomplish the objectives of prioritizing deliverables and providing a
degree of assurance as a function of the uncertainty of the underlying
estimates.
Categories and Subject Descriptors
D.2.9 [Management]: Copyrights, Cost estimation, Life cycle,
Productivity, Programming teams, Software configuration management,
Software process models (e.g., CMM, ISO, PSP), Software quality
assurance (SQA), Time estimation
General Terms
Management, Economics
Keywords
Time boxing planning, prioritization rules, release planning, agile,
incremental delivery, requirements prioritization, design to schedule
1. INTRODUCTION
Time boxing is a management technique which prioritizes schedule over
deliverables. This means that if during the execution of the task it is
anticipated that all requested deliverables will not be ready by a set
completion date, the scope of the work will be reduced so that a smaller,
yet still useful, output is produced by such date. The two dimensions of
the time box are the length of time it is given and the resources
available during that time. The time box concept can be applied to
individual tasks and single iterations but the focus of this proposal is in
larger aggregates, such as a release or a project, culminating in the
delivery of an agreed functionality to a customer.
To be effective, time boxing requires that [1]:
1. The features or user requirements1 that make up the total delivery
are grouped into functionally complete subsets;
2. The subsets are prioritized so it is clear which requirements should
be implemented first and which ones could be eliminated if there is
not enough time to complete all of them; and
3. Reasonable assurance is provided to the customer about the
feasibility of a given subset within the imposed frame
Time boxes which are merely a self, or an outside, imposed target
without agreed partial outcomes and justified certainty are at best, an
expression of good will on the part of the team.
Prioritization is traditionally made by asking the customer to rank his or
her preferences into a series of categories such as “Must have”, “Should
have”, “Could have” or “Won’t have” where the “Must have” category
contains all requirements that must be satisfied in the final delivery for
the solution to be considered a success. The “Should have” represents
high-priority items that should be included in the solution if possible.
1 This two terms will be used loosely and alternatively to refer to a discrete
capability requested by the sponsor of the work
The “Could have” corresponds to those requirement which are
considered desirable but not necessary. They will be included if there is
any time left after developing the previous two. “Won’t have” are used
to designate requirements that will not be implemented in a given time
box, but may be considered for the future. These categories are
commonly known by the acronym “Moscow” [2]. Less used techniques
include the pairwise comparisons, cumulative voting, top ten
requirements and EVOLVE [3].
With the exception of EVOLVE [4] which uses a complex search
procedure to maximize value within the constraints imposed by the
available resources; all the techniques above suffer from the same
problem: they are either unconstrained or arbitrarily constrained. For
example in the “top ten” technique the “must have” would be limited to
the 10 more important requirements. Why 10? Why not eleven or
twelve or nine? This lack of constraints means that in general, as long as
the aggregated effort is within the project budget there is no limit to the
number of requirements that are assigned to the “must have” category
with which the prioritization process ends up not prioritizing anything at
all.
In this article we describe a simple requirement prioritization method
that: 1) Redefines the MOSCOW categories in terms of the team’s
ability to complete the requirements assigned to them; and 2) Constrains
the number of requirements that the customer can allocate to each
category as a function of the uncertainty of the estimates which makes it
possible to give the sponsor certain reassurances with regards to their
achievability or not. The MOSCOW categories are redefined as follows:
1. Must Have: Those features that the project, short of a calamity,
would be able to deliver within the defined time box
2. Should Have: Those features that have a fair chance of being
delivered within the defined time box
3. Could Have: Those features that the project could deliver within
the defined time box if everything went extraordinarily well, i.e. if
there were no hiccups in the development of requirements assigned
to higher priority categories
4. Won’t have features, those for which there is not enough budget to
develop them
Therefore, the fitting of requirements into these categories is not an a
priori decision but rather a consequence of what the development team
believes can be accomplished under the specific project context and
budget.
In the past I have associated a delivery probability of 90, 45 and 20%
with each of the categories, but this quantification it is only possible if
one is willing to make assumptions about the independence or
covariance of the actual efforts, the number of requirements included in
each category and the type of distributions underlying each estimate; or
to use a method such as Monte Carlo simulation to expose the
distribution of the total effort for each category. If we are not willing to
make this, quoting specific numbers is just an analogy, all we can
justifiable say is that the likelihood of delivering all requirements in the
“must have” category would roughly double the
likelihood of those in the “should have” category and quadruple that of
those in the “could have” one.
2. THE IDEA
The process requires that each feature or requirement to be developed
has a two points estimate2: a normal completion effort3 and a safe
completion one. The normal completion effort is that, which in the
knowledge of the estimator has a fair chance of being enough to
develop the estimated feature while the safe estimate is that which will
be sufficient to do the work most of the time but in a few really bad
cases.
If we wanted to be reassured of being able to deliver all features under
most circumstances we would need to plan for the worst case, which
means scheduling all deliverables using their safe estimate. This, more
likely than not, will exceed the boundaries of the time box4. See Figure
1.a.
It is clear that by scheduling features at the safe level, the most work we
can accommodate within the time box boundaries is that depicted by the
patterned area in Figure 1.b. So for the “must have” category the
2 More sophisticated approaches such as Statistically Planned Incremental
Deliveries – SPID [1] will require three points estimates and the specification of
an underlying distribution
3 As I did in the redefining of the MOSCOW categories in this article I am
avoiding the temptation of calling these estimates the 50% and the 90%
probability estimates to prevent giving a false sense of mathematical exactness,
which will require the making of additional assumptions or an analysis that might
not be justified by the practical impact of the added accuracy and precision.
4 If a single project had to ensure against all possible risks and uncertainty, its
price would be prohibitive [5]
customer must select, from among all requirements, those which are
more important for him until exhausting the number of development
hours available while scheduling them at the safe effort level. This is
the constraint missing in other prioritization methods and the key to
provide a high level of confidence, in spite of the uncertainty of the
estimates and the speed of execution, in the delivery of features in this
category.
Once the “must have” requirements have been selected, we will re-
schedule them using their normal estimates, see figure 1.c, and reserve
the difference between the two effort levels as a buffer to protect their
delivery. We will repeat the process for the “should have” and “could
have” requirements using the size of the buffer protecting the previous
category as the initial budget for the current one, see figure 1.d. The
requirements that could not be accommodated in any category at their
safe level become the “won’t have”s.
We can see now why we said at the beginning of this essay that the
“must have” category will have double the likelihood of being
completed of the “should have” and quadruple that of the “could have”.
We are almost certain that all the requirements in the “must have”
category can be completed within the time box because a requirement
was only included in it if there was enough room to develop it under a
worst case assumption. The “should have” category also have their
requirements scheduled at the safe level, but with respect to the overall
time box this level of confidence is contingent on the sum of the actual
efforts spent on all the requirements in the “must have” subset being
equal or less than the sum of their normal development times. This
roughly halves the likelihood of completing all “should have”
requirements within the time box. Similarly the likelihood of
completing all the “could have” would be half of that of delivering all
the “should have” or a quarter of the “must have”.
Time box
Development activities scheduled at their safe level
Must have release at safe level Lower priority deliverables
Must have using the normal
estimate
Should have at normal
Could have at
safe Won’t
have
Startup activities Other support and management activities
Startup activities Other support and management activities
Startup activities Other support and management activities
Buffer
Must have using the normal
estimate
Startup activities Other support and management activities
Buffer
Buffer
a.
b.
c.
d. Must have using the normal
estimate
Should have at safe level Lower priority
deliverables
Startup activities Other support and management activities
Buffer
e.
Figure 1 The overall approach
3. A NUMERICAL EXAMPLE
Table 1 shows the backlog for an imaginary project with a total budget
(time box) of 180hrs. Assuming that the startup, and the support and
management activities require 60hrs. leave us with a development
budget of 120 hrs. The table lists the name of the features, the normal
and the safe estimates and the name of other requirements or features in
which the current one depends on. For example feature “H” will have a
normal estimate of 10 hours, a safe estimate of 20 hours and depends on
“J” and “K”, meaning that these two features must be present for “H” to
provide any business value.
Table 1 Product backlog
Features Normal Estimate Safe Estimate Dependencies
A 20 40 B, C
B 7 9
C 20 30
D 5 7 E
E 6 7
F 5 6
G 20 40
H 10 20 J, K
I 15 30
J 12 15
K 8 10
L 10 18
Let’s assume that from a pure business perspective the preferences of
the project sponsor are: F, D, A, G, K, E, L, J, H, I, B, C. In a real
project this choices will be made during the prioritization meeting.
In our example, the first requirement to be selected for the “must have”
category would be requirement “F”, applying the process described
below we have:
 

 120 6  114
Successive requirements are selected as per table 2. Notice that feature
“G” cannot be included in the “must have” subset at the safe level
because it does not fit into the available budget. At this point the
customer must decide whether to resign “G” to another category, if
possible, or rearrange the previous selection. For the sake of the
example let’s assume requirement “G” is passed on, and the customer
chooses “K” which follows in his rank of preferences and is schedulable
in the available budget.
After including “K” there is no other requirement that can be included
in the “must have” category, so requirements F, D, E, A, B, C, and K
are re-schedule at their normal level:
  
∈,,,,,,
 5 5  6207208  71
    
 120 71  49
Table 2 Assigning requirements to the “must have” category
Features Reason for
selection Available
Budgeti
Safe
Estimatei Available
Budgeti+1
F Customer
preference 120 6 114
D, E Customer
preference,
Dependenc
y
114 14 100
A, B, C Customer
preference,
Dependenc
y
100 79 21
G Customer
preference 21 40 -19
K Customer
preference 21 10 11
The process is now repeated using the  as the
available budget for the “should have” CATEGORY, see table 3, and
the  for the “could have”. See table 4.
Table 3 Assigning requirements to the “should have” category
Features Reason for
selection Available
Budgeti
Safe
Estimatei Available
Budgeti+1
G Customer
preference 49 40 9
Table 4 Assigning requirements to the “could have” category
Features Reason for
selection Available
Budgeti
Safe
Estimatei Available
Budgeti+1
L Customer
preference 29 18 11
After including “L” nothing more could be included in the available
effort at the safe estimate level and in consequence “H”, “I” and “J” are
declared “won’t have”.
The final subsets are:
Must have: F, D, E, A, B, C, K
Should have: G
Could have: L
Won’t have: H, I, J
4. EXECUTION
Figure 2 shows the initial plan resulting from the prioritization process.
Now imagine that during the execution of the project feature “A” takes
40hrs, its worst case, instead of the 20 allocated to it in the plan. This
will push the development of features “G” and “L” to the right. This
would leave us with 29hrs to develop “G”, 9 more than the 20hrs
estimated at 50%, so one can say there still is a fair chance the customer
will get it. If “G” takes 20 hours the budget remaining in the box will be
9 hours, one less than the 10 estimated at 50%, so in this case the
chance of the customer getting L would be slim. See Figure 3.
5. DEALING WITH CHANGES AND DEFECTS
Changes are natural. When a change occurs it should be ranked against
current priorities and if accepted it will be at the expense of an already
planned requirement or by changing the time box itself.
With respect to defects a sensible strategy is to fix all critical and major
defects within the time allocated at the subset in which they are
discovered, postponing minor defects to the end of the project and
giving the customer the choice between fixing the problems and
developing additional functionality.
6. BUSINESS IMPLICATIONS
It is obvious that acknowledging from the very start of the project that
the customer might not receive everything requested requires a very
different communication, and perhaps marketing, strategy from that of a
project that promises to do it, even when nobody believes it will do it.
The premise, in which the method is based, is that businesses are better
off when they know what could realistically be expected than when they
are promised the moon, but no assurances are given with respect as to
when they could get it.
To be workable for both parties, the developer and the sponsor, a
contract must incorporate the notion that an agreed partial delivery is an
acceptable, although not preferred, outcome. A contract that offloads all
risk in one of the parties would either be prohibitive or unacceptable to
the other. The concept of agreed partial deliveries could adopt many
forms. For example the contract could establish a basic price for the
“must have” set with increasingly higher premiums for the “should
have” and “could have” releases. Conversely the contract could propose
a price for all deliverables and include penalties or discounts if the
lower priority releases are not delivered. The advantage for the project
sponsor is that, whatever happens, he can rest assured that he will get a
working product with an agreed subset of the total functionality by the
end of the project on which he can base his own plans.
A similar idea could be applied to any reward for the people working in
the project. No reward will be associated with delivering the “must
have” release since the team members are simply doing their jobs.
Subsequent releases will result in increased recognition of the extra
effort put into the task. The relative delivery likelihood associated with
each release could be used to calculate the reward’s expected value.
7. SUMMARY
Figure 3 Must have release is delayed because “A” takes longer than the scheduled budget
We have presented a simple prioritization procedure that can be
applied to the ranking of requirements at the release as well as the
project level.
The procedure does not only captures customer preferences, but by
constraining the number of features in the “must have” set as a
function of the uncertainty of the underlying estimates, is able to
offer project sponsors a high degree of reassurance in regards to the
delivered of an agreed level of software functionality by the end of
the time box.
This simplicity is not free. It comes at the expense of the claims we
can make about the likelihood of delivering a given functionality and
a conservative buffer. Users seeking to make more definitive
statements than “short of a calamity” or optimize the buffer size
should consider the use of a more sophisticated approach such like
the one described in Planning and Executing Time Bound Projects [1]
Time box
G
L H, I, J
F, D, E, A, B, C, K
Startup activities Other support and management activities
49 hrs
29 hrs
29
G
Time box
L
F, D, E, A, B, C, K
Startup activities Other support and management activities
49 hrs
Delay due to A
Figure 2 Original plan. Time box = 180 hrs, Startup and other support and management activities 60 hrs,
development budget 120 hrs
which requires considerably more information and an understanding
of the problems associated with the elicitation of probabilities. 8. REFERENCES
[1] Miranda, E., Planning and Executing Time Bound Projects,
IEEE Computer, March 2002
[2] Stapleton, J., DSDM Business Focused Development, 2nd ed.
London, Addison Wesley, 2003
[3] Berander P, Andrews A, Requirements prioritization.
Aurum,Wohlin (Eds.),Engineering and Managing Software
Requirements, Berlin, Springer Verlag, 2005
[4] Greer D, Ruhe G, Software release planning: an evolutionary
and iterative approach Information and Software
Technology, Vol. 4, 2004
[5] Kitchenham B, Linkman S Estimates, Uncertainty and Risk,
IEEE Software, May 1997
... On the other hand, it is necessary to prioritize what is essential for the operation of the product for the development [16,17]. The prioritization technique that has been used as a reference to prioritizing the requirements is MoSCoW [27,28]. ...
... The MoSCoW method [28] is a prioritization technique [17] used in management, business analysis, project management, and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement -also known as MoSCoW prioritization or MoSCoW analysis [27]. The prioritization categories are typically understood as: must have, should have, could have, and won't have [28]. ...
... The MoSCoW method [28] is a prioritization technique [17] used in management, business analysis, project management, and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement -also known as MoSCoW prioritization or MoSCoW analysis [27]. The prioritization categories are typically understood as: must have, should have, could have, and won't have [28]. ...
Chapter
There are some significant tasks in the first stage of a project in order to achieve success when taking out a new product, a service or release a software. It is essential to know what is in the market and what the potential customers want. Therefore, during the project, we performed a market analysis regarding all the products related with IoT and we had interviews with all the involved actors in all the domains, such as developers, integrators, operators, domain users, clients, etc. Furthermore, from the previous information we define the requirements in order to determine how the system should work and what it should do. This chapter presents the process and the results of these three activities developed in the first stage of the INTER-IoT project: market analysis, stakeholders analysis, and requirements analysis. This task was done for the five different products defined in the project: INTER-LAYER, INTER-FW, INTER-METH, INTER-LogP, and INTER-Health. These tasks have been made using the VOLERE methodology, which is an excellent methodology to extract conclusions and provide results following a systematic approach.
... Dużego doświadczenia Rys. 4 wymaga właściwe dobranie zakresów projektów w stosunku do nakładu pracy studenta. Na podstawie analizy wyników oraz konsultacji z uczestnikami projektów w trakcie ostatnich trzech edycji przedmiotu projekt grupowy wprowadzono podział zakładanych wyników realizacji projektów jako opcje właściwe dla modelu priorytetyzacji MoSCoW [76]. Takie podejście usprawnia prace projektowe. ...
Book
W pracy opisane zostały doświadczenia związane z realizacją zespołowych projektów studenckich w odniesieniu do formy ich przygotowania, organizacji oraz realizacji z partnerami z branży IT. Ponadto przedstawione zostały elementy związane z pracą w zespole w powiązaniu z wybranymi elementami procesu wytwarzania oprogramowania. Omówiono proces kształtowania umiejętności pracy w zespole, który został opracowany na bazie wieloletnich doświadczeń.
... A definição de requisito, segundo a norma IEEE Std 1233-1996, é vista como "uma condição ou capacidade necessária para um utilizador resolver um problema ou atingir um objetivo" [95]. Nas secções seguintes serão apresentados os vários requisitos, distinguindo-os consoante a prioridade necessária, utilizando para isso a metodologia MoSCoW [133], resultando a priorização em quatro categorias: ...
Thesis
With the growth of social media and the spread of the Internet, the user's opinion become accessible in public forums. It became then possible to analyse and extract knowledge based on the textual data published by users, through the application of Natural Language Processing and Text Mining techniques. In this dissertation, these techniques are used to, based on comments posted by users on YouTube, extract information about Usability, User Experience (UX), and Perceived Health Impacts related to Quality of Life (H-QoL). This analysis focus on videos about the Just Dance series, one of the most popular interactive dance video games.Just Dance belongs in a category of games whose purpose goes beyond entertainment - serious games - among which there is a specific type of games, exergames, which aim is to promote physical activity. Despite their positive influence on the health of their users, these often stop playing after a short period of time, leading to the loss of benefits in the medium and long term. It is in this context that the need to better understand the experience and opinions of players arises, especially how they feel and how they like to interact, so that the knowledge generated can be used to redesign games, so that these can increasingly address the preferences of end-users.It is with this purpose, that in a serious game it is necessary to assure not only the fundamental characteristics of the functioning system, but also to provide the best possible experience and, at the same time, to understand if these positively impact players' lives. In this way, this dissertation analyses three dimensions, observing, besides Usability and UX aspects, also H-QoL, in the corpus extrated for this dissertaion.To meet the objectives of this dissertation, a tool was developed that extracts information from user comments on YouTube, a social media network that despite being one of the most popular, still has been little explored as a source for opinion mining. To extract information about Usability, UX and H-QoL, a pre-established vocabulary was used with an approach based on the lexicon of the English idiom and its semantic relations. In this way, the presence of 38 concepts (five of Usability, 18 of UX, and 15 of H-QoL) was annotated, and the sentiment of each comment was also analysed. Given the lack of a vocabulary that allowed for the analysis of the dimension related to H-QoL, the concepts identified in the World Health Organization's WHOQOL-100 questionnaire were validated for user opinion mining purposes with ten specialists in the Health and Quality of Life domains.The results of the information extration are displayed in a public dashboard that allows visitors to explore and analyse the existing data. Until the moment of this dissertation, 543 405 comments were collected from 32 158 videos, in which about 52% contain information related to the three dimensions. The performance of this annotation process, as measured through human validation with eight collaborators, obtained an general efficacy of 85%.
... Development of the program took place using the MoSCoW method (Miranda, 2011), starting with the determination of the minimal requirements for a working and accessible game (so-called 'Must haves'). In addition, 'Should haves' (i.e. ...
Chapter
In the midst of the 21st-century digital revolution, we find ourselves navigating a complex landscape where our analog instincts clash with our digital dependencies. Our smartphones, compact marvels of technology, house the entirety of our daily existence, from groceries to fashion and medicine. Yet, amidst this convenience, fundamental questions about data safety, security controls, and data ownership linger ominously in our minds. This chapter delves into the vital trifecta of privacy, security, and data ownership in our increasingly digitized world. In an era of ever-evolving technology, the ordinary user constantly frets about the sanctity of their data. While technology has undoubtedly bestowed countless benefits upon humanity, it also bears a dark side, epitomized by the surge in digital frauds and scams. Such concerns propel individuals to ponder deeply: Is my data truly private? and Who ultimately lays claim to, or safeguards, my data? This exploration ventures into the realms of artificial intelligence, virtual reality, the metaverse, online payments, and virtual classrooms.
Preprint
Full-text available
This paper describes the Milestone Driven Agile Execution (MDAX) framework. MDAX is hybrid development approach, in which the just-in-time planning of tasks and the empirical control of the agile methods are retained, but the prioritization of the backlog is done according to a milestone plan that drives the execution of the project. Selecting work items from the backlog according to a plan, instead of the weekly or biweekly, sometimes haphazard, concerns of the team or the product owner, adds visibility, predictability, and structure to the work of the team while preserving the adaptive advantages of current agile methods. MDAX takes a collaborative and visual approach to planning which promotes participation, communication and buy-in into the plan. It uses large canvasses and the direct manipulation of planning artifacts to generate engagement .
Chapter
Full-text available
Electric Autonomous Vehicles (EAVs) have gained increasing attention of industry, governments and scientific communities concerned about issues related to classic transportation including accidents and casualties, gas emissions and air pollution, intensive traffic and city viability. One of the aspects, however, that prevent a broader adoption of this technology is the need for human interference to charge EAVs, which is still mostly manual and time-consuming. This study approaches such a problem by introducing the Inno-EAV, an open-source charging framework for EAVs that employs machine-to-machine (M2M) distributed communication. The idea behind M2M is to have networked devices that can interact, exchange information and perform actions without any manual assistance of humans. The advantages of the Inno-EAV include the automation of charging processes and the collection of relevant data that can support better decision making in the spheres of energy distribution. In this paper, we present the software design of the framework, the development process, the emphasis on the distributed architecture and the networked communication, and we discuss the back-end database that is used to store information about car owners, cars, and charging stations.
Article
Full-text available
The eruption of Mount Sinabung had a pretty heavy impact on Karo District, in terms of the tourism economy sector, which has been the signature economy motor of this region. For almost 1 (one) decade, the eruption disaster shook, the recovery effort is still stagnant despite various government efforts. Therefore, this study aims to carry out an inventory of economic recovery, particularly in the tourism sector in Karo District by including the pentahelix synergy model as a surefire strategy to encourage community independence and achieve faster and more sustainable recovery goals. This study uses qualitative research methods with the main data collection techniques through a Focus Group Discussion. The results achieved indicate several strategies can be carried out to restore tourism in Karo District, including: rehabilitation of the image of Karo district as a safe tourist destination, strengthening the disaster awareness movement, infrastructure recovery, to the creation of signature tourism products based on disaster tourism, health tourism and agro tourism. This study also illustrates what roles can be taken by the government, academia, industry, society and the media in each strategy and proposed program.
Article
Full-text available
Актуальність. Процеси управління вимогами є одним з ключових чинників успіху або невдачі проекту. Дослідження у галузі проектного менеджменту вказують, що саме ці процеси є недостатньо формалізованими. Отже, є необхідність розробки та формалізації методів управління і контролю вимог, зокрема, для проектів, управління яких здійснюється за традиційними або комбінованими методологіями.Мета роботи – формалізація метрик процесів управління вимогами у проектах. Об’єктом дослідження є процеси управління та контролю вимог у проектах, предметом дослідження – метрики, які характеризують вимоги у проекті.Метод. Використано методи аналізу та синтезу, методи нечітких множин та операції над матрицями. Запропоновано використання моделі, яка встановлює зв’язки між окремими характеристиками проекту (ризики, роботи, ресурси, вимоги, стейкхолдери та відповідальні особи проекту) за допомогою ієрархічної структури робіт. Запропоновано формалізацію метрик моделі, що дозволить відстежувати динаміку виконання проекту та ідентифікувати зацікавлені сторони проекту за визначеними напрямами.Результати. На основі співставлення ієрархічної структури робіт з ієрархічними структурами вимог, ризиків, ресурсів та організаційною структурою проекту розроблено метод формалізації метрик управління вимогами проекту. Запропонований метод дозволяє відстежувати виконання вимог зацікавлених сторін проекту у часі у відповідності до обсягу фактично витрачених ресурсів по аналогії з методом освоєного обсягу. Адаптивність методу до традиційних процесів менеджменту проектів дає змогу використовувати вихідні дані – вже сформовані активи проекту та стандартне програмне забезпечення (зокрема, MS Project, Open-Proj) для практичної реалізації методу.Висновки. Запропонований метод формалізує процеси управління вимогами у проекті, дозволяє визначати ресурсне та ризикове навантаження вимог, що доповнює існуючи моделі класифікації вимог даними метриками. Метод формалізації метрик управління вимогами проекту дозволяє також отримати інструменти для оцінювання ефективності команди проекту та класифікації зацікавлених сторін проекту. Проведені експерименти підтвердили працездатність запропонованого математичного забезпечення і дозволяють рекомендувати його використання на практиці при прийнятті проектних рішень щодо управління змінами та вимогами стейкхолдерів проекту. Перспективи подальших досліджень можуть полягати у розробці програмного забезпечення, що реалізує запропонований метод.
Article
Full-text available
The requirements management processes largely determine the success of a project and should ensure its adaptability to changes in the requirements of stakeholders. Today, these processes are not sufficiently formalized, in particular, for traditional project management. Consequently, management and control requirements should be developed and formalized. The subject matter of this study is methods that manage the requirements of stakeholders in projects. The aim of the article is to increase the effectiveness of monitoring the requirements of the project stakeholders by developing the method of earned requirements and the model that formalizes this method. To achieve the goal, the following tasks are completed: integration of the hierarchical structure of requirements and the classical hierarchical structure of the project activities for obtaining the matrix of control points to meet the requirements of stakeholders linking a certain requirement to the activities that should be carried out to execute the project; development of the method of monitoring requirements; development of a functional model of the suggested method. The methods used are: the methods of decomposition, functional modeling and the modified method of earned volume. The following results were obtained: the method of requirement monitoring was developed; this method enables monitoring carrying out the requirements of project stakeholders in time according to the volume of actually used resources by analogy with the method of earned volume. The approach based on the integration of the hierarchical structure of requirements and the hierarchical structure of the project activities enables supplementing the existing methods of classification of project stakeholders by the indicator of resource requirements. Conclusions.The suggested method formalizes the requirements management processes in the project, enables determining the resource load of requirements, adds this factor to the existing model of requirements. This method is practically supported by the functional model in the IDEF0 notation. The areas of project management (according to the PMBOK standard) where the use of the suggested approach is the most effective are identified. In the process of generating output data for this method use, certain constraints should be considered; these constraints are determined by different types of project stakeholders’ requirements and the dimension of the sets of "requirements" and "activities".
Article
Full-text available
To achieve higher flexibility and to better satisfy actual customer requirements, there is an increasing tendency to develop and deliver software in an incremental fashion. In adopting this process, requirements are delivered in releases and so a decision has to be made on which requirements should be delivered in which release. Three main considerations that need to be taken account of are the technical precedences inherent in the requirements, the typically conflicting priorities as determined by the representative stakeholders, as well as the balance between required and available effort. The technical precedence constraints relate to situations where one requirement cannot be implemented until another is completed or where one requirement is implemented in the same increment as another one. Stakeholder preferences may be based on the perceived value or urgency of delivered requirements to the different stakeholders involved. The technical priorities and individual stakeholder priorities may be in conflict and difficult to reconcile. This paper provides (i) a method for optimally allocating requirements to increments; (ii) a means of assessing and optimizing the degree to which the ordering conflicts with stakeholder priorities within technical precedence constraints; (iii) a means of balancing required and available resources for all increments; and (iv) an overall method called EVOLVE aimed at the continuous planning of incremental software development. The optimization method used is iterative and essentially based on a genetic algorithm. A set of the most promising candidate solutions is generated to support the final decision. The paper evaluates the proposed approach using a sample project.
Book
As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: • An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation • An expanded chapter on requirements engineering for Agile methodologies • An expanded chapter on formal methods with new examples • An expanded section on requirements traceability • An updated and expanded section on requirements engineering tools • New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.
Article
This chapter provides an overview of techniques for prioritization of requirements for software products. Prioritization is a crucial step towards making good decisions regarding product planning for single and multiple releases. Various aspects of functionality are considered, such as importance, risk, cost, etc. Prioritization decisions are made by stakeholders, including users, managers, developers, or their representatives. Methods are given how to combine individual prioritizations based on overall objectives and constraints. A range of different techniques and aspects are applied to an example to illustrate their use. Finally, limitations and shortcomings of current methods are pointed out, and open research questions in the area of requirements prioritization are discussed.
Article
The authors discuss the sources of uncertainty and risk, their implications for software organizations, and how risk and uncertainty can be managed. Specifically, they assert that uncertainty and risk cannot be managed effectively at the individual project level. These factors must be considered in an organizational context
Article
A time-bound project is constrained by hard deadlines. Since most time-bound projects start with more requirements than developers can handle within the imposed time constraints, requirements often must be slashed halfway through the project, resulting in missed deadlines, customer frustration, and wasted effort. Statistically Planned Incremental Deliveries offer an approach that addresses these problems by combining ideas from critical chain planning, incremental development, and rate monitoring into a practical method for planning and executing time-bound projects.
Uncertainty and Risk
  • B Kitchenham
  • Linkman
  • Estimates
Kitchenham B, Linkman S Estimates, Uncertainty and Risk, IEEE Software, May 1997
DSDM Business Focused Development
  • J Stapleton
Stapleton, J., DSDM Business Focused Development, 2nd ed. London, Addison Wesley, 2003
DSDM: A Framework for Business-Centered Development
  • Consortium Stapleton
  • Jennifer Stapleton