views:

132

answers:

6
+2  Q: 

New project panic

I have a question which is not strictly-speaking programming related, but nevertheless caused by being an analyst and a programmer at the same time.

It's about starting new projects which seem to be unfeasible, because they have an unknown domain, lack specifications, and/or require technology which I am not familiar with. I get some sort of panic when I approach such a project, and then relax as I proceed along with domain and technology understanding.

Is this something you experience? How do you cope with it?

+2  A: 

Hi

  1. Calm down.

  2. If the project is initially infeasible (even if only in your own mind) then start with a feasibility study. This is a sub-project with which you will define the project (or at least the next sub-project).

  3. You've already defined several major tasks within the feasibility study: learn about the domain, write some specifications, learn enough about the new technologies.

As for me, no I never panic about this sort of situation, I love starting with a blank sheet of paper, and experience has taught me how to start filling it in real quick.

So, take a few deep calming breaths and jump in.

Regards

Mark

High Performance Mark
+1  A: 

Yep, I get this felling all the time. But I always think that technologies are like tools. Once you got how to handle then, the rest will be easy.

jonaspp
+1  A: 

Whenever I don't feel like that is when disaster lurks! It's like eating an elephant, just do it one bite at a time. Do some part you do understand, and that gives a handle to the next bit.

djna
+1  A: 
  • unfeasible,
  • unknown domain,
  • lack specifications,
  • require technology which I am not familiar with

I think that's how we start our life too. As long as you are confident that you can pull it off, just stick to it and you will see that things are working in your favor provided:

  1. You understand the importance of being Self Starter
  2. You take responsibility for who you are
  3. You ask the right questions at right time

All the best!!!

sajoshi
A: 

Often the trouble with these infeasible projects is that the client is on a limited budget and will go bust before you complete your feasibility study. In this case it might be worth taking a step back from technology and looking at economics. May be sub-contracting to someone with the required knowledge will ease the pain.

whatnick
+1  A: 

The best way that I know of to try to contain and control the human factors in a project is to have a clear idea of your own processes.

Start with some Domain Driven Design, work with the users and help them to understand their domain and the business processes that surround the domain. Often developers are far better at abstraction than the managers/business people so we can often help them to understand their own domain.

Build up a set of acceptance criteria, these form your tests which actually form your spec.

Once you have an idea of the above you know much more about feasibility and how long it will take (and even if the technology that has been specified is the right one)

As for approaching new technologies, start small, build a proof of concept and make your mistakes there rather than on production code. There is a huge amount of best practice on the web and places like StackOverflow are good places to start.

I would suggest working in an agile fashion, get the project owners to prioritise the work that needs to be done, work out what is needed for the next two week sprint and deliver it (which may mean stubbing out a lot of functionality). They'll tell you when it is wrong and it may influence their own decision making.

Don't view the entire project as a nasty whole, break it down into deliverable sections and one step at a time.

Ian Johnson