Coding/Translating: Best Practice can slow you down
I enjoy reading about software development (and rocketry) and often find something that makes me think a little more about Bible Translation and how we do it. The last few years several of us have been thinking seriously about the quality and processes of what we work on, developing and thinking through implementing ‘Best Practices’ for translation projects. So a controversial article from Stack Overflow caught my attention: “Best practices can slow your application down”.
(Now for the sake of non-coders here, slow software is frustrating to use or in some cases totally unusable. We’re not really talking about the speed of development of a product, though that does come into it.)
Roberta Arcoverde and Ryan Donovan begin:
“In software engineering, a number of fairly non-controversial best practices have evolved over the years…. These are practices that make for code that’s easy to read and maintain. …But”,
the bombshell drops, as they built the renowned Stack Overflow,
“…we didn’t always follow them.”
There were several reasons for this, and those reasons and the whole context of what they are doing (company and wider world) has changed meaning that they do things differently now. But at the start they consciously took a different path. Perhaps there’s an element of retrospective justification in there, but I’m inclined to give them the benefit of the doubt. And I see some useful parallels in Bible Translation too and in our experience in Nigeria over the last 20 years.
The software developers write:
“The Cynefin framework can help put our decision into context. It categorizes decisions into obvious, complicated, complex, and chaotic. From today’s perspective, building a Q&A site is a pretty well-defined—obvious—problem and a lot of best practices emerged over the past years. And if you’re faced with a well-defined problem, you should probably stick to those best practices.
But back in 2008, building a community-driven Q&A site at this scale was far from being obvious.”
This got me thinking, because actually although Bible translation in general has been happening for 2200 years, and translation in general has a long history, it’s not actually a simple/clear/obvious problem, most particularly because it involves natural human language. Add to the linguistic challenges the situational and social challenges which make running a worthwhile project anything but simple/obvious/clear and the insights from Dave Snowden and the Cynefin framework suggest that a focus on ’best practice’ may be inappropriate in much of our work.
I dug in a little more and found this helpful visual summary, and much more has been written about the framework. Do read it. I won’t really try to explain it more here.
My take away is that this explains some of the struggle many of us have had with the development and implementation of best practice. Even without looking at this framework before some of us had considered emergent practice and good practice likely better ways of approaching the issue. And sometimes in the development of Bible translation and literacy projects we found ourselves just struggling to keep things going while feeling we were doing a bad job. Actually, we may just have been thinking about things in a less helpful way, so that we were instinctively doing appropriate things while our processes and explicit value systems devalued that kind of behaviour. That is, we wanted to be treating problems as simple and applying clear best practice but the reality seemed different and thus we could overwork and stress ourselves and each other unnecessarily.
Are any areas of translation projects simple? Yes. Accounting, printing, possibly typesetting, eventually spell-checking and grammar-checking and sales of books all should be simple problems.
It seems the best we can do for lexicography, translation, linguistic investigation and language development is to move the problems from the chaos through complex into the complicated domain. When people treat project management and translation as a formulaic process the results are poor. When we lose experienced translators or consultants we move anti-clockwise from the complicated to complex domains.
We can also shockingly quickly move into a chaotic situation. I joined a finance team one time for an organisation that had moved location and lost crucial staff because of relocation, retirement, death as well as other changes. A well-oiled machine suddenly descended into chaos but moved through the complex and complicated domains back to a functional simple/obvious domain.
Some years ago I met someone sent from his southern Nigerian community to a linguistic and literacy programme for people developing a writing system for their language for the first time. I was surprised to discover that 30 years ago or more they had sent a previous generation of teachers to do the same programme but now all those teachers had retired or died and no-one had trained up a new generation of literacy teachers. Literacy in that language had moved suddenly from a simple situation to a chaotic situation. And so now new people were sent to reinvent the wheel as if no prior work had been done. This is clearly unsatisfactory, but happens far too often, especially if no-one bothers to ensure that simple systems are appropriately maintained.
For the software developers, they chose a crucial priority for a usable system:
“One of our founders, Jeff Atwood, has famously said, ‘Performance is a feature.’ For much of our existence… we glossed over other things… that have become accepted best practices. You can only do so much with the time and resources at hand. If one thing becomes super important, others have to be cut back.”
What are our priorities in language development and Bible translation? We need to think clearly about this. Are there some areas where best practice is not yet really helpful? How can we develop best practice for our situations, while keeping things running and meeting our priorities? Are there some helpful insights here that could save us from oversimplifying complex situations or asking unrealistic and unreasonable things of people?
The Stack Overflow article finishes by suggesting that best practices are important. They are called best practices for a reason but it’s good not to confuse best practices with required practices.
ps. I get a bit of a buzz from complex and complicated situations, and find I lose interest in obvious/simple ones. Matching the right people to the right situation is probably important for everyone. Put someone like me in a ‘simple’ situation and I’ll be looking for analysis and problems to solve that perhaps don’t need to be solved. Put someone who likes churning out reliable solutions in a complex situation and they’ll probably collapse or seek to over-simplify.