Alternative Software Development Methodology

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

    -
  • Category

    Education

  • view

    1.149
  • download

    3

description

Slide for TDD Workshop at GoSoft

Transcript of Alternative Software Development Methodology

Page 1: Alternative Software Development Methodology

An Alternative Software

Development Methodology

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

Page 2: Alternative Software Development Methodology

2001

Tuesday, June 28, 2011

Page 3: Alternative Software Development Methodology

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: Alternative Software Development Methodology

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: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 6: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 7: Alternative Software Development Methodology

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: Alternative Software Development Methodology

Software Development ?

Tuesday, June 28, 2011

Page 9: Alternative Software Development Methodology

ConstructionArchitect Engineering

Labor Work

Tuesday, June 28, 2011

Page 10: Alternative Software Development Methodology

ConstructionSoftware Architect

Software Engineering Software Worker (programmer)

Tuesday, June 28, 2011

Page 11: Alternative Software Development Methodology

We were forced to believed in that.

Tuesday, June 28, 2011

Page 12: Alternative Software Development Methodology

How many ways can we construct the building?

Tuesday, June 28, 2011

Page 13: Alternative Software Development Methodology

How many ways can we construct software?

Tuesday, June 28, 2011

Page 14: Alternative Software Development Methodology

As long as, user can change , adjust software

to fit into their requirements.

Tuesday, June 28, 2011

Page 15: Alternative Software Development Methodology

Software Development

is Craftsmanship

Tuesday, June 28, 2011

Page 16: Alternative Software Development Methodology

Methodology

Tuesday, June 28, 2011

Page 17: Alternative Software Development Methodology

Methodology

• Team Structure

• Team Discipline

• Individual Discipline

Tuesday, June 28, 2011

Page 18: Alternative Software Development Methodology

The greatest waterfall

Tuesday, June 28, 2011

Page 19: Alternative Software Development Methodology

The greatest waterfall

Tuesday, June 28, 2011

Page 20: Alternative Software Development Methodology

Team Discipline

• Document Oriented

• Each step has clearly definition of document standard

• Timeline is king

• Change is bad !!!!!

Tuesday, June 28, 2011

Page 21: Alternative Software Development Methodology

Team Structure

• Silo

• Clearly responsibility

Tuesday, June 28, 2011

Page 22: Alternative Software Development Methodology

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: Alternative Software Development Methodology

Finally

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

Tuesday, June 28, 2011

Page 24: Alternative Software Development Methodology

We need change!

Tuesday, June 28, 2011

Page 25: Alternative Software Development Methodology

Agile

Tuesday, June 28, 2011

Page 26: Alternative Software Development Methodology

Agile

Tuesday, June 28, 2011

Page 27: Alternative Software Development Methodology

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: Alternative Software Development Methodology

Team Structure

• One single team

• Break the damn silo

Tuesday, June 28, 2011

Page 29: Alternative Software Development Methodology

Team Discipline

• Change is good

• We love change

• Eliminate unchangeable modules

Tuesday, June 28, 2011

Page 30: Alternative Software Development Methodology

Individual Discipline

• Super Clear and have to follow

• Test : Code : Refactor

Tuesday, June 28, 2011

Page 31: Alternative Software Development Methodology

The beginning of agile

• Choose few agile practices and adopted into your team.

Tuesday, June 28, 2011

Page 32: Alternative Software Development Methodology

Agile Methods

Extreme Programming

Kanban

Scrum

Tuesday, June 28, 2011

Page 33: Alternative Software Development Methodology

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: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 35: Alternative Software Development Methodology

Question?

• Developers, Do you write automate test?

• Why do you write test?

• What is the benefit of testing?

Tuesday, June 28, 2011

Page 36: Alternative Software Development Methodology

Pin XP on TDD

Tuesday, June 28, 2011

Page 37: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 38: Alternative Software Development Methodology

Why TCR?

• Confident to change

• Quality is good

• Executable document

• Continuous delivery

• Customer happy :)

Tuesday, June 28, 2011

Page 39: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 40: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 41: Alternative Software Development Methodology

Whole Team?

• Same Mind set for the whole team

Tuesday, June 28, 2011

Page 42: Alternative Software Development Methodology

“Sustainable”

Tuesday, June 28, 2011

Page 43: Alternative Software Development Methodology

Continuous Integration

Tuesday, June 28, 2011

Page 44: Alternative Software Development Methodology

We need tools

Tuesday, June 28, 2011

Page 45: Alternative Software Development Methodology

Tools

• Project Management

• Software Development

• Software Testing

• Software Delivery

Tuesday, June 28, 2011

Page 46: Alternative Software Development Methodology

User Story

Tuesday, June 28, 2011

Page 47: Alternative Software Development Methodology

User Stories

Tuesday, June 28, 2011

Page 48: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 49: Alternative Software Development Methodology

Agile PM tool

Tuesday, June 28, 2011

Page 50: Alternative Software Development Methodology

Tuesday, June 28, 2011

Page 51: Alternative Software Development Methodology

Agile PM tool

Tuesday, June 28, 2011

Page 52: Alternative Software Development Methodology

Version Control Software

Tuesday, June 28, 2011

Page 53: Alternative Software Development Methodology

Software Development

• Maven2 : Project Lifecycle Management

• Version Control Software

• IDE

• Framework

Tuesday, June 28, 2011

Page 54: Alternative Software Development Methodology

• Project Structure

• Build

• Dependency Management

• Test

• Style Checking

• Code Coverage

Tuesday, June 28, 2011

Page 55: Alternative Software Development Methodology

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: Alternative Software Development Methodology

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

Tuesday, June 28, 2011

Page 57: Alternative Software Development Methodology

Framework is matter

• Structure, Definition and Rules

• Provide Complete Test Cycle

Tuesday, June 28, 2011

Page 58: Alternative Software Development Methodology

Let’s see how TCR work?

Tuesday, June 28, 2011

Page 59: Alternative Software Development Methodology

Tuesday, June 28, 2011