Too much for one man???

Started by c04203420 November 10, 2005
After embarking upon my project it seems im on a never ending learning
curve.

Firstly I got my usb-serial adapter to work fine under linux.
Then i got Windows running in a virtual machine to do development.
(This is fine except i have to keep unplugging the usb and unloading
the apprpriate module for testing within linux.
Then I got the Java comm api working. I tried to use the open source
rxtx comm api to no avail.However the source code helps my
understanding of things better. Even though it is massive!!!)
Now im in the process of Learning swing to get my application realised
in a graphical manner. I'll also have to learn to thread under Java.
Another complex subject it its own right.

Where does it end? Im totally frustrated. Someone reasure me that they
have been through the same and come out on a winner.

Im burning up here. Stressing out. Oh did i mention i had to learn
electronics from scratch too. Im about four months in now and i feel
that im getting no where.



> ... Someone reasure me that they have been through the same and come
out on a winner.

I do not believe I have ever encountered anyone who has assumed such a
large technical burden just to grow weed. With current laws largely
leaning against such an endeavor, I doubt you will ultimately win
anything - but you will learn a very great deal if you pay attention. Tom



Actually the weed is secondary. It always has been. My true interests
lie in the technical side. Besides. Growing herb is simple and if that
was the case then surely i would buy an off the shelf commercial piece
of kit that does the full monty.

My time expended learning all this stuff far exceeds the cost of even
the best commercial offerings in terms of hardware/sofware.




> After embarking upon my project it seems I'm on a never ending
learning curve... [] I'm totally frustrated. ... Stressing out.

Sorry, Marc, your question remains unanswered. If I understand you
correctly, I believe you are frustrated because you've adopted a
complex and difficult beginner's project.

It is, I think, exceptionally ambitious of you to choose to learn all
the skills that you've discovered you'll need to complete this task,
in the absense of a mentor and lacking any of those necessary skills
at the outset, save ambition. And you're trying to do that in the
face of impatience. It takes some time to learn any one of the ten or
so disciplines that you'll need; it takes more time to learn them all.
It takes time.

It seems to me that you have chosen to abuse yourself. Maybe you
should chill a little and step back. Divide the task. Set some lower
interim goals. Fragment the work and lessons into manageable and
achivable modules, then integrate them. Maybe that would allow you to
see the end without being overwhelmed with so many new and difficult
simultaneous tasks in the way. Slow down.

How many musical instruments do you play? Tom


BTW, each of us - I'll bet - is an optimist when we estimate how long
some task will take. I _always_ underestimate; there is some science
to that, apparently, so it can be quantified. On average, over many
years, I have learned that my estimate correction factor is about 2.5.
That is, it will probably take two and a half times whatever I
initially think it will take. Success, for me, is usually overdue.

I have learned to not be anxious - and to not always demand that I
will deliver to myself as quickly as I believe I should. If I did,
I'd be frustrated and stressed out, too. Tom


Tom,

> BTW, each of us - I'll bet - is an optimist when we estimate how long
> some task will take. I _always_ underestimate; there is some science
> to that, apparently, so it can be quantified. On average, over many
> years, I have learned that my estimate correction factor is about 2.5.
> That is, it will probably take two and a half times whatever I
> initially think it will take. Success, for me, is usually overdue.
>
> I have learned to not be anxious - and to not always demand that I
> will deliver to myself as quickly as I believe I should. If I did,
> I'd be frustrated and stressed out, too.

Well-said Tom.

It is human nature to be overly optimistic about one's own capabilities.
I believe when it comes to any endeavor people usually under-estimate
the effort but nevertheless work extra hard to make it happen.

As a software engineer I have led many projects over the years and
programmers do underestimate. The factor is anything from 2 to 10. Once
you know this, you can plan more effectively. So here are some techniques:

1. Break up the task into smaller pieces and estimate each smaller
piece. Sum all the estimates and I guarantee that it will be bigger than
the original estimate for the larger task. Repeat until the task size is
manageable and well-understood.

2. Sometimes you don't know how to do something. In this case prototype
and learn from the prototype. Set clear goals for the prototype and
time-box the effort meaning don't let it take over. Stop and assess and
then replan. Deming calls this the PDSA (plan, do, study ,act,) cycle
(http://www.12manage.com/methods_demingcycle.html) and does not have to
just be applied to quality improvement.

3. As Tom says learn from your previous experience and try to better
plan and estimate work - your own work and other people's work. By the
way a schedule is not the same as an estimate. If I estimate something
as 1 day, it might actually take me a week to finish it because I'm only
working on it a few hours each day over that period of a week.

4. Reduce project risk by not introducing too many new technologies and
techniques over what you already know. Only introduce one or two things.
Get familiar with them and then move on.

5. Simplify, simplify, simplify. A complex design is usually a poor
design, especially in software. Find other ways to do something and you
will usually find that someone else has already done what you are trying
to do.

Mike


> As a software engineer I have led many projects over the years and
> programmers do underestimate. The factor is anything from 2 to 10.

The rule of thumb: multiply your estimate by two and take the value of
the next higher range, i.e if your estimate is one hour then plan for
two days :)