+ All Categories
Home > Technology > why agile?

why agile?

Date post: 09-Sep-2014
Category:
Upload: tathagat-varma
View: 30 times
Download: 0 times
Share this document with a friend
Description:
My presentation at NASSCOM Tech Series session on Agile Methodology at NOIDA on Jan 17. managewell.net
Popular Tags:
50
why agile? Tathagat Varma Sr. Director Yahoo!
Transcript
Page 1: why agile?

why agile?

Tathagat Varma

Sr. Director

Yahoo!

Page 2: why agile?

the world around us…yesterday!

Page 3: why agile?

Microsoft Windows timeline

https://en.wikipedia.org/wiki/Timeline_of_Microsoft_Windows

Page 4: why agile?

Other major OS and tools timeline

https://en.wikipedia.org/wiki/Solaris_(operating_system) https://en.wikipedia.org/wiki/Bugzilla

Page 5: why agile?

A typical support timeline

http://itconvergence.blogspot.in/2012/10/oow-12-elison-extradata-oracle-r122.html

Page 6: why agile?

As a contrast, what are consumer internet companies doing?

Continuous Integration -> Continuous Delivery -> Continuous Deployment

On ‘good days’, Flickr releases a new version every half an hour (Jun 20, 2005)

IMVU pushes a revision of code to the website every nine minutes (Feb 10, 2009)

The other day we passed product release number 25,000 for WordPress. That means we’ve averaged about 16 product releases a day, every day for the last four and a half years! (May 19, 2010)

A new version of Google Chrome now due every six weeks (Jul 22, 2010)

Facebook does code push twice a day (Aug 4, 2012)

Page 7: why agile?

adoption @ net speed!!!

https://lh4.googleusercontent.com/-SQ1ugOgu8Ds/TimaHjH0VpI/AAAAAAAAApU/za0BhEjhoio/w402/google%2Bplus%2Bgrowth%2B20mil.png http://thesamerowdycrowd.wordpress.com/2011/12/26/a-moment-of-our-time/

Page 8: why agile?

darwin at work on internet

http://www.flickr.com/photos/stabilo-boss/93136022/sizes/o/in/photostream/

2006 2009

http://rossdawsonblog.com/weblog/archives/2009/05/rapid_turnover.html

Page 9: why agile?

yet, our product development sucks!

http://blog.amplifiedanalytics.com/2011/07/musing-on-difference-between-successful-product-innovation/ http://www.nickblack.org/2009/10/how-brand-trust-affects-new-products.html

Page 10: why agile?

Let’s understand the ‘craft’ first…

Sheer joy of making things

Pleasure of things that are useful to other people

Fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles

Joys of always learning, which sprints from the non-repeating nature of the task

Delight of working in such a tractable medium

The Mythical Man Month – Fred Brooks, 1975

Page 11: why agile?

software development life cycles

Ad-hoc

Serial

Iterative

Incremental

Iterative/Incremental

Page 12: why agile?

risk management in SDLCs

Page 13: why agile?

notion of ‘progress’ vs. time

Page 14: why agile?

Waterfall Model

Wrongly inspired by assembly-line manufacturing processes of the day

Economics supported “measure twice, cut once” leading to up-front planning and BDUF

Single-pass, sequential process with hand-offs and feedback loops between adjoining phases

Transition to next phase only upon completion of current phase

Page 15: why agile?

Waterfall Software Development

Picture from http://damonpoole.blogspot.in/2009/07/traditional-development-game-of.html

Limitations and Assumptions

1. Wrong analogy: Software development ≠ Production 2. Customers know EVERYTHING upfront and that requirement won’t change3. Legacy from the past: implicitly assumes CPU time is costly, so focuses on

doing everything upfront to minimize ‘machine time’ for trial and error4. “Wicked Problem”: Designers and developers know how exactly how to

build5. Very long feedback cycles not suitable for today’s pace of innovation

Page 16: why agile?

As a result, software is…

Late

Buggy

Costly

Page 17: why agile?

and the costs…?

http://leadinganswers.typepad.com/leading_answers/estimating/http://www.agileforall.com/dyk/

Page 18: why agile?

Holy Grail of Software Development

Better: higher quality, more reliability, higher performance, more usable…

Faster: speedier development

Cheaper: no budget overruns

Page 19: why agile?

But the reality?

Page 20: why agile?

Preamble to Agile Movement

Software Crisis, 1965-85: The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem. — Edsger Dijkstra, The Humble Programmer

Page 21: why agile?

Software Crisis

The causes of the software crisis were linked to the overall complexity of hardware and the software development process. The crisis manifested itself in several ways:

Projects running over-budget. Projects running over-time. Software was very inefficient. Software was of low quality. Software often did not meet requirements. Projects were unmanageable and code difficult to

maintain. Software was never delivered.

Page 22: why agile?

and the response?

Frameworks, Standards and Certifications

Page 25: why agile?

and sadly, none of these came out of ‘process

factories’…

1975-2000•2000: Baidu•1997: Yandex•1994: Yahoo!, Amazon, NetScape,

•1986: Pixar•1984: Sybase•1983: Intuit, Borland, •1982: Sun, Symantec, Adobe, EA

•1980: Informix•1979: EMC•1977: Oracle•1976: CA, Apple•1975: Microsoft

2000-2010• 2010: Pinterest, SnapDeal, • 2009: Square, Quora, Sina Weibo• 2008: Groupon, AirBnB, GoGo• 2007: Dropbox, Zynga, Flipkart,

InMobi, Hulu, Tumblr, • 2006: Twitter, SlideShare, Badoo

