Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


The Agile Java Programmer

An overview of Agile history, practices and principles.

Joe Chacko

on 25 March 2011

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of The Agile Java Programmer

Methods eXtreme
Programming Scrum Test Driven Development
Planning Game
Whole Team (incl. On-Site Customer)
Pair Programming 12 core practices Fine scale feedback Continuous process
(rather than batch) Shared understanding Programmer welfare { { { - 4 principles Simple Design
System Metaphor
Collective Code Ownership
Coding Standards Continuous Integration
Design Improvement
Small Releases (Iterations) Sustainable Pace 3 roles:
product owner
scrum master
team member 3 artifacts:
product backlog (of user stories)
sprint backlog (of engineering tasks)
burn-down chart 4 'ceremonies':
sprint planning
daily scrum
retrospective Code Example Examples Test first:
no production code to be written without a failing test! Code the simplest thing that could possibly work. Refactor:
change the code and the design when you need to. Agile Programming Practices http://xkcd.com/612 Questions: how clear is this code? and is it correct? Requirements Waterfall Design Implementation A predictive model of software development Question: what is wrong with this picture? Why am I here? relevant experience
fan of Agile methods
break from my day job Why isn't he here? Ich bin ein Berliner Why are you here? source: cwjobs.co.uk YAGNI:
design only what you need, when you need it. Verification Cake Analogy Eating cake: when do you stop? When you have eaten enough? When there is no more cake? OR Developing software is
(a bit) like eating cake You can create everything that might be needed OR Apple ad suggests that PCs are bloated with unnecessary software You can create what *is* needed Another way User Story Task 1

Task 2 write a test
write code to pass the test
publish your changes
repeat until task is done An adaptive model of software development Question: how does this approach differ? Maintenance The Agile Java
Programmer A taxonomic distinction
you might need Values Principles Practices
Full transcript