Showing posts with label fail. Show all posts
Showing posts with label fail. Show all posts

16 December 2012

Waterfall and Requirements

We are doing Waterfall. "They" want it to be called Agile using Scrum, but it really is Waterfall. We have nine month release cycles including two months requirements gathering followed by four months development and three months of testing and defect fixing. Before we took over the project it had no process at all, so it is OK now, at least it follows some process. Waterfall is not that bad after all ;-) Currently we are at the end of the development phase and our last sprint will end next Thursday.

WaterfallSome time ago, the customer suddenly found additional budget and decided to have another requirement implemented. (I have no idea how big organizations can suddenly find more budget, maybe under the mattress of the CEO?) We (the development team) were already booked up with requirements, so he brought in some special people from "Lab X". Lab X is located in off-shoring country Y, but that is not the point here, so let's just assume he found them under a stone. People from lab X had no opportunity to get to know our application, which is eally complex, a Big Ball of Mud with cryptic use cases. Finding your way around our one million lines code base usually takes more than six months for experienced developers.

I had heard about that additional requirement some time ago, but was busy and did not pay much attention. Recently things went bad. The senior developer from Lab X left the company or got rotated to another project, which had already happened before (in another release cycle - another story). I heard that it is common for developers to switch companies in country Y if they get a better offer from a competitor. One or two new junior developers were brought in to continue his work. From what I saw of their code, I do not think they deserve the word "junior" at all: someJavaString == "" is a clear sign that someone has no idea how Java works nor did he or she test the code. I do not blame them, it is not their fault. If you cannot find experienced developers, you have to hire new ones and train them, coach them and let them grow. Maybe they are experienced in another language, I do not know. I just know to expect these things from cheap labour service centres of country Y, where nothing is a problem and everything will be dealt with. "No problem Sir, it will be handled. Everything is OK now."

Right from the beginning two members of our team were asked to team up with the lab to help integrating their code into our product, which - of course - would not need much time. As far as I know they already worked five times as much on the integration as estimated and one went so far to implement parts of the solution on his own time and give it to the lab people to use it instead of their crap, which had not worked. I believe that he should not do that, but I respect my team member to have his reasons, so let him work double shifts if he feels like.

First Dorogando (final)Early on the cycle, some executive or a project manager had signed a document to approve the inclusion of this new feature, so we have no option to escape this mess. I was told that the project manager keeps reminding the customer that his actions have been proven to be problematic but from what I know, the customer's representative is a true alpha-being and will not listen to anything he does not like. (I once had a phone call with a similar executive where I wanted to discuss a certain problem, but during the one hour call I was unable to say a single sentence, so obviously there was no problem and no actions were taken. I really need to improve my communication skills ;-)

So everybody works hard and the current release will be a success including the extra feature, the customer will be happy and nobody will learn anything. As soon as the new feature will be in production, the resources from lab X will vanish and we will be stuck in the quicksand a bit deeper. I hope that the world ends this Xmas as predicted by the Maya calendar and all this ends.

16 June 2011

Headhunter Fail

Recently I was called by a headhunter. I don't mind being contacted by them if they do their research properly and have interesting things to say. But it wasn't the case this time...

Head huntingThe Call
I don't know why these people (headhunters) always need to call. I personally would prefer an email. I will read it when it suits me. But being soft-skilled, they have to talk (i.e. call). Talk if you have to, but please research and find the proper phone number! This poor fool called the company's main number and my boss was the one to pick it up. This was quite an embarrassment.

She (the headhunter) told me about a position I might be interested in. Well, I don't have time to talk, but send me some details, would you. You know my email address? Yes, of course you do, in contrary to my mobile phone number. So what's the point in calling me anyway? Is there a checkbox on your form to make sure the candidate is able to cope with embarrassing phone calls? But I'm repeating myself. Just don't call me.

The E-mail
Finally I had some hard information in my mailbox.
  • Who she was.
  • Company she was working for. (I had not known it before.)
  • Web page of the headhunting company. (I checked it out and it did not impress me at all.)
  • and the offer.
The Job Offer
And the offer really made me laugh. Here is a rough translation (Google translate rules ;-):
Our client is a reputable company in the high-tech
industry and international leader in its niche.
Wow! It's a reputable and internationally known company. Who cares, but what's the niche? What is it doing? Is it producing stuff or just selling things? How big is it?
Your tasks:
* Analysis and development of existing systems
* Creation of software applications
* Testing of applications
* Implementation
* Fixing bugs in existing applications
Aha, my task is to develop software. That's expected from an offer for a Java software developer. Not much to see here. I would like to know what kind of applications, how the testing is done etc.
Your profile:
* Some kind of technical education
* Experience in software development in Java
* Experience with XML
* Understanding of development processes
* Dynamic personality
* Fluent in English
So one should have experience in developing software with Java. At least here is some information: The company which is hiring is using Java and XML (somehow). They have some kind of development processes. Or they want to have one. But what kind of process, e.g. waterfall or agile? Or do they just want people to be aware of documentation and testing. Is there any Java developer out from school that would not match this profile?

I'm not interested at all
The offer was poor and boring, I didn't even bother to answer it. But still I'm asking myself how the headhunter-researcher could think that this a position I might be interested in.

6 May 2010

Umlaut Fail

I enjoy reading while commuting, so I am able to make good use of this time by reading a lot. I save web pages to my phone, print articles or carry magazines around. Yesterday I read an issue of IEEE Computer (March 2009). It was quite good, but I spotted a mistake on the very first page.

Advertisement for Thinking on the Web: Berners-Lee, Gödel and Turing
Well, who is Gdel supposed to be? Come on IEEE, who is supposed to get this encoding stuff right if you guys can't! ;-)