Turku Agile Day

Exploratory Testing

Maaret Pyhäjärvi, 9:30 Wed 17th March, room to be announced

Exploratory testing is combined test design, test execution and learning. The essential criteria directing exploratory testing is to make best possible use out of scarce resources: exploratory testing is for intelligent manual testing that gives results!

On this workshop, we learn about the practices of doing exploratory testing, combined with real hands-on testing. The target of testing on the workshop is an open-source software, FreeMind. Experience personally how exploratory testing is different from traditional testing and collect ideas to amplify your testing effectiveness and efficiency. Exploratory testing approach has achieved equal results at a significantly lower cost than traditional testing.

With limited time, we focus on the testers' viewpoint to exploratory testing, and leave larger-scale managing -considerations for future learning sessions. The session teaches dynamics of exploratory testing, and fits anyone interested in true nature of testing work as intellectual controlled learning activity.

Requirements

  • Own laptop preferred

Lean Manufacturing Game

Taru Salmimaa and Lasse Ziegler, 9:30 Wed 17th March, room to be announced

After revolutionizing the automobile industry, Lean principles have been applied to different knowledge areas, such as software development. However, many people haven’t been introduced to the concepts that made Lean successful. In this interactive session, the participants will work in a small Lego production line, experiencing the problems and applying Lean practices to overcome them. The participants, divided in 4 teams, will learn about: systems thinking push vs. pull systems, waste, etc. We will also compare the production line scenario with the software development industry, analyzing its similarities and differences.

This workshop is based on the Lean Lego Game developed by Danilo Sato and Francisco Trindade originally presented at Agiles 2008 in Buenos Aires, Argentina (short version) and at XP 2009 in Sardinia, Italy (long version).

Overview and Objectives

This workshop was designed to demonstrate some Lean practices in an imaginary production line to build Lego houses.

  • Running Time: 3:00h
  • Intended audience: beginners and intermediate knowledge of Lean
  • Number of Participants: 8 – 24, divided in 4 teams
  • Number of Facilitators: 2
  • Main objective: present some Lean practices in a hands‐on experience
  • Secondary objective: demonstrate that Lean is more than just practices, the principles need to be understood
  • Topics covered: Waste, Push and Pull Systems, Kanban, Systems Thinking, Work Cells, Kaizen

Test-Driven Development

Lasse Koskela, 9:30 Wed 17th March, room to be announced

Test-Driven Development (TDD) is a programming technique that many if not most software engineers in the "agile" scene know of but that still relatively few are doing. One of the key inhibitors to adopting a practice like TDD is the lack of a suitable framework within which to experiment, experience, and learn. This workshop aims to create just such an environment - a safe and supportive environment for experiencing and experimenting with TDD - for participants of differing degrees of skill and exposure to TDD.

The workshop begins with a brief tutorial on TDD after which the participants engage in a collaborative effort in developing a piece of software together, working in pairs and small groups. In other words, for most of the workshop we will be pair programming so bring your laptop prepared with a development environment for Java, Ruby, Python or C# or hang on to another participant who brought one.

Improving and Maintaining Code Quality

Petri Louhelainen, 9:30 Wed 17th March, room to be announced

Having the right tools for the task, agile development and object oriented design is important for creating a quality code. Knowing how to use them is crucial. This workshop will help you to spot the problems in our existing code base, gives you tools and principles on how to attack them and most importantly, helps you to keep them from returning. Some Java and web development experience will help you to get most out of the workshop.

Requirements

  • Own laptop

Acceptance TDD by example

Pekka Klärck and Juha Rantanen and Janne Härkönen, 13:30 Wed 17th March, room to be announced

Acceptance test driven development (ATDD) is an important agile practice merging requirement gathering with acceptance testing. It enhances communication, and the produced tests ease following the number of running tested features and work as regression tests in the future. This workshop does not only give an introduction to this important process, but also shows how it is used in developing a realsystem.

Successful implementation of ATDD process requires participation from all the project's stakeholders. Therefore this tutorial is meant for people working on different roles. No prior knowledge about ATDD is needed, but participants are assumed to know basic agile practices and terminology. The main learning objective is to understand the ATDD process and know how to apply it in practice.

The 'beef' of the workshop is a live demo where the example application is developed using the ATDD process. Audience can also participate in the discussion and affect the produced software.

Laptops are not required.

Business Value Game

Tobias Anderberg and Ola Ellnestam, 13:30 Wed 17th March, room to be announced

If you want to create a good iteration and release plan, you should make sure that you work on the high value stories. But how do you know which stories have high value? In this workshop we simulate a situation where a group of salespeople sell projects to customers. The participants of the workshop make up the team and they need to decide what to implement. The goal of the game is to make money by keeping customers happy (by releasing features).

Coding Dojo

Markus Hjort, 13:30 Wed 17th March, room to be announced

A Coding Dojo is a meeting where a bunch of coders get together to work on a programming challenge.

In this session we develop together a prepared exercise using Java Language. There will be one laptop and one projector, and there will be always one pair from audience doing pair programming. After short time period we swich pairs. The pair at the keyboard should explain what they are doing so everyone can follow. Everyone present is expected to follow what is going on, and make helpful suggestions. This is called Randori Kata style. We will follow TDD practice. Laptops are not required

Continuous Integration

Thomas Sundberg, 13:30 Wed 17th March, room to be announced

How do you know that your application still works? I will demonstrate how to develop a web application and have some degree of confidence that it still works after a developer has checked in new code or made changes to the existing code base. We will use Java as development language, Mercurial as version control system, Maven as build system, Hudson as Continuous Integration server, JBoss as application server, JUnit as primary test framework and Selenium to drive all GUI tests.

Intended Audience

Developers, managers and testers that develop web applications and want to find out how easy it can be to get started with automated testing and Continuous Integration. We will use Java as development language, but the level of the programming will not be advanced. This is not a programming workshop. Any participant familiar with a c-like development language will be able to participate. C# developers should be able to follow the examples easily.

Requirements

  • Own laptop with admin rights