AGILE :AGILE Presenter
CRAIG COLLINS
Project Director
August 2008
AGILE :AGILE Thoughts on successful projects
Happy customers
expectations are met or exceeded
System works and users are happy
Project budget is not exceeded
Beneficial use delivers value
System is in place when required on time
Can this be achieved?
AGILE :AGILE Formal methodologies and the success rate of software projects
Everyone has a story of a failed software project or at least, a software project where the deadlines were exceeded and the customer was not happy
AGILE :AGILE Formalising what works
The Agile Manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
While there is value in the items on the right, we value the items on the left more
AGILE :AGILE Agile Principles
Highest priority is to satisfy the customer through early & continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people & developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The most efficient & effective way of conveying info within a dev team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity--the art of maximizing the amount of work not done—is essential.
The best architectures, requirements, and designs emerge from self organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
AGILE :AGILE Agile Software Imperative
Agile organizations concentrate on the rapid flow of value
High Productivity
80% of the value of most systems is delivered by 20% of the features, and up to two-thirds of the features of most systems are rarely used.
Rapid Response
How fast does your organization routinely respond to a customer need? Are your competitors faster?
Superior Quality
The fundamental discipline of lean software development is testing.
Lasting Value
80% of the code in any system is developed after first release to production.
AGILE :AGILE Lean Software development
Eliminate Waste
Extra Features,
Unnecessary paperwork that no one reads (huge spec documents),
Management Activities - sophisticated tracking and control systems and Authorization systems
Amplify Learning or create knowledge
Learning Cycles -iteration, quality and integrity, Prototype, Feedback, Show progress, Concurrent development
A predictable organization does not guess about the future and call it a plan; it develops the capacity to rapidly respond to the future as it unfolds.
Embody the current best known practice in standards that everyone follows, while actively encouraging everyone to challenge and change the standards
Build Quality in
Write executable specifications instead of requirements. Comment in code is excellent documentation (Mary and Tom Poppendieck – Lean software development -An agile toolkit
AGILE :AGILE Lean Software development
Decide as Later as possible (defer commitment)?
Abolish the idea that it is a good idea to start development with a complete specification.
Use Concurrent Development
Avoid repetition
Schedule Irreversible Decisions at the Last Responsible Moment. Learn as much as possible before making irreversible decisions.
Deliver as fast as possible
Lists and queues are buffers between organizations that simply slow things down.
Companies that compete on the basis of speed have a big cost advantage, deliver superior quality, and are more attuned to their customers' needs.
Drive down cycle time with small batches and fewer things-in-process.
Empower the team, Respect people and partners
Engaged, thinking people provide the most sustainable competitive advantage.
Teams Thrive on Pride, Commitment, Trust, and Applause. What makes a team? Members are mutually committed to achieve a common goal.
Effective teams have effective leaders who bring out the best in the team.
AGILE :AGILE Agile approach to business issues
The Warehouse Stock take
Why do we do two counts and not show the staff what is on hand, even when we know the count won't balance.
Why not find a way to make them want the stock to be accurate and let them find the items and solve the problems there and then
Why count once a month -perpetual counts (iterations) every day work better
Peer review and visibility of count progress and accuracy will create work ethic and pride
At SBH cotton mills, the stock controller always took flak for inaccurate stock. He now does perpetual stock counts, has a 100% accurate warehouse of over 30000 uniquely identified rolls of material. He is really proud if this and it gives him satisfaction to keep it that way.
AGILE :AGILE Agile approach to business issues
Sales processes
The process of selling is filled with waste – Proposals, reviews, renegotiations, contracts, revised proposals, board approvals, more revised proposals, presentations followed by more presentations for higher level people, peoples ego's, paperwork, paperwork, paperwork
Deliver the prices as fast as possible -don't write a proposal and waste time if the customer cannot afford the expense.
Have you taken an order by SMS/text message yet?
AGILE :AGILE Agile approach to business issues
Order fulfillment and invoicing – Typical process
Order arrives on rep's desk,
She writes out an order sheet
It is given to order processing
Order processing captures the sales order on the system.
Someone places a purchase order request to buying.
A buyer gets pricing (this has already been done at the proposal stage).
The buyer writes or types the order, places the order on a supplier (who also goes through this process).
Buyer captures purchase order on the system.
Receiving gets a delivery and checks with buyer.
Ticks off delivery note and sends to goods receiving data capture.
They check pricing to quote and type in on the system.
The goods are now in stock.
We must be able to do this better!
AGILE :AGILE Agile approach to business issues
Contracts (Specifically software) -
Paper that no one reads is waste -it is only needed in the event of something going wrong. Rather put that effort into preventing something from going wrong.
Trust relationships – trust the fairness, stability and predictability of the customers processes.
Trust is defined as “One parties confidence that the other party will fulfill its promises and not exploit its vulnerabilities” [Dyer -collaborative advantage]
**** Marbles ****
AGILE :AGILE The changing face of business
Change is given
Velocity is essential and expected
Work Volume is increasing in relationship to company growth
Expectations of companies press us to work after hours -how else can they continue to grow above inflation
Internet has made everything quicker
Information skimming is the new way of working
Continuous growth is essential for survival
Value for shareholders is driving this
Conclusion :Conclusion AGILE is a way to deal with and respond to the rapidly changing world
AGILE is a LEAN software methodology
AGILE works for software
I believe that AGILE is the only way to keep up with the demands of the pace of business today