This is a quick post about some of my recent experience developing the HackerNews Reader app.
Not pairing sucks.
It'll be posted later this month; but I spent 3 evenings; probably 12 hours total; making zero progress on a blog post. I got stuck and couldn't figure out what was I was doing wrong.
I did a lot of research on using
RecyclerViews and just couldn't figure out where I'd gone wrong...
In the end; a single little setting on a single little item view... 12 hours wasted. I'd have another post or two in the series done in that time.
What to change?
I'm going to keep not pairing on these blog projects. Who've I got to pair with? Currently no one. Though I'd LOVE to have a project 100% paired for the blog.
Right now; nothing is going to change. I've done enough pairing that I see how it changes A LOT of the process. Well... I'm not talking about having someone else at the computer with me; but actually challenging me and discussing things. Pairing with an equal; not coaching or helping a junior engineer.
Why not change?
Doing the blog-projects continues to be disturbingly painful reminders of what NOT following the practices brings. I look at my code and it's fantastic. It's easy to refactor and is fairly compact. I'm not looking it over the same way I would work-code; but it gets a lot of tweaking.
Do I think it's as good as pairing? No. Far and away no. I'm me - just one. I think pairing with another practitioner would make this code sing.
It's nice to look at the code coverage and see so many 100%'s.
I'm not happy because "it's well tested" but because I can see things like
Stories and go - Why isn't that 100%? It's not a boundary class...
And looking into it; I have an unimplemented callback method.
Most are that. I haven't looked at EACH one; but it's common.
I think the TDD process I'm following is a bit rough; I'm doing my best, but lacking the pair hinders the TDD process. Pairing is important for more than "code review" reasons.
I'm continuing see why pairing is one of the most important parts of being a software crafsperson. It's huge; and I'm finding plenty of reminders.