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.
One of the core values expressed in the agile manifesto is “working software over comprehensive documentation” because working software is what delivers value to our customers. Agile development requires a sofware development team have working software ready to deploy at the end of each iteration; but accomplishing this can be harder than it seems, especially when first starting with agile. In this highly interactive session you will understand how a team definition of “Done” is necessary to making agile delivery possible, and what you can do to make it happen while avoiding the pitfalls.
Effective management of a software portfolio is a challenge that many companies ignore, avoid or fail to follow through because it is too hard. Many approaches to portfolio management get so complex that decisions fail to get made. In this hands-on tutorial we explore “barely sufficient” portfolio management and introduce a simulation game where participants make decisions about which investments a company makes. Participants will learn about product, project, and portfolio management issues tying decisions to strategy and purpose in order to optimize overall return.
Planning is important, even for agile projects. Too many teams view planning as something to be avoided and too many organizations view plans as something to hold against their development teams. In this session you will learn how to break that cycle by learning and practicing skills that will help create useful plans that lead to reliable decision-making. You will learn about story points, ideal days, and how to estimate with “Planning Poker.” Both short-term iteration and long-term release planning will be covered.
The technique of expressing requirements as user stories is one of the most widely applicable techniques introduced by the agile processes. User stories are an effective approach on all time constrained projects and are a great way to begin introducing a bit of agility to your projects.
The biggest risk to most projects is building the wrong product. Regardless of how fast your agile team becomes, nothing matters if you’re building the wrong product.
In this tutorial we will look at both non-financial ways of both prioritizing product backlog items and choosing among competing project ideas. Included are relative weighting, theme screening, theme scoring, and Kano analysis. You will leave with hands-on experience in very practical ways to prioritize a product backlog.
Three basic tools - pen, paper and a kitchen timer - will give you Agile values like…
- Constant feedback about your working habits
- Dedicated decision points to respond to change
- Opportunities on a day to day basis to improve your personal process
- A sustainable pace even when the deadlines are getting closer
- Improved quantitative and qualitative estimates
- Strategy for coping with interruptions and task switching
- Ability to regulate complexity
Integrating customer feedback into an agile process is a challenge. Iterations are short, and finding time for research, design & development means making sacrifices. In this session we’ll talk about finding organizational allies who can become collaborators in customer feedback tasks, getting effective & timely results, & potential pitfalls. Enlisting your organization in these efforts builds a customer-centric culture and provides the team with critical input. Examples will be drawn from our experience at Viget Labs re-designing the international web presence of a global hotel chain.
Agile designers need to quickly see the essence of a problem and shape reasonable solutions. When things don’t go according to plan, they must react, readjust their thinking, and try again. Seasoned agile designers strike a balance. They know the difference between core and revealing design tasks and plan accordingly. When unanticipated difficulties crop, they adapt their work rhythms. This tutorial introduces techniques and vocabulary for articulating design solutions and simple measures of technical debt and different kinds of development work.
In this session, we’ll test some real small to medium size applications for quality and bugs. Through three main activities of collation, investigation and prediction, we’ll move through our explorations understanding applications then experimenting with discovery and failure situations, utilizing tools when relevant. While Erik will guide the session and explain the context, a large part of the testing will come from the audience, either as ideas or driving the keyboard. While this is accessible as an introductory session, it will also show how to perform industrial strength ET.