Productivity – This Week’s(?) Agenda
- 1
- Add a Comment
It’s probably not a good sign when your productivity post is 4 days late, is it? Oops.
Alright, as I mentioned in my post last week about affiliate marketing and productivity, I’m going to start blogging about producitity and affiliate marketing. I had four major projects I wanted to accomplish last week. The first one, a purchase order/inventory management system for a client, managed to consume all of last week and the first bit of this week. It took signficiantly longer than I expected or had budgeted. I’ve been trying to figure out why so that I can hopefully learn from my mistakes, and it comes down to the same problems that tend to destroy the schedules of most IT projects, I think.
Schedule Destroyers
- Poorly defined specs/requirements/expectations. I thought I had a fairly complete set of specifications, but those went out the window after the first time I showed the client a demo of one of the functions of the system. The project then degraded into a cycle of coding a few features, showing it to the client, realizing it wasn’t what the client wanted, then redoing those features. This led to a lot of lost time and wasted effort.
- Developer gold-plating. This is a concept that my senior design professor drilled into us; it basically means that developers are facintated by shiny new things and tend to be anxious to try out fancy new features/concepts that they’ve learned or seen on other, similar projects. These features, which aren’t project requirements (and consist, instead, of ‘gold plating’ the project beyond its requirements) simply delay the completion of the project without contributing to the basic functionality of the product/service/site. Yeah, I added animation and a few other AJAX tricks to a purchase order system. It wasn’t required, but it looked cool!
- Interruptions. I’ve always known that I work better uninterrupted, but I really noticed it last week – if I can sit down and code for 6+ hours, I can get quite a bit done. However, if I sit down 6 times during the day for 1 hour at a time, even though I work the same amount of time, I accomplish much, much less. I had a couple of days last week where I was able to work on this project all day long and I made great progress on those days. The rest of the week, however, I found my time so fragmented and interrupted, I felt like I accomplished nothing.
Here’s what I’m going to do this week to try to combat these three things…
- I’m looking into Agile development for larger projects that involve clients/stakeholders – specifically, RallyDev (http://www.rallydev.com/) has a free version of their project management process that I’m evaluating. It ties into Aptana/Eclipse, the development platform I use for most of my projects and I’m hoping it will help reduce the time I spend redoing effort and help me produce complete, working milestones as I progress through a project.
- The same senior design professor that taught us about developer gold-plating also drilled the mantra “acceptable, not perfect”. Meaning that we should produce code that meets requirements, not code that we think looks or behaves perfectly. I think this comes in part from better defined expectations, requirements and specifications – if you know exactly what you need to code, it’s easier to force yourself to stick to those requirements. When there’s some doubt over the requirements and if they’ll actually be acceptable to the client/end-user, it’s easier to convince yourself to spend the time developing extraneous features.
- Interruptions are hard to control. I’m doing what I can to setup my schedule so that I can complete all my errands and other similar tasks first thing in the day and then work uninterrupted as long as possible. To help cut down on external interruptions from clients, I’ve setup a bug tracking system and asked them to enter bugs/feature requests/etc. into that system instead of calling me or emailing me. Also, one of my biggest sources of interruptions is myself – I’ll have an idea for a new website, a new niche or an enhancement to an existing program I’ve developed and I’ll want to stop whatever I’m doing and start working on that…until I have another un-related idea! To help cut down on those interruptions, I’ve setup a section in my bug tracking system to make notes about new project ideas, etc., and I handle them like any other bug report. I use the free edition of Jira (http://www.atlassian.com/software/jira/personal.jsp) for bug tracking, which ties into Aptana/Eclipse via the Mylyn plug-in, so all the bug reports are automatically pulled into my development environment and prioritized for me. I can even use Mylyn to track exactly how much time I spend on each project/tasks, so I can generate reports and see, for instance, that I was able to spend the most time working on this project this past Sunday, and that while I spent overĀ 7 hours actively using my work computer yesterday, none of that time was spent on any specific task that I’ve logged (oops).
So, for this week (err, next few days – I think I’ll post my next update on Wednesday, so that it’s roughly a week) I hope to complete:
- NeglectedOffers.com – I’ve decided to drop the requirement that users register before they can use the search feature or rate offers, and based on some feedback I’ve gotten, I’m completely reworking the way the rating and commenting systems work, to make it much easier and quicker for affiliates to leave comments and ratings for affiliate offers and affiliate networks.
- The site I mentioned last week that I’m launching in a new niche. I hope to be able to finish a basic version of this site fairly quickly and just wait and see if it gets any traffic before I put significant work into it. It’s hard to resist that urge to tweak and refine before launching, though!
And I plan to work on:
- The same Twitter project I mentioned last week. I want to develop some concrete milestones, deliverables and requirements for each phase of this project, otherwise I could see myself working on it for years before I release it.
- My first iPhone app. This is dependent on getting my iPhone app development system setup, which I’ve been having a lot of trouble with. This is going to be an app that affiliate marketers will find useful, so stay tuned!
So that’s it for this week. I’m also trying to get my workspace more organized – my new desk will hopefully be arriving tomorrow, as I’ve just been using a folding table ever since I setup shop in my current office back in May. I’m hoping to spend some time organizing my work area tomorrow so that I can eliminate more sources of distractions/interruptions and allow myself to focus better while I work.
What areas do you struggle with the most while trying to be a productive affiliate marketer?