I’m through with my second year of college and the final, dreadful period is fast approaching. With it comes the frantic fussing around the topic of the Bachelor’s thesis.
I’m currently planning to build a task management system for my company. The one currently in use (built in-house several years ago) is a hopeless mess in terms of documentation, maintainability, reliability and ease of use and needs to be redone. I’m fairly confident of the scope and difficulty of the project and it seems to be a sure bet. The trouble? Is it cool to play it safe?
Task management systems have been done. Over and over and over. There are open source ones, paid ones, lightweight ones and highly specialized ones. It would appear there is no need for another, similar system. Don’t reinvent the wheel, is an old and justified saying of the developers. Almost everything one would need is already out there, the only obstacle is adjusting in-house processes to suit whichever off-the-shelf system is chosen.
Well, but what about doing our own thing? What if we don’t want to adjust our processes and insist in using software that would support our way of doing things 100%? This is the biggest advantage of a custom built issue tracker: the project is built for solving the needs of the company, without rearranging existing practices. Of course, the downside is that we’re stuck with our own creation until the end in terms of maintenance.
But wait… we could minimize the work going into maintenance by making the project open-source, couldn’t we? What if other people started using our code as well and would provide features, fixes and updates to our code, for free? It’s an idealistic dream, but it could happen. If the project is built well enough, with broader audience in mind. Of course, we’d lose some of the main advantage of building our own system in the first place since now we’d have to think of other people too… And we’d have to provide support in some capacity to problems that don’t concern the company and don’t bring in money. Or we could charge for formal support while letting the community do most of the work.
Yes, this could work. I could create a issue/project/task tracker for companies like us, maybe narrowing the market for just Estonia. The project would be open-source, with the initial development done by myself for the thesis and further development happening either by the community or when the company is willing to invest in some areas of the project.
I currently see only two problems with this plan, neither of them being fatal to the thesis: the project wouldn’t bring anything revolutionary to the world since applications like this already exist (although with a somewhat different focus) and open-sourcing it (while necessary) would lose some of the freedom gained from starting our own project.
However, as a thesis for showcasing the skills of a student…
That’ll do, pig. That’ll do.