agile development practices
for sustainable software development
by Ibrahim El-Etr & Mohamed Ragab
Orange Labs Cairo
Speakers
-
Ibrahim El-Etr
Head of Program Management in Orange Labs Cairo
MBA student in the German University in Cairo
-
Mohamed Ragab
Head of Technology, and an Agile Development Coach in Orange Labs Cairo
Ibrahim is currently the Head of Program Management in Orange Labs Cairo, and a MBA student in the German University in Cairo. Ibrahim joined Orange Labs as the Head of Software Development in 2006.
Ibrahim has 8 years of solid management experience, leading several teams to deliver several portfolios of software products to market. He has over 21 years of software development experience associated with highly diversified portfolio of international companies in different culture environments such as Orange, Telepin, Airwide solutions, Mitel networks, Nortel networks, and Newbridge (Alcatel Lucent). He spent the first 15 years of his career working for start up companies including owning his own business.
Entrepreneurship is part of his DNA and he brings that outlook and method of work to every team he works with.
Mohamed Ragab is currently the Head of Technology, and an Agile Development Coach in Orange Labs Cairo. He joined Orange Labs as a Senior Software and Service Architect in 2009. Mohamed has more than 15 years of experience building software systems in a wide range of industrial domains, in small local companies as well as large multi-national organizations. Mohamed has experience delivering projects with small collocated teams of a few developers to large distributed teams with a few hundred developers on board.
Mohamed's expertise is in the Java platform, Open Source technology stacks, software development infrastructure and automation, and Agile Development Methodologies.
Agenda
- State of affairs
- Be agile adopting agile
- Agile development methodologies
- Challenges
- Wrapping up
- Discussion
Show of hands
-
How do you relate yourself to software development?
Testing
Development
Management
Marketing
Customer
Show of hands
-
What is your current role in Agile software development?
Product Owner
Scrum Master
Tester
Developer
Customer
Not remotely related!
State of affairs
in the young industry of software
The Standish Group Report
"chaos report"
- The scope of software project failures.
- The major factors that cause software projects to fail.
- The key ingredients that can reduce project failures.
Report: shows (1995)
- 31.1% of projects will be cancelled before they ever get completed
- 52.7% of projects will cost 189% of their original estimates
- The lost opportunity costs are not measurable, but could easily be in the trillions of dollars
- The failure to produce reliable software to handle baggage at the new Denver airport is costing the city $1.1 million per day.
report: projects' resolutions (2013)
2004
2006
2008
2010
2012
Successful
29%
35%
32%
37%
39%
Failed
18%
19%
24%
21%
18%
Challenged
53%
46%
44%
42%
43%
Report: Factors of Success
- (20) Executive management support
- (15) User involvement
- (15) Optimization
- (13) Skilled resources
- (12) Project management expertise
- (10) Agile process
- (6) Clear business objectives
- (5) Emotional maturity
- (3) Execution
- (1) Tools and infrastructure
Standish report 2013 page 7
http://www.versionone.com/assets/img/files/CHAOSManifesto2013.pdf
Report: features usage
- 20% of features are used often and
- 30% of features and functions get used sometimes or infrequently
- 50% of features are hardly ever or never used.
the Bottleneck in software development
“Walking on water and developing software from a specification are easy if both are frozen” by: Edward V. Berard
Learning is the Bottleneck
What is the goal?
“Build the right thing, right”
- How do we know what "the right thing" is?
- Build it twice? ... too expensive
- Build one small piece at a time, and learn
- Iterate, and get feedback
Software is like ...
a manufacturing process
building construction
no it's not
Software is like ...
product design process
gardening!
that's more like it
late project ..
What to do?
“adding manpower to a late software project makes it later”
Fred Brooks in his book The Mythical Man-Month 1975
Agile development methodologies
there is no silver bullet ..
- There will be failures, use them well
- Make things visible
- There will be successes, use them well
- Agile development exposes the issues that are already there
- Can you handle the feedback
there is no silver bullet ..
- We succeed together, or we fail together
- If you don't trust your team, Agile is not for you
- Unlearn, Learn, practice, and evolve
- Be ware of: not enough training
- Be Agile adopting Agile
Background Transition Override
You can override background transitions per slide by using
data-background-transition="slide".
Clever Quotes
These guys come in two forms, inline:
“The nice thing about standards is that there are so many to choose from” and block:
“For years there has been a theory that millions of monkeys typing at random on millions of
typewriters would
reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”
Pretty Code
function linkify( selector ) {
if( supports3DTransforms ) {
var nodes = document.querySelectorAll( selector );
for( var i = 0, len = nodes.length; i < len; i++ ) {
var node = nodes[i];
if( !node.className ) {
node.className += ' roll';
}
}
}
}
Courtesy of highlight.js.