Agile Management
Agile management is an often overlooked part of Agile. There is much information available for agile developers, testers, and project managers, but very little for development managers and team leaders. However, when organizations adopt agile software development, not only developers, testers, and project managers need to learn new practices. Development managers and team leaders must also learn a new approach to leading and managing agile organizations.
Several studies indicate that “old-style” managers are the biggest obstacle in transitions to agile software development. Development managers and team leaders need to learn what their new role is in agile software development organizations. This workshop will help them.
Agile Testing Journey
Effective testing should be an integrated part of agile development. Various agile testing practices, such as ATDD, TDD, and exploratory testing, have been introduced. In practice it's not clear how to combine these effectively. Agile testing requires various skills and has to be done in parallel with development. Right balance between information, cost and feedback time is needed to achieve this. In this workshop we explore the testing activities required to get the feature done. We try in practice defining specifications by example, test automation and exploratory testing. We also look into how to improve based on the information gotten from testing.
This workshop consists of exercises and group discussions. We will do ATDD session, implement automated tests and have exploratory testing session.
Learning goals:
- How to do effective testing by combining different practices
- Costs and risks involved with different practices
- Selecting suitable testing approaches for different problems
- How to improve based on the information received from testing
- Overall view of agile testing
Intended audience and pre-requisites:
Understanding of ATDD (Acceptance Test Driven Development) and exploratory testing. No need to master in practice, but should be familiar with the concept. Should have seen code before and implemented Hello World with some language. No need to be a developer. Intended for those who would consider themselves as agile team members (eg. developers, testers, business analysts).
Agile Testing Self-Help Clinic
According to Merriam-Webster, "clinic" is, with one of its meanings, a group meeting devoted to the analysis and solution of concrete problems or to the acquiring of specific skills or knowledge. This is what we do in this workshop - we analyze and solve problems in testing and take home better skills to helping ourselves solving those problems in our specific organizations.
We will reserve time for your addressing the participants needs, but will start with some common problems and work with exercises towards their solution, e.g.:
- How do you test incrementally, when you're used to test when the system is almost ready?
- What do you need to cover for a "story" to test it sufficiently?
- If full automation is not possible, how to work with regression testing?
Executable Specifications
Elisabet Hendricksson stated at Turku Agile Day 2010 that “Specs is an abbreviation for speculations”. She is right, specs are normally speculations. How can this be avoided?
The execution of code doesn't leave any room for speculations. So if the spec can be executed, it isn't a speculation anymore.
Specifications can be expressed in many different ways. One popular form is as Word documents. Word documents are hard to execute, they need to be interpreted and the intent is probably lost, or at least changed, in the translation.
It would be nice to remove the risk of misinterpretation and the risk of losing the intend in the translation. This can only be done if no interpretation takes place and no translation is done. The solution is obviously to create the specifications so they can be executed.
We will look at the pros and cons of some different tools in this tutorial. They will include tools suited for developers that wants to write code to tools suited for product owners that don't. We will also use some of them. You will leave this tutorial with a working knowledge about executable specifications and you will know that you can set up and execute a specification.
Tools we will look into are
- Fitnesse
- Robot
- Concordion
- Cucumber
- jBehave
- Tumbler
Make sure that you bring your laptop so you are able to participate in the most important part of this hands on tutorial.
Help your people GROW - Tools for leaders and coaches
Great leaders operate on two levels. While paying attention to the problem at hand, they never miss an opportunity to let their people learn from each situation. Instead of solving the problem herself, she might choose to build her people´s capacity to solve them. Letting people find solutions also encourages them to take ownership of their actions. An efficient way for making all this happen is to ask questions. The hard part is finding the right questions.
During this workshop we will:
- explore how to use questions when leading and coaching teams or individuals
- learn what makes a good coaching question
- practice creating great questions that increase the coachees´ awareness and helps them find solutions themselves
- learn a simple structure that will help you guide people with questions to find viable solutions and concrete actions
Regex - The future programmer's best friend
There are many popular myths concerning regular expressions (Regex). First, it's exceptionally hard to master Regex. Second, a normal programmer rarely needs Regex. Third, Regex are tricky to read and hence can't be maintained.
That is all wrong!
IDG media recently listed what knowledge will be most requested in our business ten years from now. In first place was Analyzing data. They explain: "Around 35 new petabyte data will be created every year after 2020. That's comparable to a DVD stack from earth to the moon and back again." Do you want to be one of the requested experts?
Regex is based on a very simple mathematical theory. With just three plain operators – AND, OR and star – we can describe all state machines (FA) and catch almost any text pattern. The rest is supplementary. Many programmers first studied and then practiced Java, C#, Ruby or Python for years. But, how much time did we spend on learning and writing Regex?
Java, C#, Ruby and Python are a strongly typed languages with excellent support for object orientation. However, data from files, user input, and databases are often untyped. Regex instantly and elegantly translates the untyped data into typed data. We can easily find, interpret, replace, and filter. Regex is seamlessly integrated as an external DSL. And, we can even test drive Regex development with xUnit.
No prior Regex knowledge is required for this very practical session. Expect live coding and mini exercises, when Staffan reveals the secrets. Maybe it wasn't that hard to understand Regex? Maybe Regex can be maintained when we automate testing? Maybe there is a need for Regex in every single program?
Staffan gives you the answers.
New Tools of the Craft
An exploration of necessary tools for effective collaboration in agile teams.
Getting value through an iterative and incremental process with a high level of uncertainty and a dependence on early and quality feedback requires more than just a task board, some cards and a secret handshake.
The promise of agility in teams and organizations requires changes in attitude, values, beliefs and behaviors. These changes need new tools that are by no means commonplace in the general world of business and are rarer still in the software domain.
In this session, Mike Sutton and Pierluigi Pugliese will take participants through an immersive experience centered around a real Agile project using Scrum. As they work towards building a potentially shippable product, participants will experience, first hand, some of the most common dysfunctions in agile implementations.
Mike and Pierluigi will help participants learn some interesting techniques to help correct these dysfunctions and facilitate follow up discussions to unpack the motivations and mechanics of such techniques to help them gain deeper understanding.
Borrowing and adapting from such schools of knowledge and practice ranging from Systemic coaching, Solutions Focused, Theatre Improvisation, Clowning and Open Space Technology, Mike and Pierluigi will invite the participants to experience techniques that can change the value they get from being in a team, their work and transform the value they bring to their organizations.
Reclaim your legacy systems - A deeper dive with the Mikado Method
For any code base there comes a time when you want to change it. If your changes are extensive, it’s easy to get lost in a jungle of dependencies, or on a sea of broken code. Ultimately, you might just give up and stove it away under the legacy label.
Instead, come learn The Mikado Method (http://mikadomethod.wordpress.com), a systematic approach to reclaim your code. It helps you visualize, prepare and perform business-value- focused changes, while delivering, and without having a broken code-base in the process. It enhances team communication, collaboration and learning, and helps individuals stay on track.
Intended audience:
Anyone who wants to get some serious hands-on practice on how to work their way out of messy code while keeping the delivery frequency and business-value focus.
Prerequisites:
- Previous experience of ill-structured code
- Intermediate Java or C# development skills
- Some experience with ‘classic’ refactorings
- Some knowledge of design principles (SOLID/Low coupling-High cohesion).
- Laptop with development environment for Java. The kata is also available in C#.
Student workshop: The (hitch)hiker's guide to agile
You, me and a group of others are in the Kilpisjärvi Hiking Center. We are about to start a week-long hiking trip to the summit of Halti, the highest point of Finland. We have a vision - to enjoy the hike and to get back safe. Plans are updated regularly and the route, while well known and planned, might vary just like in any software project.
In this workshop-like tutorial we together will start a journey to learn the basics of agile. Do we get all the way to Halti, or do we rather go fishing on DoskalJávri?
It's your choice.
Just remember, Don't Panic.
