My Business User Doesn’t Understand Me

As an IT developer, you know that the business doesn’t understand IT. You’ve probably tried to explain IT problems many times just to see their eyes glaze over. On the other hand, you don’t really understand what the business does – all you care about is to have a clear spec to code from.

That’s why projects fail. The specification contains very little information and is completely inadequate as a means of knowledge transfer. Since we can’t teach the business IT, we need to learn business.

The Programmer's ResponsibilityThis illustration is from today’s Technology That Fits newsletter. Sign up at www.techthatfits.com.

Don’t Make it Easiest for Your Users to Leave

My bank just sent me a whole stack of papers to fill in, supposedly necessary to fight money laundering. The funny thing is, the bank already has all of this information from when I opened my account. But won’t just ask me to confirm my info – they insist on sending me blank forms so I have to dig up various legal documents to find registration numbers etc. The result is that I’ve decided to switch banks – since I have to do the paperwork, I might as well do it at another bank in the hope that they are more customer-minded.

In enterprise IT, you are facing the same situation today. Your users can defect to a cloud service any day if you insist on making life difficult for them. My bank is stuck in the mindset that the customers have to put up with whatever the bank asks. Too many IT organizations still have a similar mindset. But times have changed, and IT departments that don’t listen to their customers will become extinct. Don’t be a dinosaur.

The Future of Oracle ADF

At Oracle OpenWorld, there was a lot of Oracle ADF material. I presented on Oracle ADF Bindings as part of the well-attended ADF track on User Group Sunday, and Oracle also gave some very interesting presentations on new and coming features in ADF. For example there is now an ADF component that you can use to visualize any network of nodes and edges.

But what struck me more was the fact that when Oracle buys a cloud-based offering, they tell them to re-develop the stuff in Oracle ADF. Yes, that’s right – you will be seeing Taleo, RightNow, CPQ and other recent acquisitions move to ADF.

The reason is of course that all of Oracle’s cloud offerings must run on the Oracle cloud in a unified infrastructure, and ADF is part of that. The future of ADF is bright.

Getting Angry Doesn’t Help

I was in an advanced training class recently where several participants had problems completing the fairly complex hands-on exercises. Most examined the error messages carefully, re-read the instructions and solved the problem. But a few became irritated, read the instruction poorly, skipped parts, made unconsidered changes to their environment, and soon became helplessly stuck.

Getting angry at the computer, the software, the course material and the instructor does not help. Instead, it degrades your reasoning skills, which lead to you making more errors, which makes you more angry.

You need to be aware of how you feel. If you feel irritated at the computer,  stand up and take a break. Once you have calmed down, your tunnel vision dissipates and you can find the solution.

Counting Down Your Life

When technological innovations like flexible manufacturing come together with business innovations like crowdfunding, interesting things can happen. A guy had an idea for a watch that counts backwards, submitted it to Kickstarter and the Tikker watch was born.

The idea is that by becoming more aware of time passing, you will work on the important things in life. I’m wearing one and talking about it here:

People who have almost died invariably say it makes them re-focus their lives. Would you spend you life differently if you had a watch reminding you that we all have limited time?

Human-Readable IT Design

Most IT documents are horrible. I’m not talking about the bad grammar and the over-use of acronyms, but about they fact that they are fundamentally written for the computer and not the programmer.

Humans can hold a very limited number of items in working memory at the same time (four to seven), so writing requirements as a list with 842 items it bound to fail. The writers cannot keep the system in working memory, so they create an inconsistent and contradictory list. And the programmers can’t keep the requirements in working memory, so they will make bad implementation decisions.

Scrum tries to address this problem by using stories and iterative development. If you are stuck in a waterfall project model, re-structure your requirements list into a hierarchy where each requirement contains no more than seven sub-requirements.

Disastrous IT projects start with bad requirements. Make sure your requirements are human-readable.

Unmanageable Complexity

When I am called in to help IT organizations, I often find them paralyzed by the sheer complexity of their IT environments. They struggle just to keep the existing systems running and are unable to take on the projects the business needs. This leads the business to go out and buy some cloud solution that is then dumped on the already overworked IT department.

Unmanageable ComplexityThe only way out of this trap is to simplify your IT infrastructure and retire some systems. The above graph is from my weekly Technology That Fits newsletter – sign up at www.techthatfits.com.

Book review: Scrum, The Art of Doing Twice the Work in Half the Time

Scrum: The Art of Doing Twice the Work in Half the TimeScrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland

My rating: 5 of 5 stars

An inspiring book from one of the original creators of Scrum. Full of anecdotes about how Scrum saved projects and can be used outside the software industry. Its main purpose is to motivate you to get started using Scrum, but it does contain enough methodology to actually allow you to use the methodology. It includes a useful 5-page appendix outlining the Scrum basics.

View all my reviews

Simplification

I was working on my contribution for Profit Magazines’s “Top Trends of 2015″ and needed a break. So I thought I’d set up my new iPhone 6.

The trend I see becoming increasingly relevant is simplification, and I was writing about how you need to consciously work on keeping your IT complexity down. Then I told iTunes to download all the Apps I had purchased over the years. The list came to 532 apps!

I had unwittingly proven my own point eloquently. My list of apps contained games I played years ago, social media platforms that never took off, productivity tips that weren’t productive, etc.

I took the opportunity to simplify my iOS app portfolio and now have 63 apps that I actually use at least monthly (+ another 18 from Apple that they won’t let me delete…).

Are you keeping your IT simple? You should.

Dead Code Kills

Your applications contain 20-30% dead code that is never executed. Not just commented-out code that programmers have left in “just in case”, but routines never called, branches never executed and screens never displayed.

The cost of software maintenance depends on the size of the code base, but systems with dead code are more expensive to maintain. This is because every time a developer comes across a dead piece of code, he becomes unsure: “I wonder what this does? Is it executed at all? I better investigate some more.”

Dead code causes simple 1-hour maintenance tasks to ballon into futile multi-day code archeology expeditions. Don’t allow dead code in your systems.