Alternative Software Development Methodology

Post on 12-May-2015

1.149 views 3 download

Tags:

description

Slide for TDD Workshop at GoSoft

Transcript of Alternative Software Development Methodology

An Alternative Software

Development Methodology

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

2001

Tuesday, June 28, 2011

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

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

Tuesday, June 28, 2011

Tuesday, June 28, 2011

Agenda

• Morning Session

• Agile Development Methodology

• Agile Development Life Cycle

• Agile Development Tools

• Afternoon Session

• Agile Development Best Practice

Tuesday, June 28, 2011

Software Development ?

Tuesday, June 28, 2011

ConstructionArchitect Engineering

Labor Work

Tuesday, June 28, 2011

ConstructionSoftware Architect

Software Engineering Software Worker (programmer)

Tuesday, June 28, 2011

We were forced to believed in that.

Tuesday, June 28, 2011

How many ways can we construct the building?

Tuesday, June 28, 2011

How many ways can we construct software?

Tuesday, June 28, 2011

As long as, user can change , adjust software

to fit into their requirements.

Tuesday, June 28, 2011

Software Development

is Craftsmanship

Tuesday, June 28, 2011

Methodology

Tuesday, June 28, 2011

Methodology

• Team Structure

• Team Discipline

• Individual Discipline

Tuesday, June 28, 2011

The greatest waterfall

Tuesday, June 28, 2011

The greatest waterfall

Tuesday, June 28, 2011

Team Discipline

• Document Oriented

• Each step has clearly definition of document standard

• Timeline is king

• Change is bad !!!!!

Tuesday, June 28, 2011

Team Structure

• Silo

• Clearly responsibility

Tuesday, June 28, 2011

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

Finally

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

Tuesday, June 28, 2011

We need change!

Tuesday, June 28, 2011

Agile

Tuesday, June 28, 2011

Agile

Tuesday, June 28, 2011

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

Team Structure

• One single team

• Break the damn silo

Tuesday, June 28, 2011

Team Discipline

• Change is good

• We love change

• Eliminate unchangeable modules

Tuesday, June 28, 2011

Individual Discipline

• Super Clear and have to follow

• Test : Code : Refactor

Tuesday, June 28, 2011

The beginning of agile

• Choose few agile practices and adopted into your team.

Tuesday, June 28, 2011

Agile Methods

Extreme Programming

Kanban

Scrum

Tuesday, June 28, 2011

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

Tuesday, June 28, 2011

Question?

• Developers, Do you write automate test?

• Why do you write test?

• What is the benefit of testing?

Tuesday, June 28, 2011

Pin XP on TDD

Tuesday, June 28, 2011

Tuesday, June 28, 2011

Why TCR?

• Confident to change

• Quality is good

• Executable document

• Continuous delivery

• Customer happy :)

Tuesday, June 28, 2011

Tuesday, June 28, 2011

Tuesday, June 28, 2011

Whole Team?

• Same Mind set for the whole team

Tuesday, June 28, 2011

“Sustainable”

Tuesday, June 28, 2011

Continuous Integration

Tuesday, June 28, 2011

We need tools

Tuesday, June 28, 2011

Tools

• Project Management

• Software Development

• Software Testing

• Software Delivery

Tuesday, June 28, 2011

User Story

Tuesday, June 28, 2011

User Stories

Tuesday, June 28, 2011

Tuesday, June 28, 2011

Agile PM tool

Tuesday, June 28, 2011

Tuesday, June 28, 2011

Agile PM tool

Tuesday, June 28, 2011

Version Control Software

Tuesday, June 28, 2011

Software Development

• Maven2 : Project Lifecycle Management

• Version Control Software

• IDE

• Framework

Tuesday, June 28, 2011

• Project Structure

• Build

• Dependency Management

• Test

• Style Checking

• Code Coverage

Tuesday, June 28, 2011

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

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

Tuesday, June 28, 2011

Framework is matter

• Structure, Definition and Rules

• Provide Complete Test Cycle

Tuesday, June 28, 2011

Let’s see how TCR work?

Tuesday, June 28, 2011

Tuesday, June 28, 2011