Saturday, October 25, 2008

Organically grown software

I've come up with a pretty good idea (at work) and I have been working on it on-and-off since March '07 now. I'm going to chronicle my experince here for mostly my own amusement. 

The timeline for the project is something like:
  • September'07 - faced with a problem I decided to come up with a generic solution that a few of my coworkers can use
  • October '07 - Priorities/focus shift and the problem I am faced with is no longer urgent. I put this on the back-burner and drift off to several other side projects
  • Oct'07  - March '08 - a few code contributions here and there. The project is overengineered to the point where the focus is kind of lost
  • Febuary '08 - talks with another co-worker from a different group spark some interest and I do a 30 minute presentation for about 15people from 3 different offices
  • after the presentation I realize exactly that this project is way to ambitious and over-engineered to be feasable, useable and stable so spent some time ripping out bad features
  • March '08 - I hold an office-wide naming contest to come up with a name for what I'm doing
  • July '08 - more refactoring, test cases, and narrowing of focus
  • August '08 - the problem from Sept '07 comes back into focus but is assigned to an employee on my team. Since I am able to dictate the terms of the project, my side-project comes into play
  • August '08 - Another employee is confronted with the same problem and succumbs to using my work as well
  • October '08 - I woo yet another potential user
My immediate goals are these
  • release into production a working version as soon as possible 
  • leverage the oodles of existing code that others have written for similar tasks
  • elicit as much feed back as possible
  • advertize the product - entice more users
  • keep the design flexilbe and robust

No comments: