software development. xp, agile, etc

27
Software Development Agile, eXtreme Programming and Software prototyping Philipp Rukin Web-developer @ Empatika Ltd. [email protected]

Upload: phil-rukin

Post on 02-Jul-2015

168 views

Category:

Technology


1 download

DESCRIPTION

That's what happen when you make presentation and you are really sick and tired

TRANSCRIPT

Page 1: Software development. xp, agile, etc

Software DevelopmentAgile, eXtreme Programming

and Software prototyping

Philipp RukinWeb-developer @ Empatika [email protected]

Page 2: Software development. xp, agile, etc

Agile

Page 3: Software development. xp, agile, etc
Page 4: Software development. xp, agile, etc

Agile || Principles

● Individuals and interactions over processes and tools

● Working software over comprehensive documentation

● Customer collaboration over contract negotiation

● Responding to change over following a plan

Page 5: Software development. xp, agile, etc
Page 6: Software development. xp, agile, etc

eXtreme Programming

Page 7: Software development. xp, agile, etc
Page 8: Software development. xp, agile, etc

eXtreme Programming

● Fine scale feedback

● Continuous process

● Shared understanding and simplicity

● Programmer welfare

Page 9: Software development. xp, agile, etc

XP || Pair programming

The driver writes code while the navigator reviews each line of code.

Page 10: Software development. xp, agile, etc

XP || CI, Refactoring and frequent releases

● CI - everyone works with the latest version of the product

● Refactoring - code only what you need today... if it is hard - refactor

● Frequent releases - satisfy your customer

Page 11: Software development. xp, agile, etc
Page 12: Software development. xp, agile, etc

XP || Shared understanding

● Everyone is responsible for all the code

● Everyone can explain how it all works (even customers)

● So everything should be simple!

Page 13: Software development. xp, agile, etc
Page 14: Software development. xp, agile, etc

XP || Criticism

● Small teams only (<12)

● Really good developers are needed

● Lack of documentation

● It is hard to develop estimates

● etc..

Page 15: Software development. xp, agile, etc
Page 16: Software development. xp, agile, etc

Software prototyping

Page 17: Software development. xp, agile, etc
Page 18: Software development. xp, agile, etc

SW Prototyping || Process

● Identify requirements

● Develop

● Review

● Enhance or throw away

Page 19: Software development. xp, agile, etc
Page 20: Software development. xp, agile, etc

SW Prototyping || Advantages

● Early determination of requirements → reduced time and cost of development

● Increased user involvement → the product will satisfy user desires

Page 21: Software development. xp, agile, etc
Page 22: Software development. xp, agile, etc

SW Prototyping || Disadvantages

● User confusion

● Developer overattachment

● Excessive development

● Insufficient analysis

Page 23: Software development. xp, agile, etc

SW Prototyping || Our prototypes

Page 24: Software development. xp, agile, etc

SW Prototyping || Our prototypes

Page 25: Software development. xp, agile, etc
Page 26: Software development. xp, agile, etc

Summary

● There are a lot of methodologies

● It is hard to implement them for large teams

● They work great for small teams

● Different methodologies are suitable for different projects

Page 27: Software development. xp, agile, etc

Q & A

In Flow

Track your emotions

inflow.mobi