Welcome to the world of Kraken!

To be frank I’m not quite sure exactly where I got the name from but I liked the sound of it and the concept of summoning a leviathan from the deep..

I have been a software developer for the last 10 years or so and currently work with Microsoft technologies such as C#, Silverlight and ASP.NET MVC. I like working on personal development projects  and have decided to start a new project to develop some office management software. In a first for me, however, I intend to document the process and make it available to anyone who is interested. I’m sure I’ll encounter a whole range of challenges along the way and will do my best to document this in as useful a format as I can.

I am embarking upon this project for a number of reasons:

1. I like to have something to do in the evenings and on the train to and from work
2. I am very keen to get involved in some of the newer web technologies
3. I want to have a product in use by people which I think would be a great feeling

What is this Kraken nonsense?

Kraken is the name I have given to the office management system I am developing. One of the things that has surprised me over the last few years is the lack of office co-ordination I have encountered. By office co-ordination I mean:

1. The ability for employees to communicate with one another affectively
2. The ability for employees to access company organisational charts and to put ‘names to faces’ and roles in larger organisations
3. A centralised tool for recording holidays / stationery requests / help-desk queries etc
4. A centralised personnel system to track objectives, performance, reviews etc
5. Notice boards, company and departmental news postings , social club information, lost and found notices, company-wide classified advertisements etc

I’m sure there are hundreds of other ideas that could be added to this list and I’m sure that many of these will evolve and be added to the list with time.

I intend to approach the project using a ‘hybrid’ agile system. I will have written specifications and will not even know the scope of the project. I know what I am trying to achieve but not the exact system end-point. I have at least determined the first few tasks I am going to tackle:

1. System architecture plan
2. A bare bones system that is capable of supporting a range of business functions
3. The ability to create and manage users
4. The ability to authenticate against the system
5. An office communication tool to enable users to talk to one another

Once these initial tasks are complete I will in essence have a sophisticated  chat application running on a scalable and resilient framework. I’m hoping that by this time I will know what I want to implement next in order to keep the application moving in the right direction.

Manpower Issues & Cutting Corners!

Obviously as I am working on the application on my own in my spare time I will have a limited amount of resources. I am hoping that the lack of manpower will be somewhat offset by my ability to make all decisions on the fly without having to defer to a higher authority.

In order to progress at a fairly rapid rate, however, I am going to allow myself to cut some corners and to focus on delivering functionality (which is oft forgotten about in my experience).

So if I once in a while upset you purist developers, go easy on me and remember that software development is simply a tool to facilitate business and money-making and not an art form…