The Crux of Solving Development Challenges (Spoiler Alert: It’s Humans)March 5, 2020
Oftentimes in development projects the idea of digital risk is lacking. This idea of digital risk is predicated on the fact that two main risks exist within a project: Competency Risk and Relational Risk. Most attention by clients and agencies are spent on minimizing the Competency Risk component, ignoring many of the factors that could proactively aim to reduce Relational Risk.
This is no different in the realm of development. While many surface level risks pop up such as what technology to use, what to build in order to scale to a certain point, and what features need to be built out; the single largest crux to account for in solving this development challenges is to address the human issues.
It’s briefly touched on below the idea of figuring out the “code to be written” versus “writing the code”. This idea is central to the whole concept of developer versus engineer. To get a more in-depth view of software development vs software engineering check out our previous discussions on the topic.
Tony: So, while building the right thing relies on, of course, using the right technology, using the right logic, it’s really predicated on the fact of discovering and understanding the client and proving a business ROI or extract value from that.
Jake: Yeah, and it’s interesting because this whole point, never once did I mentioned the technology. And there’s a reason for that, and it’s the majority of challenges that we solve aren’t necessarily technological ones. They’re not — like the hard part of what we do isn’t writing the code, it’s figuring out what code needs to be written. And it can be written in anything. We can use any programming language to probably solve the vast majority of tasks that we use. We primarily use Ruby on Rails because it allows us to be most flexible and move quickly, and there’s a lot of things that — and reasons why we use that. And we can obviously talk about that at a separate time. But for us, it’s more about solving the underlying problem — the people aspect — and not necessarily in the technological. Now, there’s always going to be a technical component to it as we are building an application, but at the end of the day, the challenge that we’re trying to solve is a human one.