Distributed Version Control Systems in the Enterprise
Every major Open Source project worldwide has already embraced Distributed Version Control Systems (DVCS), will enterprises be next?
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Shane Hastie on Sep 22, 2010
Jim Highsmith, one of the original authors of the Agile Manifesto, consultant and author, spoke at the Agile Australia conference this week, he presented at an executive breakfast on ways executives and managers can assist an Agile transition and gave the opening keynote about the need to rethink performance measures and how the dimensions of the project management “Iron Triangle” need to change as organisations adopt Agile techniques.
He also announced that he’s joining Thoughtworks as an Executive Consultant.
His theme for the executive breakfast was what managers and executives need to do to support Agile teams and enable Agile transition in their organisations.
He pointed out the importance of knowing and understanding the organisation’s strategy and approach. He contrasted two organisations at the opposite ends of the responsiveness spectrum – Walmart and Google. Walmart’s competitive strategy is based on efficiency and predictability; whereas Google’s competitive advantage comes from its ability to respond quickly to change.
Where an organisation has a strategic goal of business agility, such as Google, then Agile practices need to become part of the organisational DNA. He recommends the creation of a senior role of “Chief Agility Officer” tasked with creating and nurturing an Agile culture that pervades the whole organisation.
He discussed the need for organisations to achieve “Adult Agility” – moving beyond following a rules-based process, and making organisation wide changes that drive responsiveness, profitability, market share and customer satisfaction.
He contrasted Adult Agility with what he calls “Agile 101” – learning about the basics of Agile practices and techniques and creating the team environment that enables Agility. He emphasized that organisations need to go through Agile 101 – you cannot achieve Adult Agility without first learning and applying the Agile fundamentals.
Adult Agility is about aligning the organisations goals and objectives with the selection of delivery approaches (Agile, Scrum, XP, Lean, Kanban, Crystal etc). Managers and executives need to find the organisational levers that will enable the link between product delivery approaches with the strategic goals.
There are four key levers that management can use to drive organisational change and deliver strategic change:
· Doing Less
· Quality
· Motivation
· Speed to Value
Doing Less
This is about selecting what projects to work on, and prioritising work within projects to ensure the highest priority/highest value items are done next. Identify the next highest value item and work on that before moving the next item – avoid multi-tasking and focus on creating a continuous development pipeline.
He spoke about a study he undertook on the impact of multi-tasking on work throughput: if an engineer is working on five different projects and has a two-week (80 hour) task to complete for one of the projects it will take 48 elapsed weeks for the task to be completed. Managers need to resist the urge to allow multi-tasking, and help their teams focus on doing less and becoming more effective.
Doing less is also about eliminating unneeded features – he referenced the Standish Group study that found 64% of features in software products are rarely or never used, a DOD study of $35BN of projects that found only 2% of the code was used as written and another study that found that less than 5% of the code in 400 commercial products is ever used.
Doing less is important to enable work to flow, to keep work in progress under control and allow teams to be productive and effective.
Quality
“Quality is the most important factor for deriving long term value from a software product”
He cited results from an investigation that he and Michael Mah undertook at a scientific instrument company in Canada. Looking at six projects before and six projects after an Agile transition they found the following differences:
|
|
Previous Performance |
Current Performance |
Percent Improvement |
|
Project Cost |
$2.8Million |
$1.1 Million |
-$1.7M (-61%) |
|
Project Schedule |
18 months |
13.5 months |
-4.5 mo(-24%) |
|
Cumulative Defects |
2,270 |
381 |
-1889 (-83%) |
|
Staffing |
18 |
11 |
-7 (-39%) |
He cited another study where an 11% reduction in defect levels resulted in a 58% improvement in time-to-market.
These improvements were enabled by the reduction in defects.
He is passionate about the impact that focusing on quality has on project outcomes - reduced defect levels result in faster speed to value.
He discussed two aspects of quality as being the important speed-to-value drivers – reliability (how effectively and consistently the product does what it is supposed to do) and adaptability (how easy is it to change the product in response to changing needs).
He spoke about how technical debt increases over a very short time until the product gets to a point where it is fundamentally unmaintainable. Not addressing technical debt early and continuously in a product lifecycle will quickly result in a functionally bankrupt product that cannot be cost effectively maintained and altered to meet changing business needs.
He stated that one of the most important aspects of the Agile manager’s role is to monitor the state of technical debt in a product, and put in place policies and approaches that prevent and reduce the level of technical debt that is incurred.
Motivate
Motivation is intrinsic not extrinsic – traditional motivational approaches don’t work in Agile environments. He discussed the importance of the right motivators, and referred to Daniel Pink’s book Drive in which he identifies the three factors that lead to better performance and personal satisfaction:
Speed to Value
Speed to value is the ability of the organisation to get products to the marketplace quickly. It’s not good enough for an Agile team to build a product that could be deployed after a two-week iteration if the DevOps deployment process then takes six months. End to end organisation processes need to become agile to enable the rapid deployment and integration of valuable systems.
He talked about the three levels of business responsiveness -
He spoke about the need for managers to stop “doing Agile” and to start “being Agile” – embracing the Agile philosophes and approaches from the top down in the organisation, management becoming part of the change and delivering value to their customers and shareholders.
He says that effective Agile managers understand the need for balance, helping teams deal with the challenges of finding the right balance to deal with ambiguity, uncertainty and risk. Finding the balance between predictability and adaptability.
Effective Agile managers make clear decisions, they facilitate and empower self-organising teams and provide the constraints the teams must work within.
What makes an effective Agile manager, and how do they enable their organisations to "be Agile"?
Shane Hastie is an agile coach, trainer and consultant working for Software Education in Australia & New Zealand
Agile Maturity Model Applied to Building and Releasing Software
Five Key Practices to Agile ALM
Improving Software Delivery Cycles: Pre-requisites and Inhibitors
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
Every major Open Source project worldwide has already embraced Distributed Version Control Systems (DVCS), will enterprises be next?
Dmitriy Setrakyan introduces GridGain, comparing it and outlining the cases where it is a better fit than Hadoop, accompanied by a live demo showing how to set up a GridGain job.
Jesper Richter-Reichhelm presents the DevOps integration at Wooga, and how their system architecture has evolved over the years in order to cope with the increasing number of players.
"Swarming" is a technique whereby many members of a team work together to deliver a User Story, taking advantage of the skills of many team members together. How do you do this in a distributed team?
Ken Sipe introduces Glu, an open source deployment automation tool coming from LinkedIn, showing how to perform Glu configuration along with a demo of using it.
Jesper Boeg discusses why it is important to deliver software early, why it is difficult to do so, along with tools/tips/practices: shared vision, story maps, coaching, and others.
Mark McGranaghan presents how Heroku has designed, developed and operated cloud services providing high availability for their PaaS.
James Pearce discusses the status of HTML5, what it can do today and what it still missing across major mobile browsers.
No comments
Watch Thread Reply