7 Tips on New Software Development for Business
I am a business graduate. Two areas where I have been most interested in throughout my life are technology and Finance. Recently, I have had the opportunity to work in both. I have been a part of software development for last couple of months and would like to give you some tips from what I have learnt.
Start with Demand
For software development, the first thing you should look at whether there is demand for your software. Identify total market size by calculating how many people are using similar products and how much they are spending on average. Also, see which stage the product category market is right now. If it is mature and crowded with competitors, may be it will not be lucrative. Other factors include size of the segment you are going to cater, customer perception, your brand value etc.
If you decide to develop an office suite, you might face less demand for your application. After Microsoft, Google, Apple and other open source office suite you might have an hard time convincing people to use your application, unless you can top the very best. It is best to come up with something that is new and makes business sense.
Look at Finance
If data shows there is enough demand, you need to check whether you have the financial capability and technical capacity to develop the software. Also, it is important to find the required rate of return and the expected rate of return. If you do not know what that is, the required rate of return is the return that you must have from your software. For example, suppose instead of investing in the software, you keep the money in the bank and bank gives you 7% return on fixed deposit. You can assume that req. return is 7%. That is since you are not keeping money in the bank, your software should compensate for that. Or, suppose, after competitive analysis you find out that the software category that you are going in already generates a return of 11%. Then you assume the required rate is 11%. There are better ways to calculate the required rate, but since it is not a finance article, I am not going to elaborate on that.
Expected return is the return that your software is going to generate. If your calculation shows that your expected return is 15% and required is 11%, it will be better to accept the project. When calculating return, you need to compare future money inflow to future and initial money outflow and consider time value. For software development, initial cost may include market survey cost, domain and hosting cost, designer and developers’ salary, Salary is normally considered an expense. But at the development stage, it is better to be considered as part of software cost or initial capital requirement.
Identify & Visualize Features
Identify the features that will make your software stand out and visualize how it will look and work. First, identify the most common features that competitors are offering. Website builders like Weebly, wiz, yola have some common features theme choice like text, column divs, HTML code support and so on. If you are going to make a website builder, make sure you have the most frequently featured Otherwise you will face difficulty in attracting customers.
Visualization is important because that gives you a vision for the software and how people will use it. Vision is extremely helpful. The more you visualize the more tangible the software will feel and you will be able to find out many critical aspects of the software.
After visualization starts preparing wireframe and mockups. The wireframe shows how different function of the software will flow. Two good software for preparing wireframe is Microsoft Visio and Balsamiq. Of the two, Balsamiq is easier than but not as rich as the Visio.
After wireframe is finalized, you need to have mockups showing all the pages and elements of the application. It is very important to finalize the mockup and go over all the details. Because after development starts, major changes in design will create hurdle and delay development. Photoshop is the best software to prepare mock ups. As a product owner, make sure the designer has properly put your ideas into visuals. If developers see any inconsistency in design or they want to make suggestions for improvement, they should communicate this at this stage.
Collaborate with Developers
Collaboration with the developer is extremely important. As a product owner, you should monitor if the development is going according to the track. The ideal way to monitor is to use a project management tool like Trello. Create a card in Trello, check progress on features, bugs, improvements and list them all there. You can create checklists and strike them out when done.
Development at our team works like this: after designers have prepared the design (which already incorporate user stories), developers prepare an estimate that will gives us an idea of time and cost requirement. Once it is approved, developers start working on building the software. In Trello they create cards for “To-do’s”, “Doing”, “Resolved”, “Done”. The product owner, closely monitors the progress and keep a close eye on the deadline.
Scrum meeting helps a lot to stay updated with the progress. In these 15 minutes meeting, you can quickly check who is doing what and who is not doing right. These meetings improves collaboration and keeps everyone on their toe.
Test, Test & Test
Testing is a very important part of the process. Testing is like revision before submitting an exam paper. It helps you to identify your mistakes, improve the content and create a better impression to the judge, who are users in this case.
Testing involves two part-development testing and design integration testing. The first part is basically testing if all the functionalities are working properly. The second part is whether front end developers are integrating the functionalities with the right design (based on previously done mock ups). Again, Trello (or other project management tools) helps to trace bugs. However, it is hard to document all the nitty gritty improvements. Often you will find very small bugs like a dead link, an overlapping of divs or a spelling mistake. Daily bug report in spreadsheets helps in such case.
Focus on Usability, not Perfection
If you want to perfect a software, you might face delays and project failure. The best software is one which takes care of user needs. But users’ need is always changing. Better if you take an iterative approach i.e to launch the software with major features and make sure they are 99% bug free. It might be hard for you to launch an software that is not exactly what you had in vision. Remember the execution of a vision takes time. It involves a lot of effort and iteration.
So, launch the software when you feel it is ready based on users feedback and demand.
I hope this article has been helpful for you. Do check out my other articles and my posts in quora.
Contributor: Mushtahir Aziz Rahman, Business Executive, Nascenia