Achieving Process Excellence through Agile and Time & Material Models
1. Mantra for Process Excellence
Meghna Jadhav
Sr Software Engineer
iGATE Global Solutions
2. Process Excellence by Agile and T&M
Process Excellence achieved by Agile Methodology and Time and Material Estimation model
3. Abstract
As a corporate executive, we always have the notion that sales and finance are the most important
part to run a project successfully. However, the main factor is Process Excellence of the company,
which acts as a backbone of the project. Every manager before a start of a project considers the most
effective project life cycle. Because a mistake in the choice of methodology and model of interaction
with a customer leads to delayed results, dissatisfied customers, overruns, cancelled projects.
Here we will discuss about the most popular and widely used methodology- Agile with Time &
Material Model.
Agile is one of the most flexible model used for development, which provide intermediate builds or
products called as Sprints, which are of short duration. Also in addition, Time & Material model is
used long-term projects with dynamically changing requirements, unclear scope of work and varying
workloads of development team. Clients usually are at stake for gap in requirement, unclear scope.
At the start of the project, even the clients are unclear about the final output, for which Agile helps
them give a clear picture systematically and if any hurdle, can be raised to the client, for which Time &
Material helps.
By T& M, the customer can directly participate and monitor the entire development process, making
any necessary changes in requirements. By receiving regular reports on the hours spent, a customer
has the ability to control the development time and therefore the project budget.
4. Table of Contents:
Introduction ............................................................................................................................................ 5
Agile in Time and Material ...................................................................................................................... 5
Conclusion ............................................................................................................................................... 8
References .............................................................................................................................................. 8
5. Introduction
As of today there are many life-cycle models having its advantages and disadvantages. This Article
analyzes one of the most popular and convenient models in terms of meeting deadlines and profit
margin for both client and vendors i.e. Agile. A flexible model that encourages phased development
in which output results are available at the end of each stage and the notable part is the duration that
each phase takes, just handful of weeks.
Complimenting to this flexible development methodology is the “Time and material” model. The main
feature, brings it to a flexible methodology is the ability to adjust the frequent change in requirement
and reducing the risk in the product development process.
Let’s throw some limelight on how exactly these two can be merged for obtaining better outcomes:
Agile in Time and Material
1. CR Estimation and Schedule:
In a Software Organization, the very first thing for the Project Management Team, when any scope of
Project work comes, is to do the Execution Risk Analysis. In the current Era, the widely adapted
models for project execution is “Fixed Price” or “Time and Material”
Fixed Price model is more risky in vendor prospective. Frequent changes in scope of work make it
difficult for the software development phase to execute and plan for the deliverables under this Model.
The additional requirements or scope changes are expected to be completed by the Delivery Date
that has been fixed in the Initial Estimation.
In contrast, Time and Material is a convenient and flexible model for project execution in frequently
changing circumstances. For additional scope of work this model facilitates to keep track of all the
surplus efforts and time of execution and can be billed to the clients/ customers later. Hence the risk
of getting the project over-run can be mitigated.
2. Agile Overview:
6. Agile development methodology is considered as the most flexible one in modern development
environment. It can be described as a combo of “iterative” and “incremental” model. It scales out the
project execution along efforts and schedule with a objective of better quality output. Setting up
intermediate deliveries (sprints), dividing the workload among teams (scrums) helps software
engineers to focus on the better way to achieve the final quality deliverables.
As Software Development process is very labour-intensive and time-consuming, the vision of a
project before it gets started can be different from a customer and developer point of view. From a
customer prospective, it’s difficult to imagine the scope of improvements for a Software Product until it
gets fully developed. Usually most of the software improving ideas arises during the development
phase and therefore it’s difficult to specify them in the requirement specification.
In such cases where the customer does not have a clear idea about the final product, Agile
methodology helps to make life easier. The entire development life cycle is divided into multiple
Sprints. After completion of each Sprint, Client receives a functioning part of a software product. On
that intermediate product client can do their testing and can report the development. In case of any
changes reported by client, development team can plan their activities in the next Sprint. This strategy
helps to get a proper vision of the final product, to both Client and Software Service provider.
3. Combination of both Agile and Time & Material:
One of the biggest disadvantages of using the fixed-price contracting model in Agile delivery is limiting
the adoption of the Agile philosophy of welcoming changes. Client is benefited by FP model because
of un-clarity of the Product and frequent changes in requirement prevent them from charging and
delivered within the time frame committed.
This disadvantage can be overcome by “Times and materials” model. Each intermediate milestone is
estimated as per T&M model. For example, the first intermediate delivery has some scope changes
and feedback from client, the latter can be re-estimated and charged to the customer with revised
schedule. In this way, the Client can participate and monitor the entire development process making
necessary changes and can also track the budget and schedule of the project.
4. Testing phase:
As we all are aware that each phase of development can be tested by performing unit testing,
Integration testing, re-testing or regression testing, naming a few. Testing and coding are done
incrementally and iteratively, building up each feature until it provides enough value to release to
production. Agile testing covers all types of testing
Testing is carried for each Milestones and defect-fixing activity can be performed in parallel. There
can be situations when client may raise some post delivery anomalies for the intermediate product
that needs to be fixed on immediate effect depending on priority or in later development cycle. Here
the project cost is not hampering but the schedule is. This kind of situations can increase the pressure
7. on development phase of next iterations indirectly affecting the quality of the product. These can be
overcome by keeping a buffer in between the two development phases for receiving the customer
feedback.
Special attention need to be given while performing integration testing. Re-testing or regression
testing is a part of Agile process and performing test periodically on the existing product helps to
obtain a good quality final deliverable.
Agile software development methodologies has changed the traditional view of waiting for a fully built
system to be available before higher levels of testing, such as Acceptance testing, can be performed.
The key challenges for a tester on an agile project are:
No traditional style business requirements or functional specification documents. Any
additional details about the feature are captured via collaborative meetings and discussions.
Testing is performed continuously throughout the lifecycle so expecting that the code won’t be
complete and is probably still being written
Acceptance Test cases are part of the requirements analysis process because these test
cases are written before the software is developed
The development team has a responsibility to create automated unit tests which can be run
against the code every time a build is performed
With multiple code deliveries during the iteration, regression testing requirements have now
significantly increased and without test automation support, ability to maintain a consistent
level of regression coverage will significantly decrease.
5. Challenges:
Challenges are faced while merging the code or integration of the products. This stage always
involves high risk factor, which has to be considered in estimation and schedule.
In addition, for the smooth execution of the project, the most important factor is communication. The
more transparency is maintained about the understanding and development of the requirement, the
more clarity about the requirement and clients expectation are observed
6. Risk management in Agile:
Agile Methods such as Scrum are a relatively new entrant into the field of project management. A
basic tenet of Agile Methods is that teams produce a continuous series of useable software builds in
very short cycles called Sprints. Each build is assessed, issues identified and the backlog of tasks is
reviewed and prioritized and the most important tasks are scheduled for the next sprint. It sounds
like an ideal approach. For many teams it works extremely well as Agile teams tend to claim higher
project success rates than do teams using more traditional methods. There is not a lot of empirical
8. data available that makes effective comparisons of Agile project success rates to other
methodologies, but what data that does exist tends to support those claims.
Conclusion
In software development organization’s prospective adapting Agile Methodology with Time & Material
model can always be considered as a convenient, quality based, profitable project execution affair. In
cotemporary market most of the company either already adapted or trying to adapt this combo to
taste the pinnacle of success.
References
http://agilemethodology.org/
http://en.wikipedia.org/