Weitere ähnliche Inhalte Ähnlich wie Agile framework Support (20) Kürzlich hochgeladen (20) Agile framework Support2. David & Oliver
• David: davidtanzer.net, @dtanzer
• Oliver: source-knights.com, @sourceknights
• both independent software consultants
• both striving for simplicity in software development
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
4. Defining Agile
Modern development framework take
away 80% of the job. Then they make
the remaining work ten times as hard.”
Johannes Brodwall
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
5. •
•
•
•
•
Does the software do what it should do?
Who says what it should do?
Are the components implemented correctly?
Are my tests independent? Do they test isolated units?
Who defines my test cases?
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
6. Testing
• Does the software do what it should do?
• Who says what it should do?
=> Specification by Example, Agile Acceptance Testing
Pro
Cucumber, JBehave,
Jnario
Fitnesse
Maybe
Selenium,
Coded UI Tests
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra
JUnit,
Spring, Guice, CDI
7. Testing
• Are the components implemented correctly?
=> Unit Testing
Pro
JUnit
Maybe
Cucumber, Jnario
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra
Selenium
8. Testing
• Are my tests independent? Do they test isolated units?
=> Unit Testing
Pro
Mockito, JMock
Spring, Guice, CDI
Maybe
JUnit
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra
Mockito, JMock
9. • How can you ensure modularity and flexibility?
• Which libraries do we need in what version?
• How do I get feedback about my code?
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
10. Configuration / Build
• How can you ensure modularity and flexibility?
Pro
Spring, Guice, CDI
OSGi, Java EE, Fuse
Gradle
Maybe
JPA, Hibernate
Maven
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra
JDBC, DB
make, Ant
11. Configuration / Build
• Which libraries do we need in what version?
Pro
Maven, Gradle
Maybe
Ivy
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra
Ant
12. Configuration / Build / Test
• How do I get feedback about my code?
Pro
Sonar
Gerrit
Jenkins, Hudson,
Team City
Metrics Library
Maybe
Contra
(Bug Tracker)
(User)
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
13. • How can I deploy my code to different environments?
• How can I manage those environments?
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
14. Continuous deployment
• How can I deploy my code to different environments?
• How can I manage those environments?
Pro
Puppet, Chef
Vagrant
Maybe
Jenkins, Hudson
Shellscripts, Ant
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra
Copying
15. • How can I make sure that the database schema fits my
software version?
• How can I migrate database data between versions?
• How can I configure databases for different environments?
• How can I provide test data?
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
16. Configuration / Data
• How can I make sure that the database schema fits my
software version?
• How can I migrate database data between versions?
• How can I configure databases for different environments?
• How can I provide test data?
Pro
DB Maintain
Databene
Maybe
Lots of PL/SQL
scripts
Hibernate auto
migration
Copyright © 2010 Source-Knights.com
Thursday, November 7, 13
Contra