Monday, June 16, 2014

Agile Development Conference West Roundup

I spent the last week at the Agile Development Conference West and got to meet a great and varied set of speakers and attendees

James Whittaker, Distinguished Engineer at Microsoft, presented the future of web based data. Whittaker is not happy with the present, that requires users to log into apps or open up a browser to get to information. Whittaker gives an amusing example of the RunPee app that he saw his date using during a movie(it prompts you about the least interesting parts of the movie, so that you can visit the bathroom in theaters). He points out that this is an app that many folks might find useful, but it is buried so deep in the iTunes store that must potential consumers will never see it. He believes that "A new era of domesticated information and functionality is dawning" and that everyday applications will start bringing the data to you, rather than you going to multiple applications. 
Whitakker presented an example of this in the form of a holiday booking done through the Outlook calendar. He first blocked off the dates on his calender for when he was going on vacation, which made the calendar prompt him with the option to buy travel tickets. It showed the flight dates and times on the calendar, showing exactly the times the flight spans. Next after the booking of the tickets, the calendar suggested activities(for example, if you are visiting London - Visit Buckingham Palace, Hyde Park, Eat at recommended restaurants) and the user could then drag these directly onto your calendar and the application can even make the reservations for you. This was a great example of getting rid of the "hunting and gathering" done via browsers and apps and the domestication of data and information. 
The next part was just incredible, Whittaker showed screenshot of a plugin being developed that through the context menu, can be invoked to search for code samples that fit the problem being solved from the MSDN community posts. These can be imported and they get auto re-adjusted to use the variables being used in your code. This is an incredible tool for developers faced with problems they are sure someone has solved before. While this talk did not have much to do with Agile development, it did though have a glimpse of the direction applications are headed for many folks who would be helping develop them.

The title of the talk promises much and delivers more. Joe Justice is a consultant with Scrum Inc. and the founder of Wikispeed. Joe made one of the most impactful presentations of the conference. He introduced us to the revolutionary Wikispeed which builds modular cars using agile methodologies. They use agile boards(even for legal, hr and accounting) at Wikispeed to build cars. They use "object-oriented" car parts which are hot-swappable and can be switched out for similar parts as they have the same interface as every other similar part. This is revolutionary in the field of car manufacturing as it focuses on innovation and incremental delivery as opposed to mass production. Whats more, they are not for profit. Wikispeed has the ability to create new cars every week as opposed to the months to years it takes for a traditional car company to create and launch a new model. The cars they have built give over 100 miles per gallon. 
 Justice has taken these concepts to other hardware and manufacturing companies. He consulted with a radio amplifier manufacturing company in New Zealand. They co-located all disciplines needed to make  new product and started working with a scrum board and even using tdd(using card board pieces to run tests for size and fit before fabricating the actual metal parts). They went from creating a new product in 2-3 years to 2-3 weeks. John Deere, Boeing, Lockheed Martin and Raytheon have also adopted these methods with great results.
The most incredible story was that of Eduscrum. This is a group introducing scrum to classrooms. Justice gives the example of a science class where the teacher is just observing, while the students are learning by moving their tasks across their individual scrum boards. When they are done with a task, they ask the teacher over to review the task so that it can be closed. Justice's observation was that the students were a lot more involved and the teachers were a lot more relaxed.
This was my favourite talk of the conference. Having used personal kanban, I had an idea of uses of agile concepts outside of software, but using this for hardware development and education, to such great effect was incredible to see.

Sanjiv Augustine presented his talk on innovation and the right way to do it using Lean Startup concepts. Augustine gave examples of Kodak and Polaroid, which were big players in the 80s and the early 90s but quickly fizzled out because they did not innovate. Nest, Airbnb and SouthWest Airlines were given as examples of those that used lean concepts to be disruptive in their markets. The moral of the story was to be innovative while you are successful and to plant the olive tree. The gist of the talk was to make sure you have customers before building a product and to get customer feedback early and often.
Augustine showed a video of Nordstorm innovation labs where they performed flash testing directly with the customers to illicit requirements. The team spent a day at a shop selling sunglasses creating an app to help customers compare and buy sunglasses. They worked off of the direct feedback they got from the customers and had a successful app by the end of the day. This type of interaction can help figure out the MVP(Minimal Viable Product) and pivot the direction of the product early. It also helps the team empathize with the customer.
In all the talk was interesting, especially the Nordstorm portion of the talk. Watching a team work at such close quarters with the users was very exciting to see. I would love to try this out with one of my teams in the near future. Showing the video to my team got the same reaction, every one is excited to try this.

With 25 years of industry experience and an arsenal of research data to back him up, Mah presented numbers, trends and graphs that showed the impact Agile and clean code practices have had around the world. Some numerical highlights from the talk - 
  • A factor of 4 reduction in bugs can be achieve by using XP, pairing and co-located teams.
  • Geographically distributed teams can have up to 3 times the number of bugs dues to inefficient communication.
  • Schedules can be made shorter by up to 30% using agile.
  • Companies adopting Agile hit their stride around the 2 year mark.

Mah also compared the state of agile in Columbus and Munich and found the following -
  • Columbus teams were larger than Munich for similar size projects.
  • Projects in Munich had lower cost.
  • Projects in Columbus moved faster.
  • Columbus projects had fewer defects.
As a numbers guy, I found this to be more interesting than most of the audience did. It was good to be able to pick Mah's brain during lunch following the talk. He seems to focus a lot more on trend-lines than data-points, which is important for all to keep in mind.

Fadi Stephan from Excella Consulting led a session on what metrics to track for your agile team. It was a very different perspective on velocity, which is the almost universal metric tracked for agile teams. Stephan is against publishing velocity and using it purely as a planning tool. In fact Stephan reiterated the fact that teams should stop measuring velocity after it stabilizes. His advice is to keep the velocity number within the team and show only value delivered in showcases. Metrics should be used to encourage the right behaviours, not just for measuring outputs. Stephan suggests looking at the 12 agile principles and figuring out how to measure them. For example, producing valuable software can be measured by doing customer surveys, cumulative flow diagrams can be used to measure collaboration on the team. A metric should lead to conversation and eventually change, measuring things that do not invoke change is useless.

Personal Reflection
The conference was a mix of some great talks and some average ones, as one would expect. Chris Sims and Peter Saddington also made some great presentations about Business value and mentoring respectively. Joe Justice and Fadi Stephan were my favourite of the conference. Justice's examples of application of agile beyond software were very eyeopening. At the same time, Stephan refocused the use of metrics in the agile sphere from the routine velocity measurement.

Special Interest
Here is the Nordstorm Innovations Lab video that I had mentioned earlier in the post. Let me know what you think.