I am working as software developer and struggling with this problem time and time again for almost thirteen years. There seems not to be any way out of the following problem.
And it happens with small projects as well.
For example, I plan to write an extension for Microsoft Visual Studio. I dowload learning materials, get some book on the topic and allocate time for learning and development.
However, during the development, many seemingly trivial problems arise, for example:
- Why the script refuses to delete the file?
- Why Visual Studio does not register the extension?
- (after two days) OK, it registers it, but now it got broken. How to fix it?
each of these "small" obstacles usually take 1-5 days to resolve and the project finally consumes several times more man-hours than planned.
Maybe it happens only because I am working on Microsoft platform and many of their Frameworks and architectures are bit confusing and badly documented.
I would like to have most problems resolved by finding answer in a book or official documentation (MSDN), but the only answer I usually find is on some weird forum or personal blog googled after desperately searching for any relevant information on the topic.
Do you have the same struggles? Do you have techniques on how to prevent these problems?
I was thinking of simply multiplying projected time for a given project by some factor, but this does not help. Some projects get done briskly and some take months and the guiding factor here are these small "glitches" which take programmers whole weeks to resolve.
I have to admit that lots of these obstacles demoralizes me and drains me of focus and joy of work (who likes to get back to work when he have to resolve some stupid registry problem or weird framework bug instead of doing creative work?)
After the project is finally done, I am feeling like dying from thousand cuts.