Archive for July, 2012

Hi guys, this post will be about a quick exercise that I did during last retrospective and I would like to get your input.

Like always I started the retrospective with a small exercise to “set the stage”, something to make the people relaxed but at the same time helping them to get the focus.

I did the brand car exercise, this exercise is quite basic; we just ask to each different team member how they would describe the previous iteration using a brand car.

I had the brand of the car in my mind, I chose a Ferrari. The iteration went very well; the team delivered all promised stories, and they won a private bet against the PO. He did bet with the team that they would not be able to deliver all promised stories . Naturally I thought about Ferrari and I expected to hear the same from others.

I started to ask one by one which brand they wanted to better describe during iteration. Surprisingly, all the mentioned brands were modest, such as Opel, Skoda, Ford, etc. The only luxurious brand car was chosen by PO. At that moment I didn’t play so much attention, I thought that these guys are humble .

Later on during the conversation with an Agile Coach, colleague Mark, he mentioned to me “Did you see how their confidence is so low?” The iteration went so well and according to type of the cars they chose, their confidence of achieving something great was quite low.

This conversation with Mark was the main reason why I am writing this blog! I truly believe this can be used as a quick and simple tool to evaluate team´s confidence. What do you think? Do you think this is a useful tool to verify team’s confidence?

Please comment this post and leave me your opinions .

Thanks guys,
Luis

Reading list

Posted: July 12, 2012 in Agile, Process Improvement, Scrum, Testing

Time to time people ask me advice on what books should they read about Software Development, Agile and some other cool topics .

Based on these requests I am creating this post where I will keep a list of books that I think are really interesting/useful

Introduction to Agile:

  • Agile Software Development with SCRUM
  • Lean Software Development: An Agile Toolkit
  • Implementing Lean Software Development: From Concept to Cash
  • Leading Lean Software Development: Results Are not the Point
  • Succeeding with Agile: Software Development Using Scrum
  • Essential Scrum: A Practical Guide to the Most Popular Agile Process

Technical books - Agile Software Development

  • Agile Testing: A Practical Guide for Testers and Agile Teams
  • Growing Object-Oriented Software, Guided by Tests
  • The Cucumber Book: Behaviour-Driven Development for Testers and Developers
  • Refactoring
  • Working Effectively with Legacy Code
  • Specification by Example: How Successful Teams Deliver the Right Software
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Test-Driven Development: A Practical Guide: A Practical Guide

Continuous Delivery

  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
  • Continuous Integration: Improving Software Quality and Reducing Risk

Scaling Agile

  • Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum
  • Scaling Software Agility: Best Practices for Large Enterprises

Management, Leadership

  • Management 3.0: Leading Agile Developers, Developing Agile Leaders
  • The Toyota Way: 14 Management Principles from the World’s Greatest Manufacturer
  • Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results
  • The Five Most Important Questions You Will Ever Ask About Your Organization
  • Rework
  • Peopleware: Productive Projects and Teams
  • The Leadership Challenge
  • Taiichi Ohno’s Workplace Management
  • Freedom from Command and Control: Rethinking Management for Lean Service
  • Out of the Crisis
  • Lean Thinking: Banish Waste and Create Wealth in Your Corporation, Revised and Updated
  • Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers

Teams Interaction

  • The Five Dysfunctions of a Team: A Leadership Fable

Agile Coaching

  • Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition
  • Agile Retrospectives: Making Good Teams Great
  • The Art of Agile Development

Agile Project Management

  • Agile Project Management with Scrum
  • The Software Project Manager’s Bridge to Agility

Workshops and Presentations

  • Presentation Zen: Simple Ideas on Presentation Design and Delivery

Product Management:

  • Living Service: How to deliver the service of the future today
  • Inspired: How To Create Products Customers Love
  • Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise
  • Agile Product Management with Scrum: Creating Products That Customers Love
  • The Principles of Product Development Flow: Second Generation Lean Product Development

Please comment with some good suggestions to be added ;)

Cheers,
Luis

I want to dedicate this blog to a specific problem that we have during this iteration.

This post is for people who have the same problem, therefore can benefit from it and get some ideas from what we are trying to do.

Our feedback time is giant (Too long to know if we broke anything after committing code). After performing a quick value stream map for the development task we found out that we take between 24h to 48h depending on commited time and working hours.


Scenario I = 48 hours

Commit at 9:00 AM
Automatic build ready to be tested at 00:00 AM
Results at 6:00 PM (It takes 18h to run all the test cases, at this time developers are out from office)
Developers are back at 9:00 AM


Scenario II = 24 hours

Commit at 06:00 PM
Automatic build ready to be tested at 00:00 AM
Results at 6:00 PM (It takes 18h to run all the test cases, developers are still at the office)

Currently the team has 2 Test Sets, first one for smoke testing, second Full regression test set; The smoke testing covers just the basic part, all new test cases for new features are added to the Full Regression test set.

New Approach:
The team decided to create a third test set called “Release Test Set”, this test set will contain the test cases for features developed during the ongoing release, this means, all the automated test cases created by the team during the iterations will end on this “Release Test Set”.

When the product is released all these test cases will be moved to the “Regression Test Set”. With this approach the team will save around 17h of waiting time.

We will continue to run the Regression Test Set on daily basis but this time the team has the possibility to get quicker feedback about their actions during the iteration.

I will keep you posted about the results…

Please comment ;) ;) And give me your ideas ;)

Cheers,
Luis