Solutions available in the market do not match your business needs | Solution are available but they are too expensive and have recurring charges associated with them. Under the above circumstances you decide to go for a custom web development project. See the points you need to consider to make this custom web development project a success.
Due to various reasons (some highlighted above), you have decided to undertake a custom web development project with your IT partner. However to make it a success you will need to keep a few things in mind. This article gives you a flavour of the phases and things to keep in mind across the project lifecycle.
1. Detail out the Business Requirement
As with any custom software solution, you will need to define in details what transactions will be done through the solution and in what volumes (how many users/ concurrent users / Amount of data).
Detail out the operational reports that you may want to take from the solution and also the formats of frequency. Remember ? the more effort you spend in this stage, more effort you save later.
2. Freezing the technology stack
Decide the technical architecture of the solution. The key considerations are which technology would it be based on and what would be the underlying database for the solution.
We advise our clients that in order to avoid vendor lock-in they should
a. Use a widely adopted technology platform like (PHP /JAVA /.NET)
b. Maintain exhaustive documentation of the project and architecture.
3. Database optimization / Archiving Policy
Once the technology stack is decided, the database design should be detailed out. The design should include flexibility for future addition and optimization on basis of normalization.
IT solutions slow down when the database size increases. Hence the historic data should be periodically archived. Considering that the business users will use the system for years to come, a data archival policy should be in place for the custom application. This will ensure the performance of the system is acceptable during the usage of the solution.
4. Exhaustive Testing ? Functional / Performance
Since this system is built from scratch, hence there is a possibility that it may contain lots of issues / bugs as opposed to software solutions which are already in use and fine tuned over some time period. We recommend an exhaustive testing of the application before it is put to real test and business goes live on it. The system should be tested on two aspects ? completeness to fulfill the business requirements and the performance of the transactions.
5. Hyper-care and Release Planning
Once the application is ready for the business use first one week is a critical period, when a dedicated IT staff / consultant is required to monitor the issues in transactions done by business users as well as automated processes defined in the solution.
Once the system passes this critical period, typically requests start pouring from business users on addition of new features in the software. Key here is to make a release plan on release of versions of the software. The more critical / easier fixes should be applied in first releases and others can be clubbed in later ones. It is a best practice to notify the business users of the release plan.