Posted on: 20 Aug 2018
Avoiding pitfalls in software development – Part 2
In our earlier post, we discussed some of the counterproductive habits of software developers and how a small change can go a long way in avoiding mistakes. We will be picking up where we left off. Here are a few more ways you can make sure your team is being as efficient as possible.
Security is important
Many applications come with payment processing as a component or may need the user to input important personal information. This makes it vital to ensure that your application has the right level of support for security. If, for example, payments need to be done via the application, make sure it is PCI (Payment Card Industry) compliant, and supports SSL (Secure Sockets Layer).
Perfection is overrated
Don’t wait to create the perfect product before releasing it to the market. First of all, there is no such thing as a perfect product, and secondly, there is always room for improvement. Build a Minimum Viable Product (MVP) and get early feedback from the market. This feedback is valuable and can be incorporated into the next version or release. By doing this in an incremental manner, you will be following the ‘Agile Methodology’. The approach is centered around four core principles, namely ‘individuals and interactions’, ‘working software’, ‘customer collaboration’ and ‘responding to change’. It has been found to be faster and more responsive when compared to other methodologies used in software development.
Avoid the Chinese whisper trap
Make sure all your team members are on the same page and are aware of the big picture when it comes to the project. This practice ensures that everyone has access to the same set of information, and have accurate understanding of the business goals/objectives.
Avoid the man-month syndrome
If it takes a developer 4 months to build an app, don’t expect 4 developers to create the same app in a month. There are certain limiting factors that come up in software development that need to be taken into account such as divisibility of tasks, communication overheads and ramp-up time. Taking all of the above into consideration will help in setting realistic expectations on project duration.
Consider open-source tools
Open-source is not a bad word. Tools that fall under this category have community support and are not susceptible to the vagaries when it comes to cost and availability. Avoid rejecting a tool, library or application just for the reason that it is open-source. You might miss out on a great product that could make your job easier and more efficient. For example, an open-source issue-tracking tool called Redmine, allows its users to customize it to their needs. The entire source code is open to the public and can be modified so that each individual may use their own custom version.
Software projects go awry for various reasons ranging from manpower, to costs not being factored in. There are many mistakes that can contribute to a failed software project, but by keeping these tips in mind you can plan ahead, cut down on the errors you and your teammates make and deliver on time.