1. Establish the budget and time
Do you have a spare 1 000 EUR, 10 000 EUR or 100 000 EUR? Do you expect implementation after two months or do you accept implementation within half a year from the moment of the obligation being undertaken? Depending on how you set these parameters, your project is going to proceed differently and end with a different result.
You know what your budget is? The matter is simple – choose a software development company with good credentials and experience in implementation of projects similar to yours.
You do not know what your budget is? Ask your software partner to prepare price information. It is not going to be a binding offer yet (the proper preparation of which takes time and even money), but on the basis of those estimates you will learn what cost you can expect.
If your project is to be implemented in several stages, consider whether it would not be a good idea to start with implementation of a basic module and to implement the remaining ones afterwards. Thanks to that the system is going to bring you the benefits you expect quickly and start paying for itself, allowing you to continue its development.
A similar principle can be applied for determining the time, during which the partner is to implement the project. Ask what they can prepare within the period specified, and if that period is too long for you, implement the project in stages.
2. Define the project objective and establish KPI
Will the implementation of the software solution in your company save your employees time in performance of everyday tasks? Will you increase productivity as a result of reducing the number of errors in the production process? Or maybe you will speed up customer service thanks to shifting communication from four tools to a single one?
Your software house is going to support you in establishing the objective and success factors – these issues are always detailed at the beginning of the project. Consider what you want to achieve by implementing the solution in terms of business, and the professional is going to translate it to technical language and choose appropriate tools for it.
Start with examining whether and when the investment in the software solution is going to become profitable.
3. Elaborate an implementation plan
Reserve some time for it. A lot of time actually. It is better to start implementing the project 2 weeks later with a well-planned process rather than rush it and have to start solving problems - which could have been avoided - immediately afterwards.
A good plan is one that is built from the ground up and adjusted to the specifics of your enterprise, its size and its internal processes. The entry point is establishing the objective that your company wants to achieve thanks to implementing a new software solution.
4. Gather all the requirements
The statistics regarding project management make things clear – only 64% of implemented projects meet the objectives defined prior to commencement of their implementation.
Why not more? Among the reasons behind failed projects, the ones listed the most often are wrongly defined or changing requirements towards the tool created and wrongly estimated amount of resources required (including human resources).
Such situation is not going to happen if you invest in the process of gathering requirements for the project. In practice, this means a number of meetings with the team that is going to create the software, that is, business analysts, technicians and, sometimes, a UX/UI designer. The objective of such meetings is, among others, discussion and acceptance of the project objective (by both parties), mapping of the processes to be improved and specifying all the key resources required for project implementation. This enables preparing a complete project documentation, including prototypes of your tool. Thanks to that, you will be fully aware of what your tool is going to look like and function, what technology is going to be used to create it and when the functional version of it is going to be implemented.
5. Build the project team
You can do it in 2 ways:
a) involve your employees in the project.
The project should feature people having experience in project management, both on the business levels (project manager) and in the field of IT/software solutions (IT manager). The former is going to be responsible for management, planning, supervision and coordination of the project in order to deliver it one time and in line with the budget assumed. Meanwhile, the latter – internal IT manager – is going to be responsible for coordinating all the IT-related activities between the company and the software provider. Be brave enough to involve your best employees - their extensive knowledge about the company and processes is indispensable for creating a tool that is going to satisfy your needs.
b) collaborate with outside professionals.
As a client, you do not have to be well versed in software solution implementing – that is your partner's job. When choosing them, base your pick on their experience and portfolio.
Irrespective of which option you pick, make sure that the project team understands the objective of your project perfectly. The meeting and talks will help collect the detailed requirements regarding further work and absorb key knowledge on processes that have to be improved. In other words, the project should also involve a person from the company management, as well as the future users of the tool.
6. Choose the project management methodology accordingly
The project can be led with the use of multiple methodologies. To put it very briefly – you can do it in typically agile manner (by choosing Scrum, for example) or using other project management styles (e.g. Kanban, Prince2). The choice depends on many factors, such as, among others, project size, number of participants, character of the project and many other.
In principle, agile approach toward project management proves successful when you do not have any specific assumption and requirements regarding the software solution you want to implement. You tool is elaborated in short iterations (intervals), with less focus on creating documentation and more on excellent communication, both within the team and with you. In order for this methodology to provide the results expected, a very close collaboration between the provider and the ordering party is required. Agile methodologies treat changing requirements quite liberally and assume such a way of project implementation that has a fixed quality irrespective of presumptive changes. Settlement method: for an iteration executed according to the plan or for the number of man-days. It is appropriate for creating large software solutions.
On the other hand, choosing agile methodologies other than the typical ones is a good idea when, prior to commencing the project, you have the processes mapped, you have project documentation and you know exactly what it is that you want to build. In such situation, the task of the team creating your software is preparing tool prototypes, programming the tool, testing it and, finally, implementing it. The scope of works is fixed and the costs are estimated. Such methodologies will have you less involved in the project implementation, which does not mean that they will not involve you at all. This approach is a good choice in case of creating smaller software solutions.
7. Decide on a technology
You do not have to know which technology is the best for your project. You will verify it at the stage of gathering requirements. The only thing you should focus on is choosing the software development team that is going to choose the optimal technology for your project.
8. Familiarise employees with the change
No one likes changes. What we like, however, is our "comfort zone" which, paradoxically, is not always comfortable, but allows us to function according to the established work rhythm and on the basis of familiar tools. According to the studies, as much as 95% of our everyday behaviour and decisions takes place outside of control of our consciousness. We act automatically and we become used to things. That is why we look askance on any innovations that are supposed to disturb the status quo and our habits.
That is why it is so important to involve the target users of the system in the project. They should also understand the idea behind it and participate in creating it. Thanks to that they are quickly going to see what benefits result for them from the implementation of the new tool and have an easier time starting to use it. Once the solution is implemented, invest in trainings in operating it. In order for the implementation process to go smoothly and everyone to gain the skills they require, divide users into smaller groups.
These are the most important elements you should take into account when planning a software project. However, thinking about company development on the basis of software solution does not end on its mplementation. Since the processes inside your company undergo changes, your requirements towards solution users are going to change as well. In other words – keep developing your tool. All the time.
-> Did you like the article? Share it with people who may also consider it valuable.
-> Would you like to talk with us about your software project? Write a short email to hello@programa.pl or call +44 2038 960 376 - get to know us and let us know you!