Split

Yesterday morning I felt somewhat split, as I would be in two places at the same time. I reckon that one of me in the multiverse went down one leg, while the other me went down the other leg of the Trousers of Time. One of me decided to change work and yesterday started his new job working on the next chart-busting video-game for mobile phones; the other one of me decided to keep the old job and now he is working with home automation appliances.
This leg of the Trousers is the latter, the other me is writing something very similar on his blog in his Universe.
Unfortunately I have no imp-powered dis-organizer to check what’s happening to the other one and to ultimately tell what has been the Right Decision.

Software project failures

Yesterday I stumbled upon an article about why software projects fail. Though hardly you can find any surprising claim while reading, it is nonetheless a quick paper you can hand over to your colleagues and/or managers when trying to enhance the chances for a successful project.What I find quite interesting is the table near the beginning, the one titled “Project Challenged Factors”. What draw my attention is that the “other” item weights more than each other single entry in the top ten. In other words the causes for challenging projects are so widespread and so equally important that there is no a main culprit.
We programmers are working on a so complex and delicate mechanism that any one in hundreds of factors could drive the entire stuff crazy. On the other hand the number of variables involved is so high that it is not possible to shot at one target to likely ensure project reliability.
Take software requirements for example, (missing or incomplete accounts for a 12,3%), while I am not advocating about entering a project without them, it is clear that in some circumstances the lack of such documents is not dooming per se. Take for example an expert team that knows all the ins and outs of the domain and has a crystal clear idea of what is needed. In this case maybe the project could get along with no SRS.
So one might be tempted to strictly follow every “best practice” to minimize the risks of a failure. But this is not likely to work either – every practice has its cost and some practices (take the “code review”) are extremely daunting.
Therefore is all a matter of balancing, picking the right decisions, having good reflexes and willing to occasionally work harder to fix what has gone wrong.
Following this line of thought the best insurance you can have for your projects is an experienced and well jelled team with: a) an experienced leader, b) a good success history. This isn’t rocket science either, you can find similar assertions in many software project management books (Peopleware is the first coming to mind).
On the other hand projects keeps failing. This leads me to two considerations, first is that even with the best premises a challenging project could fail – we have to accept this for today’s projects and try to minimize the failure impact. Second how is changing the failure rate in time? The first study quoted in the article is more than 13 years old! That’s a huge time in software industry.

Jingo

For those of you that know me, it is not a surprise that I really like Terry Pratchett work. So before the holidays I placed a huge order to amazon comprising all his book I haven’t yet read.”Jingo!” is the first popped out from the reading queue. I though this summer I would have read a bit more, but traveling throughout USA, trekking in parks and keeping an attentive eye on a teen nephew it’s time consuming as it sounds.
Back to the book. This time an island is rising from the ocean about halfway from Ankh-Morpork and Klatch. The island is discovered at the same time by two fishermen from the two towns. Everyone claims his country rights on the new land, and this leads to political frictions between countries.
As if this would not be enough, someone try to assassinate the brother of the Klatchian sovereign visiting Ankh-Morpork.
As the international struggle escalates both Vimes with his Watch and the Patrician with his political skills attempt to settle the question avoiding what seems to be a inevitable war.
As in every other book by Pratchett the witty humor is always paired with deep insights in the human mind, in community habits and legacies and plots are never obvious or sacrificed to the funny side of his writings.
I read this book as a strong position against wars, against the blindness of generals and war commanders, the arrogance and stupidity of racism and discrimination.

2nd level outsourcing

This is funny, I was joking last Saturday with two friends of mine about the fact that outsourcing to India is no longer convenient and that Indians may outsource tech-jobs back to US, and this morning I found this news: Indian Software Firm Outsourcing Jobs To US. I hope this could reverse this odd trend of relocating tech jobs in the far east, and provide for a better distribution of the wellness in the world. A friend of mine told me that Indian programmer salaries are low for young and/or inexperienced, but rise steeper when compared to western programmer. In other words inexperienced programmers are cheaper in India, while experienced programmers are cheaper in western countries (while being more expensive than inexperienced programmers everywhere :-)).
And Italian programmers are cheaper than other western countries’ programmer because Italy has the lowest salaries among the industrialized countries of the EU. That’s to say it is viable and worthing for a US company to outsource tech jobs to Italy. I just recommend to provide their management because local workforce has serious trouble in grasping tech-projects management 101.

Are we sure we have to be in UE?

According to this research, Italy is quite prone to corruption, scoring well below all western countries. This is something that we cannot blame our politicians for. Corruption is endemic, it involves two parties – the corrupted and the corrupter. It cannot happen just because of politicians. It is a consensus. It has to do with habits and connivance. Is it possible and how long would it take for Italy to gain a corruption-free status like the rest of Europe?