We are unable to create an online viewer for this document. Please download the document instead.
M a k i n g A g i l e R e a lJava Power ToolsGetting it all togetherJohn Ferguson SmartPrinciple ConsultantWakaleo ConsultingEmail: firstname.lastname@example.orgWeb: http://www.wakaleo.comTwitter: wakaleo1Presentation GoalsLearn about the latest evolutions in Java development tools. In particular, learn how to improve and automate your development process using tools like Maven, Hudson, and many others.Agile2009 - Making Agile Real2Speaker’s qualiﬁcationsJohn Ferguson SmartConsultant, Trainer, Mentor, Author,...Works with Enterprise Java, Web Development, and Open Source technologiesAuthor of ‘Java Power Tools’ (O’Reilly)Writes articles for sites like JavaWorld, DevX and Java.net, and blogs on Java.netFrequent speaker at conferences and Java User GroupsLikes to write about himself in the third personAgile2009 - Making Agile Real3AgendaWhat we will cover today:Industrializing your build processOrganizing your internal artifactsImproving your release management strategyAutomate the build processBetter testing practicesMonitoring code coverage and code quality metricsAgile2009 - Making Agile Real4HERE is Edward Bear, coming downstairs now, bump, bump, bump, on the back of his head, behind Christopher Robin. It is, as far as he knows, the only way of coming downstairs, but sometimes he feels that there really is another way, if only he could stop bumping for a moment and think of it.-- A. A. MilneAgile2009 - Making Agile Real5Towards a better build processIndustrializing your build processWhy bother?Each team and each project using different conventions?Build scripts ad-hoc and difﬁcult to understand and maintain?Little reuse of components between teams and projects?Code quality metrics and reporting are not done systematically, or not at all?High learning curve and maintenance costs?What can you do?Set up a development infrastructure: e.g. Maven 2, Nexus, Hudson...Agile2009 - Making Agile Real6Towards a better build processBuild Automation - the big picturemavenBuild scriptingCI build serverJUnitContinuous IntegrationAutomated testingAutomated code qualityAgile2009 - Making Agile Real7Towards a better build processMaven as a standardization toolMore than just your average build scripting tool!A build toolA dependency management toolA documentation generation toolA metrics/code quality reporting toolA project management toolAnd more…Agile2009 - Making Agile Real8Towards a better build processSo what can Maven do for me?Standardize your build and deployment processA standard, but extensible, build lifecycleA standard directory structureClear and clean dependency managementGood technical documentation and reportingAgile2009 - Making Agile Real9Towards a better build processMaven 2 HighlightsA Standard Life Cycle1.0.1-SNAPSHOTA standardized approach to building your software1.0.1Familiar commands across all projects1.0.2-SNAPSHOTNo re-inventing the wheelprocess-resourcescompile$mvn compiletest-compiletest$mvn testpackage$mvn packageintegration-test$mvn integration-testinstall$mvn installdeploy$mvn deployAgile2009 - Making Agile Real10