A good friend was asked to talk to the executive management and give a brief 10 minute talk about Agile. But she was asked to not mention Agile. The context of that challenge is interesting and could hint at all kinds of good or bad reasons. But I was surprised when I saw other Agile coaches struggle with this challenge. They were drawn to talking about “Value Streams”, “Lean Flow” and “Release on Demand” but those are very Agile centric jargon that may not mean anything to someone a few steps removed from the software development. So I wanted to set myself a challenge: Ten ways you can talk about Agile without talking about Agile. Might be you want to sell someone on the value in Agile or just want to ensure you’re using a shared language. These are options you can present.Continue reading “10 ways to talk about Agile without talking about Agile”
I’m not talking about “scary conflict”. There is lots of healthy conflict at work when you have a diverse and inclusive team. It might be technical decisions (tabs or spaces?), product plans (high risk or high return first?) or casual choices (where do we go to for lunch today?). When I think of “scary conflict” I think of personal grudges, unprofessional behaviour or confronting office politics. Those conflicts need to be resolved but are much more confronting.Continue reading “Three Ways Testers Are Better Able To Resolve Conflict”
Early on when trying to apply Agile methods to software development I found a lot of the challenges were in the area of software testing. Not just because a lot more automated testing was being done, but because requirements would shift and change rapidly. Many levels of rapid feedback needed to be in place to ensure the development didn’t misstep for too long.
I started exploring more places a focus on testing and quality could be applied. And that led me on a journey earlier and earlier in the development timeline.Continue reading “Testing as a Holistic Exercise”
In a recent assessment of people applying for graduate and intern positions at my work we wanted a way to quickly assess them as a group. Ideally we wanted to see their individual skill at work, how well they worked with others and all in under an hour for groups of up to five. So I suggested we get them to do some Mob Programming on a Kata exercise. It wasn’t something we tried before but the idea wasn’t completely out of the blue.Continue reading “Pair and Mob Programming for Interviews”
We had a discussion at work after watching the excellent Kelvin Henney talk about good unit tests. And it helped me clarify the many roles tests play and why people get a habit of complaining about their tests getting in the way. So here is the four categories a test is trying to balance:
- Refactoring guide
I spend a lot of time working closely with programmers on the software testing process. Much of my career mission is to get more people embracing techniques like Test Driven Development. As I push more and more of the testing demands onto the developers I sometimes run into people who say they need a tester for “independent testing”.Continue reading “Can Programmers Test?”
Programming 101 states:
Don’t copy and paste code. If you find yourself doing something repetitive then do it right so you can reuse the same code. Functions, classes and even separate files all serve this end.
Now that I’m writing tests all the time I often find myself creating Mocks. Mocks are where you tell code to use a pretend version of some functionality instead of the real one. It could be because the real one does something you don’t want in your tests (writes files, reads a database) or it could be that you’ve got some messy legacy code you can’t to pull into your tests (yet). There’s other reasons too but you get the idea.
So if I make a Mock version of a class it makes sense to try and share that with everyone else that might be trying to test with that same class. Or does it?Continue reading “Are mocks/fakes reusuable?”