Spotify• 2005: YouTube, Renren• 2004: Facebook• 2003: Myspace, Skype, Rovio,

Gameforge, • 2002: LinkedIn• 2001: StumbleUpon, Mail.ru

2011 -• Instagram

Page 26: why agile?

Why?

Process: Long-lead development process ineffective in a dynamic and global world

Management: Command and control model unsuitable for fostering collaboration required to solve complex problems

Technology: Advancements in computers, compiler technology and debugging and testing tools greatly improved the economics of software development

Innovation: in the age of hyper-innovation, old processes were simply ineffective

Page 27: why agile?

What is the most important part in these two machines?

“The Brakes!!!”

They let you go faster…

Page 28: why agile?

Agility vs. Discipline?

http://www.ibm.com/developerworks/rational/library/edge/08/feb08/lines_barnes_holmes_ambler/

Page 29: why agile?

Advent of Agile and Lean Methodologies

1970: Royce critiques Waterfall and offers improvement ideas 1986: Barry Boehm proposes Spiral Model 1971: Harlan Mills proposes Incremental Development 1987: Cleanroom Software engineering 1991: Sashimi Overlapping Waterfall Model 1992: Crystal family of methodologies 1994: DSDM 1995: Scrum 1996: Rational Unified Process framework 1997: Feature Driven Development 1999: Extreme Programming Explained 2001: Agile Manifesto is born 2003: Lean Software Development 2005: PM Declaration of Interdependence 2007: Kanban-based software engineering 2008: Lean Startup 2009: Scrumban 20xx: Something new !?! (hopefully!)

Page 30: why agile?
Page 31: why agile?

What is agile really all about?

Agile Businesse

s

Self-organizin

g x-functional

Teams

Motivated Individuals

• Higher ROI• Faster time to market• Better User Experience

• Shorter feedback cycle • Manage changing

priorities• Increased productivity

• Empowered individuals• Collaboration • Democratic decision-

making and transparency

Page 32: why agile?

Why is it so hard?

52%Organizational

Culture

39%

Resistance to Change

34%

Management Support

Page 33: why agile?

feedback loop in agile lifecycles

Page 34: why agile?

from daily builds to project

Page 35: why agile?

Scrum

Page 36: why agile?

What’s happening here?

http://ayagebeely.blogspot.in/2008_08_01_archive.html

Page 37: why agile?

Feedback Loops in Traditional Techniques vs.

Agile Techniques

Page 38: why agile?

Agile Development Value Proposition

http://www.versionone.com/Agile101/Agile_Benefits.asp

Page 39: why agile?

Does Agile work?

http://www.bigvisible.com/2009/12/taking-agile-beyond-faster/http://www.testingthefuture.net/page/2/

Page 40: why agile?

does iterating help?

http://viniciusvacanti.com/2011/12/12/when-do-you-throw-in-the-towel-on-your-struggling-project/

Page 41: why agile?

are small teams more productive?

http://drewcrawfordapps.com/2.0/the-agility-of-small-teams/

Page 42: why agile?

does colocation impact team performance?

http://sloanreview.mit.edu/the-magazine/2009-summer/50412/how-to-manage-virtual-teams/

Page 43: why agile?

is small batch size faster?

http://www.andrejkoelewijn.com/wp/2011/06/30/is-team-productivity-a-responsibility-of-the-product-owner/

Page 44: why agile?

Let’s build a car

…and I need it delivered…next week!

Page 45: why agile?

www.wikispeed.com

Page 46: why agile?

The Wikispeed Process

At WIKISPEED, some of our projects move more than 10,000% faster than industry norms because of our blend of Agile, Lean, Scrum, and Extreme Programming/Manufacturing practices.

Team WIKISPEED uses methods developed by the fastest-moving software companies. In fact, in many ways we have more in common with Google or Twitter than with GM or Toyota.

Manufacturing and old-thought software teams gather requirements, design the solution, build the solution, test the solution, then deliver the solution. In existing automotive companies, the design portion of that process alone takes 3 to 12 years, and then the vehicle design is built for 5 to 14 years. This means it is possible to buy a brand new car from a dealer and that car represents the engineering team's understanding of what the customer might have wanted 26 years ago!

Team WIKISPEED follows the model of Agile software teams, compressing the entire development cycle into one-week "sprints." We iterate the entire car every 7 days, meaning that every 7 days we reevaluate each part of the car and reinvent the highest-priority aspects, instead of waiting 8 to 26 years to upgrade. 

Page 47: why agile?

Wikispeed uses…

Lean Software Design: Use less stuff

XP: Pairing and Swarming

Agile: Reducing costs to make changes

Scrum: Clearly defined team roles and responsibilities

TDD: start with failing tests and develop solutions

OOP: contract-first development

Page 48: why agile?

Recap

agile ≠ Faster, but Sooner

agile ≠ No planning, but Adaptive Planning

agile ≠ More work, but ‘Done’

agile ≠ No documentation, but Just Enough

agile doesn’t just change the development process, but bring a radical change in organizational culture, leadership and management practices that is more in line with business needs and social values and norms of today

Page 49: why agile?

It’s not about the method!

A photographer went to a socialite party in New York. As he entered the front door, the host said ‘I love your pictures – they’re wonderful; you must have a fantastic camera.’

He said nothing until dinner was finished, then: ‘That was a wonderful dinner; you must have a terrific stove.’

– Sam Haskins

http://www.haskins.com/ImageShop/Image_Shop_60s/60s_Books_A.Image_01.html

Page 50: why agile?

Connect

Blog: http://managewell.net

Twitter: http://twitter.com/TathagatVarma

Presentations: http://slideshare.net/managewell


Recommended