Custom Application Development: Buy, Build or Ignore?

May 12 2008   8:42PM GMT

Thoughts on the Career Software Developer and IT



Posted by: Joe Coley
Custom software development, IT Administration, IT Management, Software application development, Software Quality

Ron Richards in his post “The career software developer…” alludes to the observation that “…it is not surprising to discover that there are more people scoping, managing, testing and supporting the work of software developers than there are software developers.”  I would have to say that I believe this is a sign of hope for software applications - or at least it could be, depending upon just how well those performing in these support roles can identify and communicate, or otherwise translate user and operational needs into the formats for the career programmer or software engineer to do their job most effectively.

I recall a situation a few years back where I was part of a group evaluating potential ERP systems designed for the particular vertical market of the business.  One of the biggest selling points of the vendor finally chosen was that their software didn’t originate from software development guru’s, but rather from the roots of key company players who were firmly entrenched in the vertical market for which the software was created, and through the years they had developed and enhanced their product to keep up with the needs of the market.  Sounds good, makes sense, but the reality was that much of their successive revisions and enhancements after their early years were more created to boost sales or meet changing technology requirements.  Hence their system rather than being updated with re-design was rather “patched” together as a patchwork quilt.

I don’t believe that the career IT professional needs to start out as a programmer of software developer.  What I DO believe VERY STRONGLY is that to be most effective the career IT professional MUST understand the business of their employer to a level I suspect very few do.  Perhaps I think as I do because my introduction to IT had its roots in software quality assurance, though it really was more like software evaluation.  The company developers hated to see me wander into their offices - they knew I probably had another “brainstorm” about a feature that should be added. 

I believe that the most valuable IT professionals are those with an understanding of the business, an ability to adapt, a keen eye for opportunity and a burning desire to make a difference to their organization.  These professionals are not necessarily the “guru’s”, and in all probability are not.  Of course, being a bit crazy also helps!

May 10 2008   5:47PM GMT

Are Users Really “Trainable”? Should they Need Training?



Posted by: Joe Coley
Custom software development, user interface, Development, Business process automation, Software application development, Software Quality

I have developed a reputation around the way I work with users that I am “training” and who display various levels of skill (or non-skill) with their computer system.  From executive levels to the warehouse user my reputation for telling a new user something like “…see - I told you you were ”trainable” has become noted.  Naturally this statement gets many different reactions, but it is always meant as a compliment to the trainees natural ability to use their computer as a tool for accomplishing their job which they “know” how to do. 

That said, in my opinion their “natural ability” to use the tool depends solely upon the application interface.  Should users need to be trained or should they just be able to use an application if they know how to do their job?  It is a lofty goal for sure to think that new users (who know the job they need to do) can instinctively sit down and be able to do their computer tasks without training — but one I believe in.

Now, let the record be set straight — while I may always strive for that in my program / interface design, I seldom achieve it.  But like users, I’m trainable — and that is where listening to and observing users comes in.  My users have very definitely trained me through the years to be more aware and observant of their needs. 

Probably the best example I could give regarding user interface would be the custom order entry system that I was building a number of years back.  I kept getting feedback from the primary users - the ones using it day after day - that it “just didn’t seem right to them”.  I heard their “complaints” initially as that it just wasn’t the way they used to do it.  However, after this went on for a few weeks I volunteered to fill-in for one of the users and do the job for a few hours myself, using my program.  WOW - did I learn a lot!

I learned that my idea of efficient and what they really needed were two different things - and the program was updated within the next few days, and that truly is the way I think it should be.  Yes, users ARE trainable — but I really don’t think any application user interface  should be so complicated that it requires the significant training often associated with implementing something like an ERP system.  Train for the job, the tool use should be instinctive.


May 7 2008   12:03PM GMT

Technology Sales Styles



Posted by: Joe Coley
Custom software development, Business Application Value, Software application development, Small Business Computing, IT Management

A recent article that I saw in a Computerworld email caught my eye and my interest.  The article “The six most infuriating tech sales styles” had me salivating at the very thought of the possible content contained in the article even before I opened it up!  The way I figure it, most of us that have been in IT management and around the “tech sales” arena can identify many of the types referred to in the article, I certainly can.  Heck, some of us might even BE one!

The article states “…That IT salespeople just don’t listen is a familiar refrain from technology buyers…”, and that “…too few of them act as honest advisors and problem-solvers…”.  Isn’t THAT the truth!  Just thinking about the recent experience that I’ve had trying to find proper RAM for an older server has brought at least 3 of the “infuriating” sales types into focus for me.  Continued »


May 4 2008   8:40PM GMT

Defining “Just Enough” Application Requirements



Posted by: Joe Coley
Development, Agile, Business Application Value, Custom software development, Software application development, Software Quality

A little over a week ago an excellent tip was published regarding software requirements - “Approaches to defining requirements within Agile teams“.  While this tip directs itself to the needs of an Agile team, it serves as an excellent read for the software developer who is dealing with custom applications, and I believe applies as much to the custom development arena as Agile. Continued »


May 3 2008   12:25AM GMT

Desktops - User Interface - Simplicity of Design



Posted by: Joe Coley
Custom software development, Ubuntu, Desktop Computing, Software Quality, Linux

I just saw a recent post that I just can’t let pass by - “Overheard: Hardy Heron flunks the girlfriend test“.  The cute title of course caught my eye right away — my love of the Heron and spotting the cute little graphic in the post also caught my attention — but then to read the post and realize that it related to my recent post about Microsoft being vulnerable on the desktop with its poorly received Vista was just too much to handle.  Continued »


Apr 30 2008   12:34AM GMT

Desktop Software Revolution in the Making?



Posted by: Joe Coley
Desktop Computing

The hype around the use (…or rather non-use) of Vista continues to be in full swing as we close out April 2008, a mere 2 months before the “official” Microsoft mandated end date for availability of Windows XP on new computers.  Computerworld published an article on the web today “Vista ‘inevitable’ for enterprises, says Forrester analyst“.  The article has prompted numerous comments from a mixed variety of interested parties, with an equally mixed bag of thoughts and predjudices. 

I’m not really sure why there seems to be so much “fuss” around the article in question, or the Forrester analysts comments more precisely.  Personally, I took the view that Vista was inevitable for me soon after it was released.  As an independent software developer I have neither the desire nor the clout to demand how my clients run their business or their investments on hardware and infrastructure.  My job becomes providing them with what they need and desire to effectively run their business applications using the tools they choose - I just knew Vista would be a part of that.

Please do not misunderstand — I’m not necessarily an early adopter of new OS’s or technology for that matter.  In my opinion, Vista offers little for the average business user.  Looking at the fancy ribbon bars etc. that are part of MS Office 2008 I find pretty, but just too much.  They are pleasing on the eyes, but add little other than clutter and confusion for the casual user.  Vista vs XP is a similar story at the functionality level.

It seems to me that IF there is ever going to be  significant exodus from Microsoft Windows desktops it will be NOW!  I believe that Microsoft has never been so vulnerable — but I also see no real alternatives on the horizon other than perhaps Linux, which by its very nature as open source is vulnerable.  If so many don’t like Vista — it could be a long wait for the next Microsoft product.  What’s the alternative?  Does somebody know of the next disruptive OS that’s just waiting for the day to jump out and tell the world “I’m Here!” and have the world IT organizations gobble it up? 


Apr 29 2008   4:52PM GMT

Thoughts on the Career Software Developer



Posted by: Joe Coley
Software application development, Software Quality, Software testing

I just finished reading an excellent post by fellow TechTarget blogger Ron Richard entitled “The career, software developer (your comments appreciated)”.  His post is one which can’t help but spur its readers thoughts both into their past and their future, at least for me it certainly did.  The post ends by asking 20 questions — each of which is very capable of spurring significant discussion.

I immediately found myself wanting to respond with an answer to his question number 19.  His question?  “Will peer programming in the future involve a human and robot?”  Perhaps I’m somewhat old-fashioned, (my grandchildren have pointed that out to me in the past), but I just can’t get a picture in my mind of the software developer robot.  Perhaps it would be an interesting artistic effort to create one!  But that aside, I find myself questioning the use of the word “peer” in relation to a robot and a human being.  I just can’t envision that!

Our software development tools are getting smarter, they do think ahead for us in some instances as they fill-in the command it thinks we are going to use.  I cannot conceive of the robot developer understanding anything but the most detailed of application requirements.  The “artistry” of software development — particularly application software development — belongs to the human being.  I certainly CAN conceive of the human “guiding” the robot wizard as it creates the application”code” (…probably not understandable by the human at that point…) which runs the logic and UI.  Actually as I think about it, I could use some of that robot influence today!

Robotic software development I believe, and I hope is a long way off in the future.  By that point in time, I won’t be trying to earn my living as a software developer, and I can read all about it in the tech journals and be amazed.  Until then I can keep coding and dream on!


Apr 29 2008   3:17AM GMT

Custom Application Development and Creativity



Posted by: Joe Coley
Custom software development, Development, Software application development

Writing this blog is a creative endeavor on my part — in the past I’ve tried to avoid any extensive amounts of writing yet I felt pulled toward doing it, and I have enjoyed doing it over the last few months.  In a like manner I truly enjoy doing the application development work that I do, which like my blog writing, often times takes on a creative component.

