Further results indicate 52.7% of projects will cost 189% of their original estimates. The cost of these failures and overruns are just the tip of the proverbial iceberg.39% of all projectssucceeding (delivered on time, on budget, withrequired features and functions); 43% werechallenged (late, over budget, and/or with less thanthe required features and functions); 18% failed(cancelled prior to completion or delivered and neverused).
Software lies at the heart of any business change – which is the ultimate goal for the customer.It’s quite easy to increase your velocity and work on the wrong product at the same time.Continuous Delivery – THIS IS OUR APPROACH. Constant small releases allow you to release small increments of value every day and get feedback from the customer/user on a regular basis. Business gets visibility and control and can steer the project every step of the way.According to Jez Humble, there are three strands to continuous delivery: one strand concerned with automation of build, test, deployment, database migrations, and infrastructure; a second strand concerned with practices, such as continuous integration, good configuration management, and testing; and a third strand concerned with people, having everyone involved work together throughout the software delivery life cycle.Even after completing the software development project, it takes more time to realize the degree to which the "valuable software" delivered would contribute to the real success or the real value.
Like it or not, requirements will change throughout a software development project. Traditional software developers will often adopt change management processes which are designed to prevent/reduce scope creep – change preventionAgile change management approach treats requirements as a prioritized stack which is allowed to vary over time.OUR APPROACHDo just enough initial requirements envisioning to identify their project scope and develop a high-level schedule and estimate; that's all you really need early in a project, so that's all you should do. During development elaborate in a just-in-time manner to explore each requirement in the necessary detail.
Frequent delivery of working software provides stakeholders with concrete feedback, making the current status of your project transparent while at the same time providing an opportunity for stakeholders to provide improved direction for the development team.
These three stonecutters are doing the same job, but don’t have a shared Vision of their work. They give different values to what they are doing. When working in a team, it’s important that everybody has the same vision of what we are building.OUR APPROACHAccess to project stakeholders – case of UBOS in MICSThoughtWorkers in JHB and London who work at client sites full time – case of Rackspace
Do you use command and control or adaptive leadership?OUR APPROACHNo hierarchyAgile is not going to solve any of your personnel problems. It will, however, bring these issues to the surface so that they can be dealt with quickly. As managers we need to do everything we can to support the team and help them be successful.
Just like you can't sprint for an entire marathon, you can't successfully develop software by forcing people to work overtime for months at a time.
It's much easier to understand, maintain, and evolve high-quality source code than it is to work with low-quality code. Therefore, agilists know that they need to start with good code, to keep it good via refactoring, and take a test-driven approach so that they know at all times that their software works.
Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.
A [very] short history of
Software development processes
Waterfall Development is
another name for the more
to software development
You rarely aim to re-visit a „phase‟ once
You complete one phase (e.g. design) before
moving on to the
That means, you next phase (e.g. development)
better get whatever
you‟re doing right the first
Downside of Traditional Approaches
You don’t realize any value
until the end of the project
You leave the testing until the
You don’t seek approval from
the stakeholders until late in
Takes too long
This approach is highly risky, often more costly and
generally less efficient than Agile approaches
2012 Chaos Report
why projects fail:
2012 Chaos Report
Agile is Agile?
An umbrella term covering
Software development methodologies that adhere to the
Most Agile teams use a hybrid of multiple approaches
#1- Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software
#2 – Welcome changing requirements even late in development.
Agile processes harness change for the customer’s competitive advantage
#3 – Deliver working software frequently, from a couple of weeks to a
couple of months, with preference to the shorter timescale.
#4 – Business people and developers must work together daily
throughout the project.
#5 – Build projects around motivated individuals. Give them the environment
and support they need and trust them to get the job done.
#6 – The most efficient and effective method of conveying information
to and within a development team is face-to-face conversation.
#7 – Working software is the primary measure of progress.
#8 – Agile processes promote sustainable development. The sponsors,
developers and users should be able to maintain a constant pace
#9 – Continuous attention to technical excellence and good design
#10 – Simplicity – the art of maximizing the amount of work not done – is
#11 – The best architectures, requirements and designs emerge from
#12 – At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts it’s behavior accordingly.
Myths: Agile is NOT…
A specific methodology or process
Agile is a collection of best practices and principles for software
Agile is a philosophy, or a set of values
A “One Size Fits All” cookbook
Every project and team adjusts the application of Agile to fit the
circumstances, environment, and business problem to be solved
Software is developed incrementally, in time-boxed iterations
Agile is a set of highly disciplined practices
benefits from Agile implementation
Faster time to
2012 State of Agile Development Survey Results
Benefits of Agile
But, with this capability comes:
Constant business involvement
A need for more discipline
Greater emphasis on testing
An approach which sometimes clashes with some
Agile is about
Pictures downloaded from internet
Agile with Guts – A Pragmatic Guide to Value-Driven
Development by Nicholas Gouy
Overview of Agile Methodology by Haresh Karkar
Agile Principles, Agile People by Gaetano Mazzanti