Information Technology has become a part of day to day life in human civilization. Most of the complex work that we used to do with conventional methods, like paper logs, has been converted to digital electronic data and it has given us many advantages including rapid access, maximum efficiency, less usage of resources, easy distribution and improved productivity. Most of the industries are being digitized including government services, banks, shopping centers, air ports and even retail outlets to the point where they don’t need paper based systems anymore.
Once you digitalize your data, you will need software, to be more specific, an Information System to handle the data effectively. To cater the general requirement, there are various “off the shelf” software in the market. Microsoft Access is one of them which come as a proprietary version of software, means you have to purchase it. If you are looking for free and open source applications you can go for Open Office Base.
Custom Made Software – Nightmare or a Day-dream?
The above mentioned “Off the shelf” software will fit many businesses which are in initial stage. Once your business start growing to a certain level, you will be having more specific requirements. If you think that level has been reached, the next step is, custom made software, in other words specially designed software which cater exactly what you need.
In the time you were using “off the shelf” software, I’m pretty sure things went smoothly. That because those software are designed to fit in to most of the general requirements perfectly after doing a massive research. But of course, as your business grows your requirement become more specific and unique. That’s where you have to develop software for yourself. But the question is, “Will it run smoothly as previously used off the shelf software?”
The theoretical answer is YES, It has to be that way. It is software specially designed to cater the unique requirement of your own business. Off the shelf software is like a pant you bought from a fashion store, which is designed for everyone while Custom made software is like a pant you order and design for your own measurements by a local tailor.
But when it comes to Software in more than 70% of the cases answer is NO. But why? What will happen if your tailor gets inaccurate measurements before he designs the pants? Obviously it won’t fit you. Same as that, if the software developer didn’t identify what exactly your business is and what you really need, the software he is going to develop won’t fit in to your business. In real life, as I said before, in almost 70% of cases Software Developers are failing to take accurate measurement of your business, in other words Poor Requirement Analysis.
How to solve this problem?
Most of the medium and large scale industries are maintaining in house software professionals to accurately analyze the business requirement and develop software that they need. In the case of a large scale development, they can out source it with the supervision of an internal team. But how are you, a small scale entrepreneur going to solve this problem. Of course you are not in a financial position to hire in house software professionals. Solution is always DIY (Do it yourself)!
You can analyze your own business and document it by yourself. You will be the perfect person to analyze your requirement because no one else knows about your business like you do. But next question, “I’m not a techy person, Can I do this by myself?”
Answer is YES. Of course you won’t be able to come up with the final architectural design of your software. But you can easily carry out the basic requirement analysis process. NO rocket science, NO magic there. Take the analytical outcome of your business requirement and a few diagrams to a software developer, then he will do a classy job for you.
Software Modeling Tools
Before you start analyzing your business you will have to install some software in your PC. However, you can get the same thing done even without software. But if you use software, final document will be neater. I recommend Microsoft Visio 2010 for non technical people. (I mean normal people, not Geeks)
As the first step you must identify the flow of work in your business and draw a diagram. This will be called as a “Work Flow Diagram”. Once you draw this anyone would be able to identify how you run your business and you also will have a clear picture about that. To draw a workflow diagram you can go to Microsoft Visio -> File -> New -> Getting Started -> Business -> Work Flow Diagram.
Once you hit the create button, it will open an empty page with lots of items in left panel. You can see that, there you can find most of the common workflow objects. By drag and drop, you can add any item in to the page.
Once you have more items, you can connect them with arrows to represent the workflow. When you take your mouse over a workflow item, you can see four arrows around it. Using them you can auto connect them with surrounding items. If it won’t work, you can use ‘Connector Tool’ in the tool bar. Using that you can click on one item and drag the mouse to next item to connect them. Finally your workflow looks like this.
It’s always better to have a documented workflow for your business processes. It will help you to further optimize the operation and let the employees to know what to do next effectively. Further, when a new employee comes in to the business all you have to do is hand over this diagram to him to minimize the learning curve.
This diagram will be useful to the software developer to identify the business requirement, specially the data and flow of data. When he designs the interfaces, this will be helpful to include relevant items, to give relevant privileges and store appropriate data in database.
Use Case Diagram
After drawing the work flow diagram you will be very much clear about the business process. Using the diagram you can identify involving employees and relevant activities. After that you have to think what are the functionalities required by each employee who plays a role in the business process. In other words you have to jump in to his shoes and see what he needs to do to continue with the business process. In order to model that there is a diagram named “Use Case Diagram”. To draw use case diagram you can go to Microsoft Visio -> File -> New -> Getting Started -> Software and database -> UML Model Diagram.
Once you hit the create button it will open an empty page and tools in the left, same as before. In there you can see a subsection named “UML Use Case” and that’s what you need. Expand it. To come up with basic use case diagram you will require actors and use cases. Actors represent employees who play a specific role in your business process and use cases are his activities for the business process. Based on the previous business process I mentioned in this article, if I draw a use case diagram for the “Manufacturing Worker” it will turn out like this. The Use Case that I have mentioned here are totally hypothetical. As I said before you are the best person to identify functionalities in your business. When you draw this, do it carefully and accurately.
What is Next?
Since you draw the Work flow diagram, now you have a clear picture about the business process, involving employees and their activities. Then you draw the Use case diagram, hence you know what are the functionalities required by each employee who plays a role in your business process. Now you are ready go and meet an ICT professional.
Consult Software Development Company and talk with them based on these diagrams. These diagrams will give them a clear picture about, what is your business and what you really need. After doing a preliminary study they will give you a quotation. Take quotations from few companies and select the best service provider. Once you come to an agreement, they will identify required data to be stored in the database using Work Flow diagram and required functionalities using Use Case Diagram. However, the details in these diagrams won’t be adequate to produce the final software application. In order to collect further data, you should give your maximum support to software development team and finally, you will be able to get an effective custom made information system for your own business.