Development Tip: What to do When a Project Gets Delayed

It’s bound to happen. Problems arise, clients change their minds, and countless other unforeseen issues can cause a project to be delayed. One important thing to remember is, resist the temptation to add more people to the project as the first option. Taking some literary advice:

“You cannot have a baby in one month by impregnating 9 women” – The Mythical Man-Month

This applies to software projects too.

In reality, sometimes adding additional people might help, but keep these points in mind before making this exception.

The newly added people should be experts at the pending task, AND/OR are going to be working on a completely independent portion of the project. The integration should be seamless with no additional contextual knowledge of the project needed.

The other practical option is – negotiate with the client and help them understand and prioritize their requirements. Drop a couple of fancy items which are “nice-to-have”, but not the “must-haves”. The client might be more accepting of a simple-yet-functional feature, instead of a half done, fancy looking feature.

Taking another cue from the “Mythical Man-Month”, here’s some advice:

“When the chef delays your omelet, you can either have him bring it out early and eat it raw, or allow him the additional time to make it cook well”.

In the end, always do a team retrospective to figure out what went wrong and caused the deliverable to be delayed.

Share your experiences in the comments field below!

Advertisements

Development Tip of the Day: When do I start testing?

When to begin testing, is a question that always leaves development teams wondering. Ideally, testing begins at the same time as development. When developers kick start a few user stories, testers should already be preparing test cases and plans for the same. This kind of look-ahead approach keeps the developers from prematurely calling a task “done” and automatically makes it a habit for everyone to call a deliverable complete only when it has been thoroughly tested.

Testing is not just the test engineer’s responsibility, instead it is the developer’s responsibility too. This thought has led to the evolution of a popular new software development technique called Test Driven Development. Read more about Test Driven Development HERE.

Tip of the Day – Iterative and Incremental Development

A useful way to achieve customer satisfaction in an incremental development approach is to always decide the priority of tasks picked in a specific development iteration. The priority order should be based on guidance from the customer, keeping them fully involved throughout the entire scope of the project. Complete customer involvement prevents unnecessary surprises and full understanding of the expected deliverable.

%d bloggers like this: