Agile xptdd@gosoft

59
An Alternative Software Development Methodology By @d4jens @9tae and @roofimon Tuesday, June 28, 2011

Transcript of Agile xptdd@gosoft

Page 1: Agile xptdd@gosoft

An Alternative Software

Development Methodology

By @d4jens @9tae and @roofimonTuesday, June 28, 2011

Page 2: Agile xptdd@gosoft

2001

Tuesday, June 28, 2011

Page 3: Agile xptdd@gosoft

Hybrid Theory was a massive commercial success; it sold more than 4.8 million copies during its debut year, earning it the status of best-selling album of 2001, while singles such as "Crawling" and "One Step Closer" established themselves as staples among alternative rock radio play lists during the year.

Tuesday, June 28, 2011

Page 4: Agile xptdd@gosoft

In February 2001, 17 software developers met at the Snowbird, Utah resort, to discuss lightweight development methods. They published the Manifesto for Agile Software

Tuesday, June 28, 2011

Page 5: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 6: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 7: Agile xptdd@gosoft

Agenda

• Morning Session

• Agile Development Methodology

• Agile Development Life Cycle

• Agile Development Tools

• Afternoon Session

• Agile Development Best Practice

Tuesday, June 28, 2011

Page 8: Agile xptdd@gosoft

Software Development ?

Tuesday, June 28, 2011

Page 9: Agile xptdd@gosoft

ConstructionArchitect Engineering

Labor Work

Tuesday, June 28, 2011

Page 10: Agile xptdd@gosoft

ConstructionSoftware Architect

Software Engineering Software Worker (programmer)

Tuesday, June 28, 2011

Page 11: Agile xptdd@gosoft

We were forced to believed in that.

Tuesday, June 28, 2011

Page 12: Agile xptdd@gosoft

How many ways can we construct the building?

Tuesday, June 28, 2011

Page 13: Agile xptdd@gosoft

How many ways can we construct software?

Tuesday, June 28, 2011

Page 14: Agile xptdd@gosoft

As long as, user can change , adjust software

to fit into their requirements.

Tuesday, June 28, 2011

Page 15: Agile xptdd@gosoft

Software Development

is Craftsmanship

Tuesday, June 28, 2011

Page 16: Agile xptdd@gosoft

Methodology

Tuesday, June 28, 2011

Page 17: Agile xptdd@gosoft

Methodology

• Team Structure

• Team Discipline

• Individual Discipline

Tuesday, June 28, 2011

Page 18: Agile xptdd@gosoft

The greatest waterfall

Tuesday, June 28, 2011

Page 19: Agile xptdd@gosoft

The greatest waterfall

Tuesday, June 28, 2011

Page 20: Agile xptdd@gosoft

Team Discipline

• Document Oriented

• Each step has clearly definition of document standard

• Timeline is king

• Change is bad !!!!!

Tuesday, June 28, 2011

Page 21: Agile xptdd@gosoft

Team Structure

• Silo

• Clearly responsibility

Tuesday, June 28, 2011

Page 22: Agile xptdd@gosoft

Individual Discipline

• Mostly make something “done” but not “right”

• Mostly said “please don’t change it”

• Mostly make it for last, not for change

Tuesday, June 28, 2011

Page 23: Agile xptdd@gosoft

Finally

• Our software is same as building. Once it done you can’t change it.

Tuesday, June 28, 2011

Page 24: Agile xptdd@gosoft

We need change!

Tuesday, June 28, 2011

Page 25: Agile xptdd@gosoft

Agile

Tuesday, June 28, 2011

Page 26: Agile xptdd@gosoft

Agile

Tuesday, June 28, 2011

Page 27: Agile xptdd@gosoft

Discipline

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

Tuesday, June 28, 2011

Page 28: Agile xptdd@gosoft

Team Structure

• One single team

• Break the damn silo

Tuesday, June 28, 2011

Page 29: Agile xptdd@gosoft

Team Discipline

• Change is good

• We love change

• Eliminate unchangeable modules

Tuesday, June 28, 2011

Page 30: Agile xptdd@gosoft

Individual Discipline

• Super Clear and have to follow

• Test : Code : Refactor

Tuesday, June 28, 2011

Page 31: Agile xptdd@gosoft

The beginning of agile

• Choose few agile practices and adopted into your team.

Tuesday, June 28, 2011

Page 32: Agile xptdd@gosoft

Agile Methods

Extreme Programming

Kanban

Scrum

Tuesday, June 28, 2011

Page 33: Agile xptdd@gosoft

eXtreme Programming

XP is a set of practices that conform to the values and principles of Agile. XP is a discrete method, whereas Agile is a classification.

Tuesday, June 28, 2011

Page 34: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 35: Agile xptdd@gosoft

Question?

• Developers, Do you write automate test?

• Why do you write test?

• What is the benefit of testing?

Tuesday, June 28, 2011

Page 36: Agile xptdd@gosoft

Pin XP on TDD

Tuesday, June 28, 2011

Page 37: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 38: Agile xptdd@gosoft

Why TCR?

• Confident to change

• Quality is good

• Executable document

• Continuous delivery

• Customer happy :)

Tuesday, June 28, 2011

Page 39: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 40: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 41: Agile xptdd@gosoft

Whole Team?

• Same Mind set for the whole team

Tuesday, June 28, 2011

Page 42: Agile xptdd@gosoft

“Sustainable”

Tuesday, June 28, 2011

Page 43: Agile xptdd@gosoft

Continuous Integration

Tuesday, June 28, 2011

Page 44: Agile xptdd@gosoft

We need tools

Tuesday, June 28, 2011

Page 45: Agile xptdd@gosoft

Tools

• Project Management

• Software Development

• Software Testing

• Software Delivery

Tuesday, June 28, 2011

Page 46: Agile xptdd@gosoft

User Story

Tuesday, June 28, 2011

Page 47: Agile xptdd@gosoft

User Stories

Tuesday, June 28, 2011

Page 48: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 49: Agile xptdd@gosoft

Agile PM tool

Tuesday, June 28, 2011

Page 50: Agile xptdd@gosoft

Tuesday, June 28, 2011

Page 51: Agile xptdd@gosoft

Agile PM tool

Tuesday, June 28, 2011

Page 52: Agile xptdd@gosoft

Version Control Software

Tuesday, June 28, 2011

Page 53: Agile xptdd@gosoft

Software Development

• Maven2 : Project Lifecycle Management

• Version Control Software

• IDE

• Framework

Tuesday, June 28, 2011

Page 54: Agile xptdd@gosoft

• Project Structure

• Build

• Dependency Management

• Test

• Style Checking

• Code Coverage

Tuesday, June 28, 2011

Page 55: Agile xptdd@gosoft

Maven 2

Providing a uniform build system๏Providing quality project information๏Providing guidelines for best practices development๏Allowing transparent migration to new features๏Making the build process easy

Tuesday, June 28, 2011

Page 56: Agile xptdd@gosoft

IDE doesn’t matter as long as it has maven plugin

Tuesday, June 28, 2011

Page 57: Agile xptdd@gosoft

Framework is matter

• Structure, Definition and Rules

• Provide Complete Test Cycle

Tuesday, June 28, 2011

Page 58: Agile xptdd@gosoft

Let’s see how TCR work?

Tuesday, June 28, 2011

Page 59: Agile xptdd@gosoft

Tuesday, June 28, 2011