Frameworks:
supporters and mischiefmakers

Thursday, November 7, 13
David & Oliver

• David: davidtanzer.net, @dtanzer
• Oliver: source-knights.com, @sourceknights
• both independent softwar...
David & Oliver

Starting from greenfield

Copyright © 2010 Source-Knights.com

Thursday, November 7, 13
Defining Agile

Modern development framework take
away 80% of the job. Then they make
the remaining work ten times as hard....
•
•
•
•
•

Does the software do what it should do?
Who says what it should do?
Are the components implemented correctly?
A...
Testing

• Does the software do what it should do?
• Who says what it should do?
=> Specification by Example, Agile Accepta...
Testing

• Are the components implemented correctly?
=> Unit Testing
Pro
JUnit

Maybe
Cucumber, Jnario

Copyright © 2010 S...
Testing

• Are my tests independent? Do they test isolated units?
=> Unit Testing
Pro
Mockito, JMock
Spring, Guice, CDI

M...
• How can you ensure modularity and flexibility?
• Which libraries do we need in what version?
• How do I get feedback abou...
Configuration / Build

• How can you ensure modularity and flexibility?

Pro
Spring, Guice, CDI
OSGi, Java EE, Fuse
Gradle

...
Configuration / Build

• Which libraries do we need in what version?

Pro
Maven, Gradle

Maybe
Ivy

Copyright © 2010 Source...
Configuration / Build / Test

• How do I get feedback about my code?

Pro
Sonar
Gerrit
Jenkins, Hudson,
Team City
Metrics L...
• How can I deploy my code to different environments?
• How can I manage those environments?

Copyright © 2010 Source-Knig...
Continuous deployment

• How can I deploy my code to different environments?
• How can I manage those environments?

Pro
P...
• How can I make sure that the database schema fits my
software version?
• How can I migrate database data between versions...
Configuration / Data

• How can I make sure that the database schema fits my
software version?
• How can I migrate database ...
Summary

•
•
•
•
•
•
•
•
•
•
•
•

Unit Testing
Mocking Framework
Agile Acceptance Testing
Configuration management
Dependen...
business@davidtanzer.net
Continuous improvement
oliver.szymanski@source-knights.com

Copyright © 2010 Source-Knights.com

...
Upcoming SlideShare
Loading in …5
×

Agile framework Support

526 views

Published on

Which Frameworks/Tools can actually help you in Agile Development? The talk is about what problems you have to face during Agile Development and how software can help you or be a mischief.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
526
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile framework Support

  1. 1. Frameworks: supporters and mischiefmakers Thursday, November 7, 13
  2. 2. 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
  3. 3. David & Oliver Starting from greenfield Copyright © 2010 Source-Knights.com Thursday, November 7, 13
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  17. 17. Summary • • • • • • • • • • • • Unit Testing Mocking Framework Agile Acceptance Testing Configuration management Dependency Injection Build Continuous Delivery Continuous Integration Code review Version Control Project management instruments Micro frameworks? Copyright © 2010 Source-Knights.com Thursday, November 7, 13
  18. 18. business@davidtanzer.net Continuous improvement oliver.szymanski@source-knights.com Copyright © 2010 Source-Knights.com Thursday, November 7, 13

×