agile development practices



agile development practices

0 1


tbpic


On Github mragab / tbpic

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

  • Where are you from Agile software development?
    Exploring
    Planning
    Started adoption
    Iterating
    Tried it, and it didn't work

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

Challenges

Wrapping up

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

questions

thank you

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.

0