Recently, I’ve noticed that what I originally remember as “folks who make websites” has grown and specialized into a bunch of different jobs. Jobs held by people who are not necessarily watching how the decisions they make affect other parts of a project.
Not to be overly simplistic, but there are three basic perspectives of web development:
- Usability, or user experience. In its broadest definition, this is a measure of how good the web app is to the user; how much value it creates for them. In a more specific sense it reflects a stack of best practices (and very, very occasionally innovations) that add up to the user experience on the site.
- Business value. In the broadest sense this is “what the web app is doing for the people who pay its bills”. This can be interpreted as monetization (via ads, conversion etc), or simply controlling the budget and schedule of the development project.
- Feasibility: Often taken as a technical subject, it its broadest sense, feasibility simply describes how much effort goes into making something happen.
The catch is, to truly make something successful, both from the perspectives of project management (launch on time, on budget) and product management (build something that is successful in the real world), you need to keep your eye on the ball for all three perspectives. Otherwise you’ve failed.
For example, I’ve seen user experience people run wild with feature ideas, not paying attention to the development cost that such features incur. I’ve seen the opposite as well – web apps with terrible user experiences that are vulnerable to losing market share to better designed products.
I’ve seen project sponsors focus on business value at the expense of user value, and then are surprised when no one uses their product. I’ve seen projects that have been managed perfectly for schedule and budget (perfect scores to the project manager) fail in the open marketplace because they didn’t bring value.
Which Brings Me to the Siloing Part…
So to really succeed, you need to synthesize all three perspectives into a unified vision. That’s why it drives me crazy to see so many people in web development so oblivious and willfully ignorant of perspectives other than their “native” perspective. UX people that make features up without understanding development cost. Developers that launch features without considering a usable interface. PMs that manage schedule and budget without comprehending the quality of what they’re developing.
Do you really want to be good at this? Then learn about the perspectives that are different from what you deal with every day. UX people should understand the constraints (and advantages) that technology puts on development. Developers should appreciate the business goals and usability issues related to the products they develop, and PMs should understand the vision of the products they’re managing.
Process is Not The Answer
Process alone, especially any process that involves creation of a bunch of intermediate documents or getting people to show up for a bunch of meetings, is not going to fix this. The people who work on web applications need to internalize the other perspectives, and make it their personal responsibility to understand this.
Once this happens, an organization can support people by offering pathways to education (courses, books, conferences etc), but the people need to personally commit.
Admittedly this makes a barrier to scaling, because not everyone is interested in other perspectives. They got into their own discipline (development, project management, visual design, UX etc) for a reason, and that’s where they want to stay.
My view is that the willingness to see the other perspectives is what separate the truly talented from the mediocre, and the mediocre will not be working for me any time soon.