Articles tagged software

“We should send this to the client before every software development project,” one of my colleagues said to me in a Slack message. It accompanied a link to a TechCrunch column by Jon Evan about the oxymoron that is a software estimate. It outlines why software projects are almost always late, more expensive than originally thought, and hard to corral as a project. Here’s an excerpt:

Writing software is rarely a matter of doing something you already know exactly how to do. More often, it involves figuring out how to use your available tools to do something new. If you already knew exactly how long that would take, it wouldn’t be new…More typically, the thought process is more like: “I can see how I’d do it if I were rewriting that whole controller from scratch, but that would take days … is there an elegant hack where I can change the inputs to this function in such a way that I don’t have to rewrite its code? … what if I monkeypatch it at the class level? … wait, maybe there’s an API call that almost does what I want, then I can tweak the results — hang on, what if I outsource it via an asynchronous call to the external OS?”

In our experience as software creators here at Maark, there’s a lot of truth in the observation. Creating software is a complex task, both intrinsically and due to other factors such as the proliferation of platforms and devices out there and requirements that change in situ. Even something as simple as a change in a design element, something that’s relatively simple in a creative project like a brochure or a PowerPoint presentation, could have far-reaching effects on the development of an app and its timeline.

But there is a secret to software estimation. It’s the same secret that is the key to everything in work and life: communication. The client needs to know before any SOW has been signed what they’re in for, especially if those clients are new to software creation.

It’s like old-school Catholic marriage counseling, where the priest sits down the prospective couple who are aglow with the potential of their marriage together and gives them a reality check. That marriage is hard, full of risk, and not something to be entered into lightly.

Actually, that’s a more apt analogy than at first glance. Software isn’t your usual agency project, where when it’s done, it’s done. At some point you call cut on a video. At some point the campaign launches. But software is a commitment. By both parties.

On the vendor side, it’s a commitment to being up front with the client when there are potential issues. To not being overly confident in estimations and timelines. To walking clients through documentation until they definitely understand it. To make sure costs are kept reasonable. To ensure that the software works. It has to work.

On the client side, it’s a commitment to putting in the effort to understand complex information architectures, wireframes, and requirements docs. It’s a commitment to understanding the ramifications of change. It’s a commitment to constant QA. It’s a commitment to upkeeping that software throughout its life cycle.

Because software is never, ever done. Not until its completely obsolete. The changing market of operating systems and devices and browsers and other platforms ensures that, not to mention changing IT and user requirements.

If a client isn’t ready for that type of commitment, maybe they shouldn’t be creating software…that is, unless they’re willing to go through software counseling first.

Photo credit: Omar Parada

It’s been said for years: Every business is a software business. Whatever your product or service, whatever your industry, how your clients interact with what you provide will more often then not be through a user interface. That app will be your touchpoint, your brand impression, your differentiator, and often, it will become your product. It will be the experience that you are actually selling while selling other things. So everybody needs to get good at the branded software experience or hire somebody good to help them with it.

But a recent Bloomberg Business piece highlights a surprising-but-I-guess-not-surprising outcome of that shift.

The LeBron James Family Foundation, a non-profit dedicated to helping students succeed academically, needed an app to track how its students were doing. So, since they had a world-famous figurehead, they naturally went after a world-famous software developer…JP Morgan.

Seriously. They went to a bank to develop an app. And I don’t mean for a loan to fund the app, but to build the actual app.

And this isn’t an anomaly. The story cites Wells Fargo developing a Christmas app for a mall client and Goldman Sachs building an app store.

There’s a few reasons that the story lists for JP Morgan doing this, including as an add-on value for financial customers and a way to fight off those pesky financial start-ups that are software to the bone. But it really all comes down to the fact that the company realized it needed that software to be competitive for its financial clients, developed the capabilities for it, and can now sell those capabilities separate from their main business.

If there was only a financial services term for what that is.

They end the article conservatively but appropriately, that JP Morgan isn’t looking to be in the pure software business, but can see itself evolving into a consultant that brings in third-party developers. Then again, we’re third-party developers here, so of course we think that’s a good idea.

Making app development capabilities a priority, whether you build those expert capabilities in-house or partner to bring in those expert capabilities, is the only way a modern business will compete and innovate. And who knows what other doors those capabilities will open.

Photo credit: Karen Roe

Astounding advances in technology are often only discussed in the context of the gadgets that they produce, and so our discussion about those astounding advances in technology often devolve into gadget reviews (“Is it cool?” “Should I buy it?”) as opposed to thoughtful criticism around the technology itself.

That’s the point of this blog post from Dave Winer, a long-time respected voice in the technology sphere. His gripe is primarily with the New York Times, who, he says offers great commentary on the arts, but falls down on technology. But he also broadens his point to the entire industry. From his post:

Of course it’s not just the Times. They’re treating software largely the same way the tech industry does. Toys for teens to help them explore being a teen. But not much substance for people who have their degrees, mates, children, who are living their lives, as opposed to looking forward to living their lives. Nothing wrong with looking at tech from the young person’s perspective, I would read those reviews too. But today, adults are largely left out of it.

There are some obvious generalizations and a bit of blinkerism in the post, but it’s a good, discussion-starting piece, worth reading.

Maybe on your gadget.

Photo credit: csaila, Flickr

Oh geez. Look what we can do now. And by we, I mean a group of researchers from Tel Aviv University and by now, I mean “still in the prototype phase.”

And while that’s usually enough of a caveat to ignore whatever’s being talked about, what these researchers are doing really fires the imagination in the near-term.

Basically, these researchers have created a software that has the potential to democratize 3D image manipulation the same way that software has already democratized 2D image manipulation.

Today, anybody can alter anything about a photo with the click of the button and no real training. This demo seems to show that same type of ease in turning objects from a 2D picture into manipulatable 3D objects.

I don’t even have the vocabulary to really discuss that kind of stuff.

But I do know that such a capability could be coupled with the spreading accessibility of 3D printers to create a whole new world when it comes to our relationship with real objects.

And by whole new world, I mean whole new world.

Not sure what I mean by “real objects”, though.

Read more about it here on Wired.

The trends of technology, just as with the trends of anything, appear to go in cycles. There’s something comforting about that. Also something annoying. Because it’s probably not the technology, but our attention spans (and the media attempting to attract it) that are cyclical.

But it might hold true for investors.

Take this CNBC piece. After decades of funneling money into software startups, entrepreneurs are looking to throw their massive wallets at hardware startups.

Software made a lot of sense for investors: Everybody uses it, there are no production costs, it’s much more forgiving (you can’t really release hardware in beta), it can be developed relatively cheaply…all those things lowered risk for investors.

But now hardware might be at that sweet spot of big rewards and low risk.

The article points to a few reasons, Kickstarter-style platforms for gauging consumer interest, 3D printing for quick, easy prototyping. Most interesting, it points out that the biggest reason of all is the smartphone, a tiny, boring piece of hardware known for its powerful, mesmerizing software. From the article:

Smartphone platforms enable entrepreneurs to cheaply build other products that leverage the phone’s technology to collect data and perform other tasks. Examples include wireless wearable devices that track a person’s activity or behavior, connected home devices that help conserve energy and robotics.

In other words, powerful, widespread software makes possible more innovation in hardware. So less cyclical, then. More progressive. And exciting. As long as we’re physical beings, physical products will always be more fun. I’m not sure if I should delete that last sentence or not. Just kidding. I know I should.