Archive for the 'Technical' Category

Building a Reputation: Knowing When to Experiment and When to Deliver

Friday, June 9th, 2006

In the corporate world, there is a very heavy weight put on successful delivery. Companies usually understand that some things have learning curves, but where do you draw the line on testing out new technologies before you actually stop and deliver something?

Are you known as the guy that knows about a lot of things but never delivers on time? Can you relate to someone that always delivers on time but ends up using the same outdated approach over and over again? Maybe you’re somewhere in the middle, but how do you know when to balance learning with delivery?

I’ll define some considerations you need to take, factors that should effect your decision, and give some tips on how to apply what’s known to deciding which approach you should take to still be successful.

Things to consider

  • Time – How much time do you have? Are your customers patient? Is there a high visibility on whether or not you can deliver quickly?
  • Risk – Do you already have success with similar projects? How much experience does your team have in completing like tasks? Do already know how to implement all requirements requested?
  • Resources – Do you have enough help to get everything done? Are you in a volatile environment where people aren’t able to dedicate themselves long enough to be effective? Is everyone involved able to focus on just your project without worrying about other commitments?

All of these items should be weighed in when deciding on a project plan. If you know there’s a very low risk in being able to deliver on time, it’s likely a good opportunity to begin trying new things or experimenting with new technologies that can be applied to some of the components.

If the risk is medium or high that you might not meet the expected delivery, using what you know will work should take precedence over experimenting with frameworks or widgets you’re unsure of.

(more…)

Offshore Outsourcing Alternative: College Students

Monday, June 5th, 2006

In today’s competitive software development world, companies are experimenting with many scenarios to reduce the cost of their software. Some companies prefer to develop everything in-house. Others prefer to outsource everything. With both options being rather expensive as professionals aren’t exactly the most affordable, some companies are considering outsourcing to companies abroad.

Offshore outsourcing has been proven to succeed for some companies, but it isn’t the alternative choice for everyone. One alternative with many similarities is to use college students as a workforce for the same elements you would consider off-shoring. I’m sure there are some companies that have found the off-shoring business model suits them perfectly. I say “good for them” if they got it to work out the way they wanted.

I have to admit that I’ve only been involved with one major project that involved an offshore development team and the entire experience was horrible. I can’t say much for how it works now (a few years later), but I imagine things have probably gotten better. What I am interested in pointing out is an environment I’ve seen work very successfully with many similarities.

(more…)

5 Reasons You Don’t Want to be the Project Manager

Thursday, June 1st, 2006

I’ve been on both sides of the Project Manager (PM) debate throughout my career. I’ve worked with them, I’ve been one, and I’ve had them work for me. On some projects I’ve seen way too much PM, and on others I’ve seen far too little.

One thing that gets me is the number of people in school right now that actually want to be a PM when they hit the “real world”. It’s a good living, and I laugh because I used to say the same thing. But I have to wonder if some of these guys know what they’re getting into.

The role has its purposes

There’s a purpose for the role, and I believe it is necessary for a successful project even if there isn’t a single person dedicated to filling the role. Someone needs to play the part. The need for a plan and to track the plan on every project is helpful for everyone to understand what the expectations are and how we’re meeting them.

However, it’s a part with a double-edged sword of responsibility. I laugh at the one phrase that sums up a typical PM’s role: “Are you done yet?” I think there’s some humorous truth to the stereotype given in such a generic (and to the people actually doing the work, annoying) statement.

So, you aren’t a total anti-PM extremist. Why the list?

I can think of some reasons why I like being a PM for a project, but the reasons I don’t far outweigh anything I can come up with. I was originally going to make a pros/cons list about playing the role of a PM, but the reasons I wouldn’t want to be one made me laugh too much to want to clutter it with anything else.

(more…)

Commercial vs. Open Source: Another Point for Open Source

Friday, May 26th, 2006

I stumbled onto an article in Ry Lowry’s blog that included a piece about his frustration with applying test driven development (TDD) to a commercial framework.

To summarize, he’s comparing TDD applied to an open source framework (Spring) with applying it to the commercial product. Spring was certainly designed for TDD and being in the open source community is very easily integrated with near any of the popular testing methods.

The commercial product he’s using doesn’t seem to have any easy way to be tested using many of the testing tools that are out there from a TDD perspective where you start with unit tests and work your way up to the different testing levels until you have near-end-user-like testing as well.

A couple of things come to mind that I think add value to the discussion:

(more…)