Tools for Agility
Not long ago the notion of a tool that hides more of the system than it shows sounded crazy. To some it still does. But hundreds of thousands of Mylyn users have made next big evolution of the IDE clear. Stories and tasks are more central than source code, focus is more important than features, and integration with the agile workflow is the biggest productivity boost since code completion. This talk will demonstrate the concepts of the task-focused interface and look ahead at how we are redefining the “I” of the IDE by personalizing the user experience around the agile process.
Selenium is the 800lb gorilla of open source web application testing. For four years it has been steadily gaining a following and making a difference for corporations large and small. Such tools have always been a trap for adept Agile teams though. Too often teams rely on functional testing and skimp on the much more effective ‘small’ unit tests. Now with JBehave steering Selenium, we’re seeing test scripts emerge that engage formerly perplexed management and business folks. The time has come for this type of tool pairing to be valued for its role in validating Agile in the enterprise
This is the story of how the Launchpad (https://launchpad.net) development team switched to a continuous integration system to increase several flows in their development process:
- flow of changes on trunk;
- flow of changes requiring database schema upgrade;
- flow of deployed changes to end users.
To switch to a buildbot (http://buildbot.net) based system meant violating a very old company taboo: risking a trunk that doesn’t pass its test suite. The risk of a broken trunk was offset by allowing each developer to run the full test suite in the Amazon EC2 cloud.
This session describes a lightweight approach to code reviews used in co-located and geographically distributed agile teams. It covers lessons learned from several agile projects: real value, best practices and pitfalls of code reviews. The presentation explains how to make code reviews effective, relatively painless, and liked by the team. Moreover, it presents some interesting aspects of code reviews growing beyond their original intention. The session includes a demo on how Atlassian Crucible integrated with leading IDEs via Atlassian IDE Connector facilitates the whole process.
Today’s developers are quick to adopt leading-edge technologies that can accommodate project peaks and valleys, evolve and change, and support agile principles. Using the CollabNet platform, this session will demonstrate the agile best practice of continuous integration (CI) using cloud provisioning capabilities and the Hudson open source CI engine. Attendees will learn a framework that can be used in their environment, including an understanding of the components, tools, set up, and generalized use cases for development in both virtual private clouds and public clouds, like Amazon EC2.
Tools and practices as subscribed by the XP methodology are reasonably well known and used by the majority of agile project teams. As agile teams become more mature, so does their thirst for tools to push them to the next level of productivity. In this talk, we will walk through a number of project tools used by some teams we work with. In some cases, we will explain how we hacked tools that you may already be using to make them more efficient or useful. In other cases, we’ll describe new tools designed by teams we have been working with who are trying to move to the next level.
Testing can be a complex and thankless task. The technologies change so fast that your tools don’t work as they should. Your tests become brittle and are hard to relate to customer requirements. This talk looks at the latest techniques and tools for easing some of these burdens.
Topics include behavior driven development (BDD), domain specific testing languages (DSLs), scripting languages (Groovy) and a range of web, SOAP, and database testing libraries (JUnit, EasyB, WebTest, HtmlUnit, Tellurium, Robot Framework, JBehave, Cucumber, DbUnit, SoapUI, JMeter and more) and testing techniques.
Aren’t code, backlog-items, tests, designs & documents all just different forms of system knowledge at different levels of detail? Why can’t the same tools help refactor, browse, search, and provide build/test automation for non-code forms of knowledge without requiring a separate tool/repository for each format?
You create iterations from a backlog of user stories managed via a taskboard with a simple “workflow” from “todo” to “done.” You use Continuous Integration. But in your source control system you’ve just got files and branches. You could create a branch for every story, but that’s a lot of branches to manage! How can you ask the source control system which versions/files correspond to the stories that are done in order to build the “done” version and do exploratory testing? This session will show how to manage changes using stories and how to use branches to represent your workflow.
Cucumber is a new acceptance testing (AT) tool that works with RSpec. Already popular in the Ruby community, this tutorial shows you how to use Cucumber to test drive Java applications, when you combine Cucumber and RSpec with JRuby.
We’ll also discuss Cucumber vs. FitNesse and using RSpec vs. JUnit. You’ll learn tips for writing good acceptance tests. Half of the time will be devoted to a hands-on exercises, where you will test drive a simple Java application using Cucumber.
Bring your laptop (or a pair partner with one), with the latest Cucumber, RSpec, and JRuby installed.