Join Esther and Diana, the authors of Agile Retrospectives: Making Good Teams Great!, on an interactive journey of Adventure. Follow the trail of a flexible framework for Retrospectives, a map for designing and leading Retrospectives. Retrospectives offer the greatest lever for project or process improvement—based on the solid data of a team’s immediate past experience of success and failure. The Adventure lies in holding Retrospectives throughout the project—capturing, managing, and disseminating technical knowledge and process wisdom to improve current and future projects.
This tutorial will provide you with a proven process for how to prioritize a backlog for profit. It will debunk the mistaken theory that you can prioritize a backlog for ROI and provide concrete examples of how to structure backlogs to meet the needs of key stakeholders, align your backlog to corporate strategy, and show how your release will drive profit. By following the process described in this tutorial, agile product managers / product owners can create backlogs that support the company’s longer-term goals as well as short-term development needs.
Two industries that extensively deal with risk are Investment Banking and Oil Exploration. As seasoned veterans involved in developing software in these industries, Chris and Todd will introduce a number of theories, tools and practices surrounding risk and risk management. They will share their practical experience using these techniques and approaches, explaining what works and what does not based on their experience and that of their colleagues.
Dive deep into the topic of clean Java code by examining what makes a good function. In this talk you will look at a lot of code; some good and some bad. You will experience how such code is analyzed, critiqued, and eventually refactored. You will understand the decisions made by an expert in the field as bad code is gradually transformed into good code. How big should a function be? How should it be named? How should it be documented. How many indent levels should it have? How should it deal with exceptions, arguments, and return values.
What does it mean to be a professional software developer? What rules do we follow? What attitudes do we hold? And how can we maintain our professionalism in the face of schedule pressure? In this talk Robert C. Martin outlines the practices used by software craftsmen to maintain their professional ethics. He resolves the dilemma of speed vs. quality, and mess vs schedule. He provides a set of principles and simple Dos and Don’ts for teams who want to be counted as professional craftsmen.
This tutorial introduces the concept of playtesting - a central component of software development processes in the game industry - which is the process through which players inform the ongoing evolution of a game’s design. The importance of playtesting is derived from the fact that in the game industry, the quality of the software produced is measured in terms of the user’s subjective experience of it. In the tutorial the participants explore the benefits, pitfalls and relevance of playtesting for their business, be it a game company or any other software development operation.
Test Driven Development is the core of the technical Agile practices. With TDD, programmers get instant feedback that their code does what they intend. This class shows the motivations and mechanics of TDD, but does not stop there. Attendees get first hand experience at TDD, writing well tested code in the challenging world of C++. Attendees see how TDD helps to prevent many bugs and memory leaks from ever making the bug list. CppUTest, an open source test harness, is used to collect, organize and automate C++ unit tests.
As individuals we work in transient isolation to reduce the impact of work in progress on each other. Organizations isolate WIP by using only official versions of 3pty sources and by producing official releases for customers.
Multi-stage continuous integration (MSCI) scales CI to large distributed environments by isolating work in progress at the team level. Changes move from individual to team to mainline as fast as CI allows, but stop on failure.
MSCI is particularly important in a distributed environment where fixes to problems exposed by CI can be delayed by a full day.
This tutorial teaches how to use a simple 5 component model to identify and prioritise stories on a project. The five elements to the model are: Business Objectives (value and goals) Business Actors (who does this) Business Events (when does this happen) Business Process (what needs to be done) Business Objects (what do we do it with - information and/or tools) The tutorial introduces the model as a tool for understanding current (“as is”) and future state (“to be”), identifying the stories for the future state and teaches the participants how to use it on a mock project.
How can mock objects help you design your system better? Want to know how mocking saved hours of work? We focus on establishing best practices based on examples with mock objects. We cover design of classes, using mock objects to understand and test interaction between objects of the system. By the end of the session it should become clear how mocking,when applied correctly helps with system design, improves testability by reducing cost of change. An explicit part of this session is dedicated to the Mocking top offenders. We talk with examples about bad usage of Mocks, and its consequences.