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 (more...)
I’m at Oracle Headquarters for pre-OpenWorld briefings this week, and am seeing many great things (that I’m not allowed to blog about yet
One thing that still puzzles me is that Oracle still don’t get social. They have very nice Social Network features (their product is called Oracle Social Network), but they insist on keeping this inside a walled garden with no integration to the outside world. In this, they are no different from (more...)
We are collecting more and more data, but using less and less.
You only need data for two reasons:
To take action based on the data
To store for possible future reference
Every time I shop online or interact with a support service, I’m inundated with requests to review and answer surveys. Not much of this is useful. If I rate your support staff 7 out of 10, what action will you take? Do not (more...)
I just watched a video with a very dedicated professional. He was in charge of door acoustics at a major car manufacturer – in effect, his job was to make sure that the door makes a satisfying sound when you close it.
It is this kind of attention to detail that differentiate brands. An Audi shares 80-90% of components with Volkswagen and Skoda, but still manages to command a hefty premium.
I’m often engaged with clients helping them respond to Requests for Proposals (RFPs), and there are way too many bad RFPs out there.
These bad RFPs not only specify what the customer actually needs, they also specify that the customer can possibly think he will ever need. Typical requirements are that the user must be able to add extra attributes to all entities, or that the user can dynamically change which attributes are mandatory, or (more...)
Programmers have a head start over the rest of humanity in leading happy, meaningful lives. If you have not yet reached complete enlightenment, I encourage you to sign up and invest 30 minutes listening to this call. It might improve your life.
I’ll be going to the UKOUG Tech 14 conference in Liverpool in December to give one of my favorite presentations: “APEX or ADF? From Requirements to Tool Choice”. I’m also leading the Development Tools roundtable, which is always lively at the UKOUG conference. If you want to discuss your options as a developer in the Oracle world, UKOUG Tech 14 is the place to be.
I was recently advising a transition project where a customer was switching support and maintenance supplier. This means that one organization must take over a system that has been maintained by another organization for a number of years.
A lot of information is lost in these transitions because knowledge of the problem domain has been accumulated in the heads of developers over many years. This loss cannot realistically be mitigated.
But sometimes, specific information about (more...)
I’m currently estimating the effort for a piece of software. With 20 years of experience under my belt, I don’t find estimating hard any longer. But back when I started out, I was terrified whenever I was asked to provide an estimate.
In most organizations, too much of the estimating is art and too little is science. Experienced developers can produce good, realistic estimates, but these are often treated as individual efforts and no organizational (more...)
This main point of this book is the principle of “failing fast.” Since you don’t know everything (and a startup knows very little), it is most efficient to quickly create some data to base decisions on.
The distinction between “vanity metrics” and real, useful metrics is illuminating. A “vanity metric” shows (more...)
One of the great things about working in IT is that you can often win an argument simply by being right. Not because of who you are or because you are more eloquent than others, but because the facts support your position. Almost every IT person I have ever met respects facts.
In order to win arguments this way, you of course need some facts to work with. And that’s where too many people fail. (more...)