1

Some background: In our organization we develop statistical product and there are big team of statisticians. They often changed specification due to change in clients' requirements. We have n number of statistical tests and plots. The software is too big and programming effectively and efficiently is challenging.

So, how do you handle similar complex projects effectively in our organization?

In Agile they have a method called Envisioning, that means look into clients brain in advance to predict requirement. For any software development specification and requirements are learned in advance. I our case specification and requirements are changed often, so development changed too. can we tackle situation smartly to use programming hours effectively and increasing productivity?

  • Are you currently doing any sort of Agile? – Joshua Drake Mar 30 '12 at 14:41
2

The software is too big and programming effectively and efficiently is challenging.

It sound like the problem is a software architecture problem and not a project management problem.

Requirements will always change. The ease of applying theses changes depends on the architecture of your software.

Inspire towards a flexible architecture with separation between reusable infrastructure and applications built upon it.

Thicken the infrastructure layers continuously, so that the application-only code will be as thin as possible, yet write the infrastructure wisely and in a highly flexible and maintainable manner, so it can be expanded over and over. Keep app-specific or rapid solutions in the application layers.

| improve this answer | |
1

Envisioning is neither about "looking into a brain" nor "predicting requirements". Envisioning is about you and your team doing a hands on worskhop with your client to understand each other, the business and project requirements better. If the team has zero business knowledge, and this is the first project for the client, you might need to get together frequently.

Sit in one room, have enough drinks and food, and have loads, really LOADS of time to spend. Get to know each other, if someone talks about his last holiday, talk a bout holidays for a few minutes. Don't try to squeeze this an 2 hour meeting.

If your client changes requirement frequently, scrum might be a very good method. Get an experienced scrum master. Because the project is allready under way, and is going down hill, it might be too late to start doing agile by "learning by doing".

Good luck!

| improve this answer | |
0

Try planning your work better using approaches such as Scrum. You should be breaking down large tasks into smaller, more manageable tasks that you can better estimate and deliver in a timely fashion. Plan for a month's worth of tasks in advance and assign them to your teams accordingly. Changing requirements are a given, you just need to learn to adapt and prepare to handle change as required. Good management is key.

| improve this answer | |
  • Sounds like they may already be doing some flavor of Agile? – Joshua Drake Mar 30 '12 at 14:41
0

In Agile they have method called Envisioning means look into clients brain in advance to predict requirement.

I don't recommend to do this. You'll never predict what the customer has in his mind. I've seen organizations spending millions of euros based on similar predictions. It's a dead end.

can we tackle situation smartly to use programming hours effetively and increase productivity?

I think you can. If I understood correctly, you develop statistical products which may consist of different diagrams and data. If you have the slightest doubt that the customer wants something different, create a drawn diagram with fake data behind it. After showing it to your customer she can give feedback and you'll know whether you are on the right track or not. If you have to show some data, just put together a snippet by hand and ask the customer about it. The key is to frequently show something to the customer and ask for feedback.

Here is an interesting approach: http://www.pretotyping.org/. We were using this approach for web development. We put together a website with simple html+css and fake database so that we could show our customer how the site will look like. It turned out that she had something else in her mind. So we saved a lot of unnecessary effort with a small investment of the pretotyping. The hardcore folks won't even bother with html+css; they'll draw something on paper and use it.

| improve this answer | |
0

If I understand your situation well, the clients cause the programming changes in the software you are talking about. With what I read, you seem to be the last to know... (or almost). I would not try to anticipate the changes because if you get them wrong, you will have worked for nothing (and that is a lost of money). Is there somebody in the statiscians team that you could get in touch daily or weekly, depending on your situation? With projects and clients, most of the times you see last minute changes difficult to predict. But my point is that you have to find a way to buy time. You have to find a way to push regularely for you to have the information in time for you to programm properly and for the clients to be fully satisfied. You could even refuse once or tow times to do the changes because you do not have the time; that could be a waking call for your statisticians collegues to take into account your deadlines.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.