Saturday, January 23, 2010

Sad case…

Yesterday I was involved in data analysis related to active investigation of theft at a customer’s business.  The evidence was almost on the surface, transactions were increasing exponentially, and reached their peak by Christmas time.  While having to work mostly the night shift, the person was running bogus transactions at a rate of 180 a month.  By mid January it was all over, and now this poor sole is awaiting trial.  But the business will demand retribution for all the stolen money.  The sad part is that there are so many people who believe that steeling is the way to go.  Especially when the chosen method is not so primitive, and does require preparation and methodical execution.  If only people like that could use their skills and creativity in a positive way…

Wishful thought!  A friend of mine is attending management classes, and one of his instructors told him that 25 to 35% of employees, when starting a new job, always try to find a way to defraud the employer.  This attempt manifests itself usually through direct or indirect theft.  The case above is obviously a direct theft.  But in the case of indirect theft the percentage of employees is understated.  Well, that’s a topic of a different post ;)

Sunday, January 17, 2010

Application Maintenance

Every organization has either thought about having a custom app written for them, or already has one that is deployed and operational.  This fact in itself is a “trigger” for someone at some point to ask a question: “Who’s the owner of this app?”

Many companies maintain an in-house team of support personnel that “keeps the train running”, while others outsource this task to onsite/offsite contractors or a consulting firm.  Both approaches have pros and cons.  Let us take the first one, an in-house team.

Pros – the resources are always available, they possess the necessary knowledge about the application and the business, thus the implementation of modifications can be very quick with minimal downtime.

Cons – the cost of keeping such resources in house while development is needed on occasion may not be easily justifiable, which means that either those resources have to have additional workload, or the business will be facing the need to start cutting down the number of those resources.

The other approach, – fully outsourcing the task of application maintenance, also has its pros and cons.

Pros – No need to maintain a technical staff at all times, the bid for the contract can expand the spectrum of resources available for the project, and the winning contract is legally binding the consulting firm to complete the work on budget and on time.

Cons – the tendency to go with the cheaper bidder may result in poor quality and/or extend the period for delivery.  In the end, it may cost more, and in many cases will cost a lot more than the original budgetary estimate; going this route is definitely more expensive, even when using the cheapest bidder, than the cost of in-house resources for the period of time required to complete the work.

So how can we find this fine line and perfect condition that would be beneficial for the business in terms of availability of support, without breaking the bank, while not having to carry the liability for the idle resources?

First, let’s have a look at a typical scenario of how an application ends up as a business system.  2 to 5 years ago a business had a semi-full staff of IT professionals, that were eventually tasked to provide a computerized solution to a specific business problem.  As it’s usually the case, it started small, with an Access database and a couple of forms.  Eventually it grew and passed the limitations of MS Access platform.  The original developer long left, the documentation is sparse if present at all.  Now the company’s management is facing a dilemma, – to hire a new developer in hope of re-creating development environment for the application, or to outsource the effort all together.

What is frequently overlooked when considering an in-house resource, is liquidity of the presence of such resource, as well as the cost associated with finding and training it to fit the organizational needs.  This means that the company will periodically find itself in the same situation, and the cost will be unavoidable.

However, as we determined earlier, going with option 2, – outsourcing the entire effort, also has negative aspects.  Does this mean that the solution is to go with the “lesser of the two evils”?

The answer probably lies in approach that the company chooses to structure the relationship with a consulting firm.  And there are different such approaches that traditionally dominated the decision-making process.  One way to go about it would be to follow the trend that developed in the past 20 years, where the company contracts a consulting firm to support organizational needs on a long-term basis.  This virtually means to fully outsource all aspects of IT functions, including support, maintenance, new development, and even help desk.

Friday, January 8, 2010

Just a start...

That's it, I am finally at the point when if I don't start writing about what I do, - I will never be able to recall everything I've done. So, here it goes, and I hope it'll keep on going from now on, on a regular basis.

For now I just want to jog down some thoughts that I might need for writing my first news letter, that I was asked to come up with. It's actually (and thankfully) not a full letter, but just an article for it. But it already seems as a challenge to me, because the topic is somewhat vague, but at the same time should be covered in a very concise and down-to-the-point manner. It also needs to be catchy and appealing for people to read, while remaining semi-technical.

And now, the topic. I was told that it probably should be about performance, but I was thinking more like maintenance, and to be more specific - application maintenance with an emphasis on performance.