Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm in a situation where there's a big project that I need a lot of background know-how to accomplish. yet I'm not moving fast enough in the research/study phase - and seeing myself off-track frequently. What it amounts to is procrastination, except it's mixed with simply being overwhelmed and delaying the necessary background study.

How do you extract yourself from that limbo? My intuition says I should quickly study the material and start a tiny part of the whole project.

I appreciate any tips or advice.

share|improve this question
add comment

3 Answers

up vote 11 down vote accepted

Simply, divide and conquer.

Perhaps offer to create a set of top-level documents which would help subsequent people in your position. There may be a business case for such documents existing.

Define a set of deliverables, each deliverable being a separate document which addresses a certain area or audience.

Timebox each deliverable and commit to a deadline date for it. Agree on a level of technical detail for each document, relevant to the audience, and when you feel time or scope slipping, add an assumption or recommendation that another focused analysis piece should be created at some point in the future.

share|improve this answer
    
Thank You Very Much - this is very helpful. –  Adel Jan 24 '12 at 8:09
add comment

This applies to any learning, reward yourself.

Spend 5 hours learning? Have 1 hours procrastination. Then review what you learned and see if it's still there.

Also (I'm guessing you have the requirements already) start small. Find a requirement you know most about, study that. Then move to one you know less about and study round that. By the time you get to the real deep learning you will be feeling a lot more confident in your own ability to learn.

Finally, do not be afraid to ask colleagues etc for help in explaining anything. I would much rather spend 3/4 hours at the start of a project explaining concepts than fixing errors later.

share|improve this answer
1  
+1 If you have requirements, I'd defo go for trying things out and organically growing your system/ app. –  wmorrison365 Jan 24 '12 at 10:20
1  
I really like your answer , and will do the self-rewarding after doing something fairly big- Thank You So Much! –  Adel Jan 24 '12 at 23:02
add comment

It's the same whenever you start working for a new company. You need to learn their ways of working and their systems. I think a small overview with a tech bod and some reading around the various systems and their interfaces. Then, ask for some bugs to look at. Fix them and get some more. No better way to get to know the system from the inside (and the technologies the system is built with).

Naturally, to fix the issue, you need an overview so will review javadoc, docs, wikis in the area and talk to related people (product owner, arch, dev). Do this 50/50 with general systems reviews. Stops you going stale (and procrastinating).

Now, not only are you learning but you're contributing and getting involved with team players at all levels (without being a hindrance). Remember though, you can't run before you can walk.

share|improve this answer
    
Excellent points, Thank You So Much! –  Adel Jan 24 '12 at 23:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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