A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.
We're closed, folks!
Doug Nebeker ("Doug")
I am a 1-man shop and I'm finding it hard to get work done as I wear all the hats. (Please don't suggest outsourcing - I don't have the money, time or patience to train someone else to do something I can do better, faster, myself.)
I'm looking for other 1-person shops to share their methods of planning / scheduling work and getting it done.
Here is what I've been trying, with limited success:
I work in iterations (do a little bit of work, determine what needs to be done next, repeat).
I made a weekly work tasks chart where I have the days I'm available to work, broken into 1/2 hour "slots". (When I've tried to plan anything past 1 week it always falls apart due to slippage, emergencies, etc.) I mark my scheduled appointments with clients and other times when I'm not available to programming work (such as sales calls).
I determine what need to be done, and break it up into "tasks".
I estimate the time it would take to do the task. (The estimates have proved to be very poor - they are based on best guesses and no record of past history - who has time to write down and go back and evaluate to build a repository of common task times? I certainly don't. There is no cash flow in that time investment.)
I reserve the next available time slots on the weekly schedule for the task, and repeat until my week is finished. I reserve 1 hour each at the beginning and end of the day for slippage to account for overruns.
I'm trying to get work done to achieve goals, deadlines, milestones, etc. I'm modeling this after other common service industries I've observed (as an outsider), such as auto repair shops, etc.
The problem lies in many areas:
1. Not being able to stop when the allocated task is set to end, and the next task is scheduled to begin. Maybe this is a curse of work that requires creativity, and once I get going I don't want to stop, because it feels sooo close to finishing it, if only I could add this little code snippet to make this happen, etc.
Now this may happen because the task is taking longer than estimated. It may be happening because of scope creep. The bottom line is it's happening, and it's reality. So how do I deal with it? How have you dealt with it?
2. Not being able to motivate myself to start something when I'm supposed to. Joel alluded to his once when he said some days he can't get anything done. This is caused by associating too much pain to doing the task, rather than putting it off (Anthony Robbins anyone?).
3. Allowing interruptions, whimsy, new ideas, destructive thoughts, and other distracters from wrecking havoc with the best-laid plans.
Most Friday nights are spent with a bottle, bemoaning the "failure to stay on track", despite my best intentions. I'll have to ask my accountant is I can write off beer as a medical expense. I fear I'm micro-managing myself, but I can't think of any other way to plan work and get it done.
So I'm all ears. Please share with me your techniques for getting past these roadblocks. Thank you.
Steve cries in his beer
Thursday, September 23, 2004
Part of the problem is noise in the tasks and their relative importance. When you have more than about four or five tasks that need to get done, each with their own tree of dependancies and consequences you become mired in indecision.
I've had that this week, two days of skittering around the outside of things rather than actually getting things done. Monday I got quite a lot done and moved a number of pieces around and was generally happy.
Tuesday and Wednesday was a mire of understanding why somethings didn't work and yet sometimes did and the gumption drain that was from getting things done.
Today I broke that logjam and did some entirely new features that were very simple because they were joining the dots put down as markers in the design and so I feel good about this particular corpus of code again.
Having the gumption to ignore most of what you have to do in order to do what you can do is hard. Hard because the choice itself often seems vague and fuzzy. The truth is, it doesn't matter which you choose, the deciding is the break through.
Then when you have that feeling of satisfaction, you're better able to move onto the 'next' task.
Thursday, September 23, 2004
Boy oh Boy do I feel your pain!
1. Send me an email and I will beta you MasterList Professional (sorry just Steve - I need customers sometime soon! - more info can be found at www.safarisoftware.com/mlp.htm )
2. You need to reboot the whole idea of time management. It is a 19th century theory (like vapors) that does not work anywhere but inside a production line. You CANNOT manage time: you get 1,440 minutes a day, not one more or less, like everybody else on this planet. Talking about time management makes as little sense as talking about gravity management - and bemoaning that it keeps pulling you down.
3. You need to: assign a level of importance to each task, keep tasks of a size so you can estimate them reasonablely, stop trying to pack 15 hours into a 10 hour day, keep all your tasks in a way so you can shift prioriteis and plans on a dime, minimize the time you spend on task management so that the more you do, the less of your time is spend on this overhead. (I'd like to think MasterList Professional does the above, but regardless, these are the things you need to do).
Regards & Hang in there!
Thursday, September 23, 2004
Nice site, Bob. One minor issue I found (not to hi-jack this thread), in this link http://www.safarisoftware.com/MLPScreen1.htm all the links to the other screen shots are gone.
For Steve, there has been a lot of talk lately on this forum about a book called Getting Things Done by David Allen. I have been reading this book for about 4 months (can't seem to get all the way through it) and it has some pretty good advice. The main thing that the book tries to do is propose a system that you can trust and follow that will allow you to focus all your mental energy on *only* the thing you are currently working on. No wasted mental energy spent on thinking about that credit card bill that is due in 2 days or the dry cleaning you still have to pick up or whatever. This might be a little bit different from your problem however.
The way I understand it your problem is that you are trying to put tasks into time slots that are frequently too small for those tasks. If this is the case perhaps you need to take a look at how you are estimating the time required to do some tasks. Also, you mention that while doing task A you find that you come up with task W and also start working on that. The Getting Things Done book has a method for capturing task W that you can do at a later date (and make sure it actually gets done) without totally side-tracking task A...
I use a product called Taskline ( http://www.taskline.info/ ) to schedule tasks. If a task is too large to accurately scope (within an hour or so), I break it down into smaller tasks. If work gives rise to new tasks, I quickly enter them with enough detail that I can remember them accurately later, but I don't work on them. At least once a day I let Taskline re-optimize my schedule.
Thursday, September 23, 2004
I have a simple system:
1 item can be #1 priority
2 itemst can be #2 priority
3 itemst can be #3 priority
Then I use dotproject ( http://www.dotproject.net - to which I am a contributor) to track all my time. On a given task, you hit the "Start" button and then the "Stop" button and it handles counting the minutes. I seem to be much more focused when I know the clock is ticking.
And I don't hit the forums as often...
Ian, I thought of that when I was writing it. :) I got through the first part of the book that explains the whole system pretty quickly but the second part of the book explains implementing the system and that is taking me longer to get through. Almost like that book on procrastination that I haven't started reading yet. :)
when I read your post, I immediately thought about a boss that I had who would try to motivate by setting tight deadlines. The idea of this management "technique" is that the employee feels bad since they're always running late on the deadlines, which causes them to work harder. As with all negative feedback, it'll only work for a while. You seem to be doing this to yourself!
The way I am getting around this trap (and I'm not always succeeding!) is to first sit back and let it all go. Relax. Then I pick one of my high-priority tasks more or less at random and focus on that pushing _everything_ else aside. I will work on that task until I am either done or stuck. That's all you really can do - focus and work. I have stopped making detailed schedules, I just focus on knocking points off my todo-list. So rather than having the sinking feeling of "it took me 3 hours longer to code xyz" I get the positive feeling "I am DONE with this nasty issue".
Just my 2 cents
About your inability to stop: I've heard of folks who set an egg timer. When the egg timer goes off, they force themselves to get up from the computer, take a short break (just long enough to break their concentration), and then review their workload and decide what to work on next.
I think you should re-evaluate your workload at the end of every task. You may need to be much more flexible there. Feel free to re-prioritize things on a daily or hourly basis if the situation warrants it.
Here's something that's motivated me strongly lately: I wrote down my career goals (100% Productive, 7 hours a day, on multiple prjoects) on an index card. I then made several copies of that card and pasted them up around my work environment. Every day, I read those cards again and remind myself of what I want to do.
It looks to me like you are letting your plans control you. I think you might need to concentrate more on the work to be done at any given moment.
Brent P. Newhall
Thursday, September 23, 2004
I have the same problem.
I read the Getting Things Done book by David Allen and listened to the Getting Things Done audio tape by Ed Bliss, and also tried a dozen of software programs.
The book and the audio tape helped a lot. The software didn't help so much.
I think that YOU need to learn how to manage your time, and if YOU don't know how or can't do it, then no software can do it for you or guide you to do it correctly. Also, I don't think there is a "one size fits all" solution, because the work loads of different individuals are, well, different.
I learned how to manage my time by trying different systems, and really trying to make them work. I suggest you to do the same.
My personal time management system consists of these principles:
1. You must really know what is important. If you have 50 tasks on your TO-DO list, you are screwed! Keep a short to-do list containing only a few most important tasks. The to-do list must be kept on paper.
If I go out of the office, I take my paper notebook with me, or I write the tasks into my Nokia 6820 mobile phone.
I consider that knowing what is important is the key point of time management. If you don't know this, forget about reading books or buying a palm organizer.
Just sit down and think what goals are important to you. You must have a maximum of 2 or 3 major goals. And then, for each goal, write down the most important 3 actions you must perform.
With practice, you won't have to spend a lot of time on finding the most important actions.
Keep a list of things you want to do today, and a list of things you want to do this week. The key, however, is to know what to write in the list - to know the most important 3 things.
2. There always are some tasks which are not very important, but which need to be done (such as: pay the bills), and need to be done on time. For these tasks, it is best to use a reminder device you always carry with you. I use my Nokia 6820 mobile phone. I didn't get a palm because I find it hard to carry it around all the time.
3. From time to time I suggest you to take one of your TO-DO lists, and estimate the number of hours each item will take. For every item write down, at the end of the item, the number of hours.
After you perform each task, write down how many hours it really took.
I don't suggest you to do this all the time. Do it only from time to time.
If you do this, you will have some big advantages:
- You'll find out if your TO-DO list is realistic or not. The first time I did this, I found that my TO-DO list for that week could really be accomplished in 1.5 months!
- You'll learn to estimate better how many hours each task has.
- Your next TO-DO lists will be more realistic, you will be more selective about what you write on them.
- You will know how much you can realistically accomplish. This is WAY better than beliving you can rewrite MS Word in 2 weeks. :-)
4. Find your productivity blocks and break them.
For example, I used to read Slashdot a lot before starting work.
The solution to a problem such as this is not putting Slashdot in your hosts file. If you do that, you'll just find another site on which to waste time.
The solution is to break the pattern. If you find that you read Slashdot more than 10 minutes, get up, walk a little. You have already broken the pattern. Close the browser, start working. :-)
Thanks to all who've replied to this topic. Unfortunately the perfectionsit in me hasn't found what I was looking for. You see, I've tried the Franklin Planners, assigning priorities, the getting it done book, the softwares, and nothing sticks with me personally.
Those are simply tools. But without the skill to operate the tool, it is a cumbersome impediment. It's faster for me to write down my tasks on paper. I don't need to impress anyone with fancy gantt charts, I need to deliver a product.
I think my main problems is profitibility. I'm my own hard driving boss demanding excellence in production, efficiency, and quality. I find it hard to relax because I have to run so fast to keep in front of the train called burn rate. If I'm not generating cash every billable minute, I won't survive. Ive tried raising my rates, and I loose clients. I must not be that good, or my marketplace is so economically depressed that I can't get ahead. I look to develop a cash generating machine called shrink wrapped software, but I have to do daily work to bring in cash. I reason that if I spend 6 hours on daily work to generate cash, I can allocate 6 hours to the cash cow project. I sweat the limited hours I have to work with, and panic if I'm not making progress. I have deadlines to get things done by, because if I don't everything will slip and I'll never get out of this hole.
But my deadlines slip because of bad estimates, and not having the time to plan every task needed to arrive at an ending date for the project, everything takes longer than expected. I'm afraid if I had investors they'd scream at my inefficiencies and pull their funding. Maybe I'm my own worst enemy, imagining the worst case scenario. Chalk it up to bad experiences working for madmen under VC pressure. So in other words, I have to squeeze 15 hours innto 10 hours. The alternative is failure.
I've tried the egg timer method and it drove me crazy. I'm working, the juices are flowing, I'm 70% done with this task, but the timer goes off. I'm supposed to stop and do something else that has been scheduled, but I know how much more time it takes to get back on track after you've stopped to do something else, so I'm tempted to continue to finish this task before moving on, but that throws off the entire planned schedule. Then I feel like I'll never make it, depression sets in, and the next set of tasks get delayed while I try to pull myself up by my bootstraps.
I think that if I gave myself a buffer zone after a code intesive task, it would allow me an overrun time to finish the task, without the pressure from the next task The trick will be to "fool" myself into thinking I don't have a buffer zone, because that buffer zone will be used up and then next task will be delayed again...
The real prize is to deliver software product by X date. That's why my idea to put tasks in finite time boxes and line them up end to end until they reach a finish date. Otherwise my promised income is constantly delayed. I tried working for the sake of getting things done, but that did not result in meeting a deadline schedule. Things got done, but things slipped.
Sorry if I am rambling in circles or sound like a hopeless Bush. Blame it on the EOF beer.
Steve thanks you, please may I have some more advice
Thursday, September 23, 2004
Man, I would be stressed too.
- Are you in danger of burning out?
- Have you taken on more work than is possible?
- It sounds like there is no Plan B. That will cause additional stress. You are not stupid and can probably sense the impending doom. Your brain is there for a reason, listen to it :-)
- If you want cashflow, are you willing to sacrifice your perfectionist tendencies. Something like... keep a list of things you will do 'right' later, after product launch
Steve, try and relax and accept the current situation. Take the long perspective, are you going to work and drink yourself to death buy continuing like this?
I think you have the basics right, work 6 hours to make money to live on, work 6 hours on you new thingy. Perhaps you should rebalance that to 8/3. Yes, work a little bit lesser. You might need the rest.
Realize that it will take longer to make the new thingy, it will be done when it is done. Meantime, you will earn more money and working less. This will go one for a much longer period that perhaps you hoped for, but you might feel better and not be so stressed out. And you might not end every friday with a bottle in you hand. Not that is is anything wrong with taking a beer, as long as it is not 8 every friday, and saturday and then some on sunday too.... ;)
On the organizing thing, I start everyday by making a new todo list. List my current project and other responsibilities I have and then I start of with the one that is most important. Then I continue to the next one. I never assign my project any number or something like that. I jsut write them down as I remember them and start to pick them of.
Friday, September 24, 2004
I'm in the same boat - contracting while trying to finish a commercial app. There is no two ways about it: it is momumentally hard.
BUT! It WILL be worth it.
A piece of advice from Mitch and Murray elsewhere here that is worth heeding: the keys to success in the software business are:
-Under promise and over deliver,
-Focus and execute.
If you think about the implications of these two points, you will realize the first takes care of most of your scheduling difficulties, the second will help you get that app out the door.
And send me your email so I can beta you - MLP may make your life easier.
Friday, September 24, 2004
Thanks for the heads up - if you want to test the beta, let me know.
Friday, September 24, 2004
I'm in a similar situation but Monday week no more! Full time developer coming on board. Hurrah.
Biggest problem I have with having to wear so many hats is that I can't separate the responsibilities out enough.
Let's say I'm trying to do a bit of marketing... I get to a point and think "hmmm, it would be nice if the system did this" so I then think about this (sidetracked), the fact that it doesn't already do it irritates me (demotivation) and I really can't keep focussed on the job in hand.
If the marketing guy was different from the developer it'd be easy. The marketing guy does what he can with what he's got. He may pass notes back to the developer but he just does the best he can without being either sidetracked or demoralised. The developer is happy that someone else is doing the marketing so he can concentrate on the development.
Throw testing and finance into the mix too and it just becomes really hard...
Steve, I think the important thing is not to feel guilty. The simple fact is that, when you're doing everything, you do have a lot of tasks.
You need to accept that some will drop away, and you need to make sure those won't be the important tasks. It's a common problem for new consultants that they start doing all the irrelevant little jobs and ignoring the important ones.
I write out what the important jobs are and steadily work through them. If they take longer than expected, too bad. I also have lists of other things that need doing, and might take weeks to get around to those less important tasks.
In terms of billing your work, it's a good idea to charge by time, unless you're doing simple repeatable work.
Saturday, September 25, 2004
Steve, you've raised several issues and it's difficult to untangle them. Nor have I finished sorting out my own thoughts. But here are a few suggestions:
- Simplify mercilessly. You'll be surprised at all of the "necessities" that you don't need. Take a hard look at every little thing you do each day and assemble a "To Don't" list. Every service that you cancel is one less bill to process each month. Every item that you discard is one less item to dust/maintain/organize/store. Every beer you buy is one more bottle that you are obligated to haul to the recycling bin. Do not define yourself or your feelings by the things you stop doing. Nor is it about money. Just stop doing them. Let them go because you recognize they aren't beneficial.
- Planning and predicting are lofty ideals, but they're overrated in practice. Let it go, for now. It will take as long as it takes. At the outset, you usually don't even know what is to be done or how. Planning/scheduling is largely a red herring. Plan only to the extent that it is required to understand/solve the problem. Don't schedule hours. Prioritize and tackle things in order of priority. Clients always want it done yesterday. Maybe they should have started the process sooner! Their problem. If you confidently tell them 1 month they'll adjust and be happier than if you tell them maybe-probably 2 weeks. Don't let your earnest desire to help cause you to become ensnared in their problems.
- Don't take this the wrong way (we've ALL got issues) but it sounds like you're losing the head game. Focus on managing your health/energy/sanity rather than your time. If I don't manage my health properly, I become anxious and neurotic. When I do take care of my health, it leaves me feeling calm and alert -- the air is sweeter; food tastes better -- even in the face of Problems.
- You may have attached unhelpfully-strong feelings to certain potential outcomes. I'm not going to go all Zen on your @$$, but you may want to go back and re-examine your fundamental assumptions. If necessary, consult your elders, whether they be living or in good books.
p.s. Sorry, brevity continues to elude me.
Sunday, September 26, 2004
-- (Please don't suggest outsourcing - I don't have the money, time or patience to train someone else to do something I can do better, faster, myself.) --
I just wanted to address this assumption.
If you're operating at or beyond max capacity, and if you can truly offload something to another person, even if they take longer to complete the task and don't complete it as well as you can, so you can focus on the things only you can do, then take that trade every single time.
This is the basis of David Ricardo's theory of comparative advantage. http://www.systemics.com/docs/ricardo/david.html
The money issue, well, that's tougher. Sometimes, you have to con the wife into running things down to the bank/post office on her way to work, and making the kids do some UI testing after homework but before dinner. :-)
Monday, September 27, 2004
The step from one man band, to one man and an organgrinder isn't small. On the whole you will have to generate two and a half times the revenue to stand still. If that second person doesn't leap out the blocks right away you're personal revenue will drop and you'll feel like your working to pay his wages.
Don't assume the second person should be a developer, perhaps you'd really be better off with someone to organise you, an office manager who manages you, and the day to day with the clients leaving you without all but the most important distractions.
If that manager can be your wife even better.
Monday, September 27, 2004
Actually an "office manager who manages you" is the last thing you want. You're the guy who knows the business and should be making the decisions and getting the feedback. The biggest mistake a small business person can make is hiring someone who then thinks they're the manager. Soon they will be directing your work and you become effectively an employee of a pretty useless manager.
Wednesday, September 29, 2004
Are you married? If you are, ask your spouse for help in the non-technical matters. That's what I do.
Sunday, October 03, 2004
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz