There is a notion that I have always found dubious and that persists where we believe that we can hold ourselves to different standards when an application is planned for internal deployment only. This internal standard apparently applies to the quality of our work from usability to security.
I liken this mentality to the manager who acts one way when in a meeting with his direct reports and another when his boss is present. It reveals a lack of character and integrity. One should apply the same standard no matter the context. If anything, this makes things a lot less complex. There's no need to work on two distinct behaviors when one will do.
When applied to usability, we accept less than optimal experiences. I suppose this is something like cooking for just the immediate family versus for the dinner party. (Note that I'm the primary cook for my family.) We don't need some fancy pan sauce unless guests are coming over. If a user interface is painful to use, well just deal with it and don't be whiner. However, this isn't like cooking for the family. Our employees have the option to leave, after all. We should care about the experience for a number of reasons, including productivity but also perception. What signals do we send if we don't care about quality internally? When new internal systems are released with dead links and clunky interfaces, we're acting as if we don't care and when we shrug and say "deal with it" we're acting as if we're running a Soviet bread-line rather than a company that cares.
When applied to security, we also accept less than we know we can do. We'll take time to design it the way we know it should be done. However, we negotiate with ourselves as deadlines approach and pull out optimal security in favor of good enough. I don't know how many times I've heard "you do realize that this is behind the firewalls, right?" (Note that most of our attention to firewalls operationally apply to layers 2 and 3 while most of the threats today are on layer 7-- firewalls, shmire-walls. Besides, a lot goes on behind the firewalls including insider threats and compromised workstations.)
Why should where an app is in relation to firewalls change the equation at all? I suppose we think good enough saves us time and money. However, I'm certain that kicking better designs down the road stunts our growth and leaves us ill prepared for when we can't negotiate our way out of it. We fail to make investments that we could use later, both in the technology and the competencies of our workforce.
BYOD is here, whether official or not. I realized this when I saw executives make the switch from Blackberry to smart phones and tablets. When I sat in the room with an exec taking notes on her iPad, I wanted to ask how she kept IP safe, but I bit my tongue. Like it or not, it's here. What this means is that our notion that there is any behind-the-firewall boundary is eroding... and fast. Of course, these boundaries were already soft since many of us can be off the corporate network using our laptops to do much more than being internal permits.
It's best to assume that there is no inside. This isn't just from a security perspective. If we are to fully commit to what is meant by Cloud Computing, anything we build in IT should have the long-term possibility that it could be sold to others. All IT services could become a business service.
In practice, this means that we should always build quality inside and out. Our user experiences should be more than just adequate, they should be pretty damn good. We should align with standards when they're available to address cross-industry interop. We should avoid proprietary security controls on the back-end so that there's no need to refactor anything should the posture of the application become external or commercial. We should stop seeing quality, especially security, as a tax and start seeing it as an investment. We should build each app as if it's externally facing-- fully exposed to the expectations of the outside world whether the threat is a usability critic or a bad actor.
(Note that this doesn't mean that I'll be making pan sauces for the kids every weekday. Weekends? Maybe.)