At Unruly we have a quarterly whole-company hack day that we call Oneruly day. Hackdays allow the whole company to focus on one thing for a day. Unlike our 20% time, which is time for individuals to work on what is most important to them, Hackdays are time for everyone to rally around a common… Read more »
Posts Categorized: XP
End to End Tests
End to end automated tests written with Webdriver have a reputation for being slow, unreliable (failing for spurious reasons), and brittle (breaking with any change). So much so that many recommend not using them. They can become a maintenance burden, making it harder, rather than easier, to make changes to the user interface. However, these… Read more »
Gold Cards
How does your team prioritise work? Who gets to decide what is most important? What would happen if each team member just worked on what they felt like? I’ve had the opportunity to observe an experiment: over the past 8 years at Unruly, developers have had 20% of their time to work on whatever they… Read more »
Why I Strive to be a 0.1x Engineer
There has been more discussion recently on the concept of a “10x engineer”. 10x engineers are, (from Quora) “the top tier of engineers that are 10x more productive than the average” Productivity I have observed that some people are able to get 10 times more done than me. However, I’d argue that individual productivity is… Read more »
Team Efficiency is Irrelevant
The most common reaction I hear when I tell people about mob programming (or even paired programing) is “How can that possibly be efficient?”, sometimes phrased as “How can you justify that to management?” or “How productive are you?” I think that efficiency in terms of “How much stuff can we get done in a… Read more »
Modern Extreme Programming
There was a recent discussion on the Extreme Programming mailing list kicked off by Ron Jeffries saying he wants his XP back. The implication being that Extreme Programming is no longer practised, and that most “Agile” organisations are actually practising Flaccid Scrum – some agile process but little of the technical practices from Extreme Programming…. Read more »
Minimising the Risk of Data Damage
One of the more interesting questions that came up at Pipeline Conference was: “How can we mitigate the risk of releasing a change that damages our data?” When we have a database holding data that may be updated and deleted, as well as inserted/queried, then there’s a risk of releasing a change that causes the… Read more »
Isolating Test-Data in Production
Alex and I recently gave a talk at Pipeline Conference about our approach of testing in production. With our limited time we focused on things we check in production. Running our acceptance/integration tests, performance tests, and data fuzzing against our production systems. We also prefer doing user acceptance testing and exploratory testing in production. In… Read more »
Monitoring Check Smells
I have become increasingly convinced that there is little difference between monitoring and testing. Often we can run our automated tests against a production system with only a little effort. We are used to listening to our automated tests for feedback about our software in the form of test-smells. If our tests are complicated, it’s… Read more »
The Unruly Mob
At work, we’ve always pair-programmed all our production code, so we’re already pretty bought into it being a good idea to have multiple people working on a single problem. I previously wrote about some of the reasons for pairing. Mob Programming Recently, having inspired by a talk by Woody Zuill, we decided to give mob-programming… Read more »