What things in your day add value to the end product?

Something that add values…

Three people with different sets of skills (application developer, server administrator and release engineer) all looking at what could be causing an issue that manifested itself only in the production environment at release time.

In contrast with something that doesn’t…

A manager not involved in the release, sitting over everyone’s shoulders while they’re trying to understand the issue, reminding them to record the time spent against the estimated times in the plan and all the other paperwork.

Lean Presentation Retrospective

The End ResultA couple of Saturday’s ago, the UK office of Thoughtworks ran an internal conference that we call an ‘Away Day’. A work colleague of mine, Tom Scott and I presented a workshop titled Lean at Large: The Value Stream Map. Our goal was a tough one to fit in an hour, with a fundamental aim of giving people experience at value stream mapping and drawing some conclusions from it. Thanks to all the people that came along and participated – we certainly got some great feedback and more importantly we hope you got something useful out it.

We spent some time first talking briefly about lean theory, its relevance to software development before talking more about the wastes in manufacturing and production and their equivalents in software development. We gave an example of how you would leverage a value stream map highlighting system wastes, and then how you might analyse it to gain the most improvements to your system.

Game InteractionsThe next part of our session was more hands, with four volunteers acting out different roles using lego to create a car production line. The other observers broke into groups to observe and map out their value stream maps. Based on feedback notes we handed out and what people said to us after the session, I think most people found it fun and energising for such a late session in the day. Some peopel found it relevant and useful and some others could immediately see parallels in the game to the ways things operated on their current projects or current work environments.

Since we believe in continuous improvement, here are specific actions we will be doing for the next time we run this session:

  • Creating handouts that summarise the wastes and more examples about those you might see in software development.
  • Spend some more time explaining how the game will run and what is expected from each group
  • Run through some more example value stream maps and lean principles before starting the exercise as well as reinforcing them at each iteration.
  • Run the entire session for a minimum of two hours so that people have a chance of implementing one or two changes to see how it affects the entire value stream.
  • Give groups some stopwatches so they can measure how much time is spent on each process
  • At the end of the exercise, draw more parallels with the example production line to a software development project.
  • Potentially expand the complexity of the game with additional roles or constraints for each role

Backing Up SQL Server to Development

On our current project, we try to keep testing as close to as what’s going in proudction as possible. We take frequent database backups (appropriately clean some of the data) and then each developer and the QAs restore them to local copies of SQL server. The DB in production is massive with its transaction file, so here’s a way of speeding it up for local copies.

  1. Restore the DB into a copy of development
  2. Trim what tables/stored procedures/etc you don’t need
  3. Shrink the DB
  4. Detach the DB and remove the log (LDF) file (our prod log file is about 2G and even though it’s empty when we back up, it takes an excessive time to restore)
  5. Reattch the DB and back that up
  6. Restore whenever you want and it should be faster

Away Day Reflections

Every so often, one of our offices around the world hold an internal conference, that in the UK’s case is called thee Away Day. Just like many other conferences, you get a whole heap of people together and you find out some interesting things. Since our office is so large and we had quite a number of visitors, you also end up doing a bit of networking.

Sessions I attended included Marco Abis’ sessions on “Back to People”, Erik Dorenburg and Nick Drew’s presentation on “Software Visualisation”, Angela Martin’s “Customers are from Mars, Developers are from Venus”, my own presentation about “Lean at Large: The Value Stream Map”, and then a brief session with Martin Fowler on a summary from a small gathering he had on DSLs.

Getting to Yes

Getting To YesI finished reading this book a few weeks back and I found it a very compelling read describing a different negotiation technique developed by people from Havard. I found it a very easy book to read, filled with great examples and it is quite a brief book.

The book calls traditional negotiation ‘positional based negotiation’ where two parties state their intended position and leaves two styles, hard and soft or aggressive and passive, to reach their stated position. These two opposing styles of resolution typically lead to inadequate outcomes for both parties whilst endangering long term relationships between the two parties.

The book proposes an alternative style that they call ‘interests based negotiation’. In this latter style of negotiation, the goal is to first identify and then fulfil the real interests behind each party. With interests truly understood, it is then easier to generate more options and objectively identify the options that will increase the chances of fulfilling both parties’ interests in the best possible manner.

I found this book offered other great pieces of advice such as separating the people from the issue, and a number of strategies for dealing in situations where people are unable or unwilling to participate in this style of negotiating.

The Personal MBA

I really like the concept of the Personal MBA that Josh Kaufman offers in the form of a nice downloadable PDF. It’s short, succinct and though it’s easily interpreted as just a booklist, I think it offers valuable advice. Before stumbling across this, I had read a number of the books he mentions and found them useful if not thought-provoking. It is also good to know a number of other books that have been sitting on my reading list are listed as well. Check it out here.

October London Ruby User Group

Last night I attended the October meetup of the London Ruby User Group. I’m glad to see that it is an active community in London and last night apparently held the biggest turnout with about 40 (ish) people turning up. The meetup hosted two guest speakers who both spoke about DSLs (a popular topic that apparently came up in August as well). The first speaker, Robert Brooks took an admittedly less technical approach and spoke of the impact that they had at his work for some new shared department between the House of Commons and House of Lords, where he is using both Ruby on Rails and Ruby in several ways. The second speaker, Damien Turner gave a little bit more of a hands on approach to DSLs as inspired by a number of blog entries by Jay Fields.

Like most English meetups, eventually the night turned to the pub where you got to chat and meet the rest of the attendees. Interestingly a lot of them were java programmers who either wanted to use ruby, or are using ruby in some support form, but a few are doing ruby or Ruby on Rails as part of their day job. I thought the community was great, and I’ll definitely be trying to make it along next month. If you want to come along, check out the LRUG website or check out the next event on the London upcoming site.