10 things to know before you initiate that software development project

You can best support collaborative learning by using the right technical tools in your learning environment. Good tools can help you reach your goal easily while average or bad ones can hamper your objective. We sometimes run into education institutes and enterprises that intend to build their own software applications, even though it isn’t their core business. While working with customers of various sizes and across different verticals, we have come across this dilemma of build vs buy quite often. After having observed such projects for a while and losing a fair bit of hair in the process, we have compiled a list of ten key things that you should pay attention to before you initiate any software development project in your organisation:

  1. Building the actual software (Development) - Capturing the right requirements is not an easy task. Not only do you need to figure out what your stakeholders want but also make sure that it is communicated in the right manner to the other team members. 

    Project Management Fiasco Source: http://www.cvr-it.com/images/PM_Build_Swing.gif

    You then need to make sure that your team is able to achieve the development goals within the stipulated timeline and budget, but do remember that typically 66% of the software projects have cost overruns.

  2. Hiring the right people (Team) - We all know that developing a good software is more than just typing it right :) Good developers build good software and getting them on board is not easy because every tech company needs them. To add to the complexity, you just don’t need front-end / back-end developers, you will also need product & project daredevils, testing experts, infrastructure champions, database heroes, security ninjas & performance gurus. Best of luck fighting with the Google’s of the dev world unless your name starts with Mark and ends with Zuckerberg.

  3. Keeping your data safe (Security) - Data breaches these days are bigger than ever and the hacking methods are more sophisticated, hence you cannot leave things to chance in an online world. You will have to ensure that hackers are fended off from your application and data at all times. Hence following good coding practices, having necessary security checks and performing third party security audits on your application and infrastructure regularly are a must these days. And please remember that you will have to allocate a fair bit of resources, both in terms of manpower and dollars, to achieve this.

  4. Does it load fast enough? (Performance) - Dial-up made way for broadband which is now succumbing to fibre at a quick pace. Trains might get replaced with Hyperloops. Faster has been the mantra of humankind since its inception. Software applications are no different and you need to ensure that your users are able to access your application in sub 5 secs before they start abandoning it. Compressing images, memory management, minifying JavaScript files, optimizing database queries & using content delivery networks are some of the points that should stay on top of your performance checklist.

  5. But I have so many users! (Scalability) - One of the other key metrics that define the quality of your application is its scalability. It should be able to respond well to 00’s of users and also to 000’s. Resource provisioning usually becomes a challenge in this case because you cannot plan well with both of these scenarios in your mind. And without proper planning your resources might be over or underutilised leading to efficiency and cost implications. One of the solutions to this problem is cloud computing.

  6. And they want it all the time (Availability) - We now expect almost everything to be available 24X7, irrespective of whether it is our grocery store or Facebook, and your application should be no different. You need to rely on relevant monitoring tools and ensure there are enough fail-safe mechanisms in place to not show a 502 error page to your users.

  7. Don’t forget the law (Compliance) - While you are trying to build your application to achieve your business goals smoothly, you also need to ensure that your application complies with any statutory laws that might be applicable in your case. For example, the laws around personal data protection are one of the key requirements these days and any breach might have serious consequences.

  8. Oh people need help for this application and I also need to maintain it? (Maintenance & Support) - Your users will adopt your application better if there is someone to help and guide them and hence having a full-time resource for support will do you a lot of good. Also, like real parenting starts once the child is born, similarly you need to look after your application once it has been deployed in production. Software versions change faster than the speed of light these days and we all need to upgrade as soon as the new version is out.

    Reasons I upgrade my softwareHence updating your application is an ongoing task and literally there are miles to go before you can sleep.  

  9. Does it talk to the other systems? (Integration) - Though most of the teams start developing an application with a particular goal in mind, we will strongly recommend that you should always keep other applications in your environment at the back of your mind. If your design approach also includes points on how your current application will integrate with the rest and make life easy for everyone, then you are on the right path, while ignoring this point might come back and bite you in a big way!

  10. Y U So Expensive! (Cost) - Building a good application has never been an easy task and usually involves a fair amount of investment in both people and technologies. You should fairly analyse the cost of developing and maintaining the application along with some buffer for scope creep. At the end of your budgeting exercise, you will mostly notice that your total cost of ownership (TCO) will be much higher than what you would have anticipated earlier.

Real TCO of building a software

Y U So Expensive

Though it is advisable to stick with your forte and leverage best practices that off-the-shelf solutions offer, however if your use case is very niche and requires a custom solution then make sure that you have covered the above mentioned points well before you take the plunge!

 

Want to learn about the best practices that you can follow to implement mobile learning in your organisation?

Download the report that highlights how you can take into consideration Device, Content, Delivery and Engagement aspects to make mobile learning effective for your teams.

Download Report on Mobile Learning

 

K-12 Higher Ed Enterprise

Leave a Reply

Recent Posts

Subscribe to Email Updates