This follows on from
Part 1 about Test-driven development, and will make more sense if you've read that first.
A lot of testing, at its heart, is about the question, "Have we done what we intended to do, and is it done properly?" And similarly, a lot of charities and companies do that kind of evaluation of their whole organisation on a regular basis - "Are we doing what we intended to do, and are we doing it well?"
For a company, that's often a case of "Are we making money, and how much?" but it's usually more complex than that - who you're making money for, which areas are making most money, and are you also complying with the law and your Corporate Social Responsibility (ethics and charity) goals. For a charity, it's more about the grey area of "Are we helping people?" than about the black and white "How many hungry children have we fed?"
GivingWell has some great discussion about what this means for charities, and how to do this kind of evaluation for a humanitarian charity.
For IT projects, there's the classic
8-point requirement check, which is designed to make sure that you can test it afterwards. Similarly, people or teams may have their performance measured against SMART objectives - Specific, Measurable, Achievable, Realistic and Time-bound. These are both tied to the idea that what gets measured, gets done. Obviously quite often people go above and beyond, so there are things getting done which haven't and maybe couldn't be measured (like making sure a company has integrity), but if there's someone measuring it and publishing the results, it's more likely to happen, even if no-one's going to yell if it's not done.
On the other side of the equation, non-profit organisations usually focus on the intangible things first. They'll have a vision or a mission statement, a dream that inspires everyone. You can see this in charities - "Make Poverty History", Unicef's aim to end child poverty, or Water Aid wanting to give everyone in the world access to safe drinking water. You can also see it in religious institutions and political lobbying organisations, though they don't always state it as clearly. The OTW has our own
vision on the OTW site.
Once you have your vision, though, it needs to be broken down into goals. We have
goals for the org, and some projects and committees also have their own specific goals or mission statements. Part of the strategic planning process will involve looking at the goals for the OTW, and considering whether we are meeting them and whether those are still the key goals we want to meet.
I'd like committees and projects to be able to talk more about their goals. In some cases, these might be very simple - e.g. "keep the AO3 running", and sometimes measurable - e.g. "respond to all support requests within 3 days, solve 90% of requests within a fortnight". For some committees, this wouldn't be very useful, but for others, having something to aim for or evaluate your work against is a big help.
Of course, that then comes back to the question of what happens when you don't meet your goals. Either you can set your goals really low, so you're guaranteed to meet them, or you can ignore them and never evaluate how your organisation is doing, or you have the possibility of failure. But I think that's another thing we need to talk about - that failure is not the end of the world, that people shouldn't need to resign for minor mistakes, and that there needs to be room in our organisations and friendships for forgiveness and mercy.
At the end of the day, we all make mistakes sometimes, and we're all volunteers, doing our best. We can admit our mistakes, and still encourage each other and cheer on all the many more occasions when we succeed and exceed our goals. Because despite the things we've done wrong and want to improve, we've achieved a whole lot more - the OTW has come an amazingly long way in four years.