In fact, I’ve found both the application development that I do AND the blog writing I do to often run along parallel paths - especially regarding creativity.  There have been times when I’ve sat down in front of the computer at my blog and just been mentally and creatively as blank as the form on my screen which is just sitting there patiently waiting for my thoughts.  It seems at those times that I have nothing to say - and with nothing to say even my continually improving voice recognition software can’t help me write.

There are also times that I find myself in front of my editor or other software design tool with seemingly nothing to say — there just seems to be a “block” in place that doesn’t want to let go.  Fortunately for me if I am blocked with my writing, I’m NOT blocked with my development.  I’ve had discussions with other developers who also find themselves at times with a block that doesn’t want to budge.

How does one get past the block?  I suggest moving on to something else.  Often I have used the times I’ve been blocked to catch up on that article I ripped out of the tech magazine a few months back — the one I wanted to read but didn’t have the time to dig into.  Physical movement helps too — a trip to the water cooler perhaps, a conversation with a co-worker.  It never ceases to amaze me how well even a short change of focus works to help get the creative juices flowing again.

Try it, you’ll like it!


Apr 26 2008   1:18PM GMT

Application Code Maintenance vs Re-Creation



Posted by: Joe Coley
Custom software development, Business Application Value, Software application development, Software maintenance, Software Quality

Which would you rather do — maintain an existing application’s code or create (maybe re-create) an application from scratch?  Obviously, it would depend upon the complexity and size of the application, and perhaps the tools used to create the app — but I believe that at some point after an app has been in service for a while, it reachs a point where I’d rather re-create rather than do maintenance to bring it up-to-date.

It has been my experience that somewhere in the 5-10 years of use range between hardware changes, O/S changes, functionality additions, “bug” fixes and patchs for the various changes — it becomes time to “rebuild” the application.  Again in my experience, what I have found is that the code appears to resemble more a patchwork quilt than that of a logical program by that time.  This fact appears to be one of the best “selling” points to use when approaching the idea of re-writing an application with the management that will have to pay for it. 

Our off-the-shelf software creators take care of this for us — we get what they want to give us — like it or not.  I won’t go off on a rant about application “bloat”  (…which I am very capable of doing!).  With our custom application programs we DO have an opportunity to evaluate and re-design according to the latest techniques, and add functionality (or not) in an orderly - maintainable - fashion.  I don’t suggest adding functionality “just because you can”, yet if it “fits”, if it adds to the useability of the application, then consider it.

There is many a program which I have re-written as the result of a re-evaluation of the application.  Particularly I will choose to re-write when the application has become a “bear” to maintain.  Sometimes the user sees no change, yet an application which can be easily maintained and is up-to-date with the technology is (at least in my book) always preferable.


Apr 25 2008   5:42PM GMT

The Buy, Build or Ignore Decision



Posted by: Joe Coley
Custom software development, Small Business Computing, Business Application Value, Business process automation, Database application, Software application development, Database

A recent visit to a doctor’s office this week channeled my thinking once again toward the simple applications that can save time in any environment.  As I was checking in at the registration desk, it was noted that they did not have the latest copy of my insurance card.  I gave the receptionist my card, and card in hand she walked to the back of the office to the copier, where she leisurely made a paper copy of first one side and then the other.  She then walked back to the front of the office and passed my card back to me, adding the two 8-1/2X11 mostly blank sheets of paper to my file.

This was one of those times when I wished I had a stopwatch in my pocket.  Yes, it has become just a part of her daily routine.  It seems like nothing, but this is a very busy office, and the receptionist figures she makes that trip at least 20 times per day.  I know that this journey of hers took approximately 1 minute, and used two sheets of paper.  Anyone care to estimate the cost of doing this on a yearly basis?  Monthly? Daily?  It certainly adds up!

Now, what might it take to create a simple application to scan and electronically store this information?  Recently the most requested functionality I’ve been adding to my custom programs have involved scanning application integration.  One can get as complicated or as simple as desired — and a high level of integration can be costly.  However, a simple database coupled with a scanner can be a powerful addition - even if only a temporary one.  It wouldn’t take much time before the cost of such a simple solution paid for itself.

Anyone else see inefficiencies easily and cost effectively addressed (even if incompletely)?  I see them all around me — but maybe I’m the only one :-)  I suspect not however.  I commonly hear from clients that they’ve tried the idea of scanning “…but it was too complicated…”.  It needn’t be, but scanning applications like so many others have fallen prey to the “bloat” we have unfortunately become accustomed to.