Or what they don’t tell you about DIY…Things to think about.
- You’ll have to maintain it.
- Which means you’ll have to deploy it. Probably more than once.
- Maintenance could be bug fixes on problems you inadvertently created, could be new features, could be requests from your users, could be changes on the API or changes from your platform providers. It may or may not be something you control.
- Do you need to plan for a day when you will no longer have this product?
- Are you going to adhere to a formal software development life cycle?
Compliance and Legal
- Do you need to have a compliance or legal review?
- Who will maintain and review compliance requirements in the future?
- How will you market your product?
- What if no one uses it?
- What is everyone does?
- Do you have capacity planning?
- How do people order or get your product?
- Are you charging for it? How?
- Do you need hosting and delivery infrastructure?
- Do you need to build it? Can you rent it?
- How are your going to protect against bad actors?
- DDOS, Penetration Testing, Abuse
- Do you need logging and auditing for compliance and support purposes?
- How are you going to provide help on how to use your product?
- Who and how can your users get support? What if it breaks on a Sunday afternoon? What about a holiday?
- Do you need a DR/BC plan? What happens if your project becomes completely unavailable?
- Do you need an incident response plan? What if something bad happens. Who do you notify? What do you do?
- Should you consider if your developer disappears? Whether its you or a third party, do you have a plan should your developer be unable to continue development?