Macto is a prison management system. To be rather more exact, it is an incarceration management system. Managing a prison is a very complex process (did you ever think about who takes the trash out? Or how to handle things like watch rotations?).
I am getting ahead of myself, however. The first thing that we have to do when we start designing a system is check:
- What is the scope of the system?
- What is the intended usage?
- Who are the users?
- What other systems are we going to interface with?
Those are the basics, because in a lot of projects, they don’t get asked.
Running a prison is a complex task, I already said. If we wanted a single piece of software to do it all, we would have to do a lot of stuff that we don’t really need. For example, are we going to write our own payroll system for the prison’s stuff? Our own medical software to manage the infirmary? What about managing the inventories in the prison (how many prison uniforms and tear gas canisters we have)? What about the maintenance software for the fleet of vehicles required to run even a small prison? Or how about… but I think that you get my drift.
There are a lot of aspects where it would be significantly better to get an of the shelve solution rather than try to write our own version of that. We need to be focused where we would provide actual utility to our customer.
That is what I said that we are going to build incarceration system, not a prison management system. Macto is all about managing the aspects of a prison that are different than those of any other business.
You can read about Macto in my initial post about it, here, since it put the context of the system in a nice perspective.
I am not sure if there will be code available, but I am going to outline my thinking here, and I think that this would be valuable in itself.
Macto is going to be about managing the aspects of a prison that you can’t get off the shelve. In order to do that in a way that would make sense to you, I need to first explain what we are going to be doing.
Like any good architect, I’ll be doing that by starting with the model, which is also the cue for the next post.