agile framework support

18
Frameworks: supporters and mischief- makers Thursday, November 7, 13

Upload: oliver-szymanski

Post on 04-Jul-2015

273 views

Category:

Technology


6 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Agile framework Support

Frameworks:supporters and mischief-

makers

Thursday, November 7, 13

Page 2: Agile framework Support

Copyright © 2010 Source-Knights.com

David & Oliver

• David: davidtanzer.net, @dtanzer• Oliver: source-knights.com, @sourceknights

• both independent software consultants• both striving for simplicity in software development

Thursday, November 7, 13

Page 3: Agile framework Support

Copyright © 2010 Source-Knights.com

David & OliverStarting from greenfield

Thursday, November 7, 13

Page 4: Agile framework Support

Copyright © 2010 Source-Knights.com

Defining Agile

Modern development framework take away 80% of the job. Then they make

the remaining work ten times as hard.”Johannes Brodwall

Thursday, November 7, 13

Page 5: Agile framework Support

Copyright © 2010 Source-Knights.com

• 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?

Thursday, November 7, 13

Page 6: Agile framework Support

Copyright © 2010 Source-Knights.com

Testing

• Does the software do what it should do?• Who says what it should do?

=> Specification by Example, Agile Acceptance Testing

Pro Maybe ContraCucumber, JBehave, JnarioFitnesse

Selenium, Coded UI Tests

JUnit,Spring, Guice, CDI

Thursday, November 7, 13

Page 7: Agile framework Support

Copyright © 2010 Source-Knights.com

Testing

• Are the components implemented correctly?

=> Unit TestingPro Maybe ContraJUnit Cucumber, Jnario Selenium

Thursday, November 7, 13

Page 8: Agile framework Support

Copyright © 2010 Source-Knights.com

Testing

• Are my tests independent? Do they test isolated units?

=> Unit TestingPro Maybe ContraMockito, JMockSpring, Guice, CDI

JUnit Mockito, JMock

Thursday, November 7, 13

Page 9: Agile framework Support

Copyright © 2010 Source-Knights.com

• How can you ensure modularity and flexibility?• Which libraries do we need in what version?• How do I get feedback about my code?

Thursday, November 7, 13

Page 10: Agile framework Support

Copyright © 2010 Source-Knights.com

Configuration / Build

• How can you ensure modularity and flexibility?

Pro Maybe ContraSpring, Guice, CDIOSGi, Java EE, FuseGradle

JPA, HibernateMaven

JDBC, DBmake, Ant

Thursday, November 7, 13

Page 11: Agile framework Support

Copyright © 2010 Source-Knights.com

Configuration / Build

• Which libraries do we need in what version?

Pro Maybe ContraMaven, Gradle Ivy Ant

Thursday, November 7, 13

Page 12: Agile framework Support

Copyright © 2010 Source-Knights.com

Configuration / Build / Test

• How do I get feedback about my code?

Pro Maybe ContraSonarGerritJenkins, Hudson, Team CityMetrics Library

(Bug Tracker) (User)

Thursday, November 7, 13

Page 13: Agile framework Support

Copyright © 2010 Source-Knights.com

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

Thursday, November 7, 13

Page 14: Agile framework Support

Copyright © 2010 Source-Knights.com

Continuous deployment

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

Pro Maybe ContraPuppet, ChefVagrant

Jenkins, HudsonShellscripts, Ant

Copying

Thursday, November 7, 13

Page 15: Agile framework Support

Copyright © 2010 Source-Knights.com

• 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?

Thursday, November 7, 13

Page 16: Agile framework Support

Copyright © 2010 Source-Knights.com

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 Maybe ContraDB MaintainDatabene

Lots of PL/SQL scripts

Hibernate auto migration

Thursday, November 7, 13

Page 17: Agile framework Support

Copyright © 2010 Source-Knights.com

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?

Thursday, November 7, 13

Page 18: Agile framework Support

Copyright © 2010 Source-Knights.com

Continuous [email protected]

[email protected]

Thursday, November 7, 13