Our outsourcing is killing us

December 28, 2006

and our company is asking for more.

We’ve been contracting developers and testers overseas, known for the length of this article as Initech. (Wha?) So like I said, we’ve been using Initech for the majority of our support issues, and then using them to make up large portions of our development teams. The former, while a developers dream (never have to fix a bug in released code, holy cow) is eventually going to lead to shoddy quality and less attentiveness on the behalf of the in-house development team.

As a result, Test driven development and even more importantly any real refactoring attempts are ignored by management, and not voluntarily adopted by the majority of the development team. Test driven development will catch the majority of your issues at dev time, and ensuring quality in following builds through the magic of continuous integration. Since we aren’t writing our tests first our coverage is quite low based on our weak testing discipline, but a much bigger result is that we are not performing the third step of TDD, which is Refactor Ruthlessly.

What we’ve got now is a bunch of weakly tested, ugly, smelly code that we just need to mangle enough to produce the functionality we want, without having to worry to much about the long term quality issues.

I know what your thinking, excuses, excuses. Good developers should refactor, they don’t need a reason, they have the motivation to have quality code developed and part of that is refactoring. There are other factors, and since this is an outsourcing rant and not a refactoring rant, I can’t go into those fully yet.

The Initech guys really are talented, I’m impressed by what they can do, especially under the conditions we impose upon them. Yet they have serious lapse in their completeness. Such as jobs being reported as done just being skipped, functionality being skipped, holes in the design going unnoticed all killing us overall.

Our in house development staff is spending a large portion of their time reviewing, fixing, and completing Initech code. Add these extra duties, to the new demands of scrum, we are finding the amount of time we get to actually code is being severely decreased which leads back to in house developers not having the ambition to self impose TDD and Refactoring into their day to day efforts.

Less apparent is the effect this is having on employee moral. You can argue developers ambitions for their work but whatever they are, this process is ruining it. Our code isn’t something to be proud of, our day to day operations are contain less coding and we’re producing less of those glorious features everyone praises us for. Would it surprise you to find out we’ve had some key people leave in the last few days?

I may make outsourcing seem like the root of all evil, I don’t think we need to do away with them, but with our current process, structure, and personnel, we cannot handle the work load given to Initech. They are great tools for supporting our current in house development team, but history has shown that we can’t trust them on a consistent basis. I hope the message can be relayed to the top, otherwise life as an Initech babysitter will continue to suck.

 

Advertisements

Javascript Compression

December 19, 2006

A quick note of a nice tool for us javascript developers.

The Dojo toolkit team has their own Javascript Compression tool that is available online at

http://alex.dojotoolkit.org/shrinksafe/

On my (modest) site Justise.com I have one larger Javascript file for my start menu from those guys at Milonic that I wanted to compress and here is the screenshot of the results.

js_compress.gif

You can see the results are quite impressive.


Jingle Bell Run

December 12, 2006

Amazingly it looks like the run results will be posted online the 22nd of December.

Links on the official website.

I know this is short of monumental news, but it looks like a lot of readers are searching for these results. So I thought I’d post it.


Some links to checkout

December 11, 2006

To solve your case of the Mundays

Dzone.com – A compilination site of diffrent articles by fellow developers for other developers.

Prototype documentation – Prototype is a javascript library that makes javascript a bit easier to use. Its hard to find good Prototype documentatio, so this site is a treasure trove.

Best of the Best 2.0 – The best 2.0 applications out there, grouped by category.

Javascript Libraries – My secret stash of libraries that make me seem like I’m uber productive, but really I’m just using other peoples hard work.

Balls of Fury! – For your viewing pleasure. Fun stuff.

That should keep you busy for weeks.


Holiday Happenings

December 10, 2006

John Pizzarelli

I had mentioned earlier that my girlfriend (forever known as Danielle) and I were going to the John Pizzarelli concert at the Benaroya Hall. That concert was last Friday and it was amazing. Its easily one of the best times I’ve had at Benaroya. Pizzarelli uses a jazz quartet to liven and compliment the always wonderfull seattle symphony.

The only negative is that John Pizzarelli himself provides the vocals, and his voice doesn’t have the range to do the classics justice.

Jingle bell run results

Danielle and I also ran in the Seattle Jingle Bell run, a quick 5k jaunt through downtown. I wasn’t able to break an 8 minute mile, but it was crowded, and had some hills so at least I have excuses. I provided my NikePlus report for the run, this tool really is great and if your a fringe runner that needs motivation, seeing your results certainly helps.


Self Evaluation

December 10, 2006

So its that time of year again.

selfreview.gif

My experiences with this practice are limited, as I have only had to fill out one of these before in my professional career. So my maturation process in writing these documents needs to be quite substantial this year.

Last year I took my usual timidness into my self review, trying to be meekly honest about my performance, modest about my skills and positive twoards the company. In my meeting with my manager, it turned out be a decent review overall, I had just gone through a nasty development cycle smelling pretty good and so they had positive things to say about my performance.

This year, I’ve been bitter about somethings for quite a while and took my self review as my opportunity to really chew into the meat of these issues (In addition to a few asses). I can’t tell you about the post review meeting with my manager yet as I haven’t had it, but I do want to go over some of what I put into it and my afterthoughts.

  • Slightly Jovial
  • On some of the sections I just didn’t feel like making comments, how much do I really need to say about how good I am at Teamwork? Heck I said I was good at teamwork last year, and I think the manager downgraded my grade, so on these fuzzy topics, who really cares what goes in there?

    So for better or worse, I made a few light hearted comments. I’m hoping they won’t think I just didn’t give a serious review, because I was quite serious, but I just didn’t feel that anymore needs to be said.

  • I’m so good.
  • So in our review we have a few sections like Quality, Teamwork, Attitude, etc, that you need to grade yourself as either Exceptional, Strong, or needs Improvement. Now if your being reviewed–and lets be honest, we know money is on the line here–and you need to rate yourself, why would you put anything less then a glowing review of yourself? If you seriously need help with something, I could understand, but if your strong in any subject why would you not rate yourself Exceptional and have your manager bring down to what their ratings of you are.

  • Give me my 10 things
  • My employer really is great to work for, they do so many wonderful things that it almost seems wrong to be critical of them. Yet things aren’t going to change without some kind of push, and this review was the perfect time to launch such a push.

    If you want to know what I mentioned, go read this post.

  • Help me, help you.
  • I know I still haven’t blogged about my adventures to a become a senior dev, but that quest is not dead. I did want to let my employeer know that they have not given me any indication what areas I need to improve upon, so I’m kind of flying blind. I’m thinking I’ll learn the cool stuff that is out there, make sure I pretend to be a senior dev and think happy thoughts.

I’ll post a follow up once I’ve had my meeting. I would love to hear about some of your experiences of self evaluations. Did anything work really well for you?


Lets get a conversation going: Scrum style

December 2, 2006

Implementing Scrum has setup a new forum at http://www.implementingscrum.com/forum/! I know its kinda empty right now, but I think it’s a really good idea to get this thing going strong, so lets all band together and post our brilliant thoughts. (Or mundane if your not quite as brilliant as I am.)