Student Seminar Report & Project Report With Presentation (PPT,PDF,DOC,ZIP)

Full Version: The Timeboxing Process Model for Iterative Software Development
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
ABSTRACT
In today’s business where speed is of essence, an iterative development approach that
allows the functionality to be delivered in parts has become a necessity and an effective
way to manage risks. In an iterative process, the development of a software system is done
in increments, each increment forming of an iteration and resulting in a working system. A
common iterative approach is to decide what should be developed in an iteration and then
plan the iteration accordingly. A somewhat different iterative is approach is to time box
different iterations. In this approach, the length of an iteration is fixed and what should be
developed in an iteration is adjusted to fit the time box. Generally, the time boxed
iterations are executed in sequence, with some overlap where feasible. In this paper we
propose the timeboxing process model that takes the concept of time boxed iterations
further by adding pipelining concepts to it for permitting overlapped execution of different
iterations. In the timeboxing process model, each time boxed iteration is divided into equal
length stages, each stage having a defined function and resulting in a clear work product
that is handed over to the next stage. With this division into stages, pipelining concepts are
employed to have multiple time boxes executing concurrently, leading to a reduction in the
delivery time for product releases. We illustrate the use of this process model through an
example of a commercial project that was successfully executed using the proposed model.
Keywords: Software process, life cycle process, process models, iterative development,
timeboxing, pipelining.
1 INTRODUCTION
The main objective of a software project can be stated as follows –deliver a high quality
software product within schedule and within budget. A successful project is the one that
satisfies the constraints on all the three fronts of cost, schedule, and quality (we are
including functionality or features as part of quality, though they could be treated as
another driver.) Consequently, when planning and executing a software project, the
decisions are mostly taken with a view to ultimately reduce the cost or the cycle time, or
for improving the quality.
A software project has to execute a number of engineering and management tasks for
delivering a software product that satisfies the user requirements. Software projects utilize
a process to organize the execution of the tasks to achieve the goals on the cost, schedule,
and quality fronts. A process typically specifies the tasks that should be performed and the
order in which they should be performed. Processes so utilized frequently conform to a
process model – a general process structure for the lifecycle of software development. A
process model generally specifies the set of stages in which a project should be divided,
the order in which the stages should be executed, and any other constraints and conditions
on the execution of stages.
The basic premise behind any process model is that, in the situations for which the model
is applicable, using the process model for a project will lead to low cost, high quality, or
reduced cycle time. In other words, a process is a means to reach the goals of high quality,
low cost, and low cycle time, and a process model provides generic guidelines for
developing a suitable process for a project.
Software development is a large and complex task. As with any complex problem, the
solution approach relies on the “divide and conquer” strategy. For software it means that
this complex problem of developing software should be divided into parts that can be
solved separately. At the top level, this division is typically done by breaking

Download full report
http://googleurl?sa=t&source=web&cd=1&ve...boxing.pdf&ei=8DYxTvn6EuTViAKMlt2SBg&usg=AFQjCNH3XMOvfR5y_k8qTICO7U56R_D5rQ&sig2=CrmCtxOnd0WkSM66UpVDJA