How to prepare for Custom Software DevelopmentCy Naumenko
At Spot Solutions, we make sure that your quality custom software is delivered on time and on budget. To achieve that, we have to build a productivity tool that tailors to your business needs. Here’s a guide to how you can help us achieve the business purpose of the software.
General Project Outline – Describe the project in general, what you are trying to do, what business problem you are trying to solve, and why this is important to your firm and your customers.
Scope – The most important thing to do is get a handle on the scope of the project.
• Users and Access
I. Who will use the system and how will they access it?
II. Is it just in-house users or clients as well?
III. Is the application run in-house and only available within the local intranet, or is it cloud based and available worldwide?
IV. How many users will access the system and how frequently?
V. How many user roles will there be (administrator, client, view-only, etc.)?
We must get an idea of the major sections of the application so we can better understand the number and complexity of the different screens. One way to do this is to think about the different objects involved in the business process. These objects may be: Parts, Clients, Transactions, etc. Each of these objects would have a small grouping of screens (search/results screen, view/edit screen, etc.).
You will probably need the system to generate a number of reports. Think through the different types of data that you need recorded and how that data will be used.
• Workflows and Notifications
What workflows must the system keep track of. An object like a part could move through different statuses as it progress through a workflow, and different users may need to work with the data at different points. So often there is a need to send notifications or provide other types of interfaces to pending tasks, such as a job board.
• External Interfaces
Sometimes the application must integrate with other data systems within the company. There may be data that must flow to or from the company ERP or accounting system, external supplier parts systems, etc. For example, in the Conair project there was the need to pull a lot of data from the Boeing parts tracking databases.
User Stories – One way to prepare a software development project is to think through user stories. For each major user group you describe their business processes from start to finish. This helps you to define the screens, reports, interfaces and data requirements.
Technology – Let us know if there are any technology constraints, such as software development environment. If not, that’s fine, we can recommend the technologies. But if there are some constraints please let us know.
Hosting – Let us know if there are constraints on where the application must be hosted, or complexities like high-availability or geo-redundancy requirements.
Schedule – It is always helpful to have some idea of the timeline for a project and whether there are any hard external constraints we have to deal with.
Value – It is important to understand the value of the project to the company since this helps frame the conversation. Understanding the value to the firm helps us decide the order of magnitude of the project and informs all the scope discussions.
Providing us with the above information is a great start to a successful custom software project that will create a competitive advantage for your business.