Almost six years ago, I wrote a post predicting – Client/Server 2.0: The Next Big Thing. I then followed it up with some additional thinking in Client/Server 2.0 part deux back in January 2007. It occurred to me the other day, that I spend most of my time working in a Client/Server 2.0 environment – iOS applications that allow users to view back end server data. The iPhone, iPad, and android devices host the clients in the new Client/Server world in which we live and love our mobile apps. I was right.
Interestingly, HTML 5 is coming on strong. It will be interesting to see if the web browser pulls out a comeback and wrestles functionality away from the native apps again. How many times can the industry bounce back and forth between these models? And, will some new competing model make web browser AND native clients obsolete?
After fighting the urge to share this for over 24 hours, I am giving in. It’s just too good to keep to myself…
A couple days ago, I shared a link to an article from one of the Harvard Business Review blogs. The post, I Don’t Understand What Anyone is Saying Anymore, hit close to home for me. It highlights five common (and somewhat funny) dysfunctions of business communication. It’s a short read, entertaining, and moderately convicting. But, here’s the kicker. Yesterday, I received a business announcement, the likes of which I don’t think I’ve ever experienced before. Here’s an excerpt from the announcement – the names have been changed to protect the innocent (and guilty).
Bob is responsible for driving incremental market share in the XYZ market segment, responsible for the XYZ offers, and is the ABC organization lead on a DEF organization initiative to support big feature X across the entire company portfolio. Bob will partner with members of the ABC and DEF organizations as well as services, sales, channels and other stakeholders on both of these initiatives.
Wow! Driving, leading, supporting, partnering, initiatives, stakeholders. What does this mean? Who talks that way?
Remember, the effectiveness of leadership is measured in terms of influence. When you see someone’s influence reflected so profoundly in the lives of other people, you have identified someone who is by definition a leader. -John MacArthur
If you work in software, you have experience with version control systems. And, if not, you’ve certainly been exposed to some form of document management system – one that lets you add and update documents, committing changes over time. In this post, I’m advocating no new changes. Omitting, if you will, what you would otherwise set out to commit to the system.
In spite of all the material posted online, all the collaborative solutions, and the variety of open source / public solutions, we [the software industry] continue to re-re-re-invent the wheel. At least once per week, for the last month or so, I have stumbled upon something built new that didn’t need building. Standard tools were available. Open source solutions (good ones) were available. Unnecessary optimizations were designed and implemented. And, in at least one case, a problem was solved that didn’t yet exist.
Imagine if other industries worked this way. Would you fabricate your own bricks or mill your own wood to build a house? Of course not. Something about the physical nature of construction makes these errors more obvious. In software, it’s not so obvious. But, the impact is material – in fact, quite high.
Before you start out to build something, take the time to think about if it is truly needed. Would your employer be willing (or need) to spend x dollars on this feature/optimization/rewrite? Rather than executing a svn commit command when you’re done, consider an svn omit command before you start.
What we don’t do is just as important as what we do.