我正在开发一款面向企业市场的全新革命性Web应用程序。当然,许多人之前也认为他们的Web应用程序是革命性的,结果发现它并不是这样的。(或者它确实是革命性的,但业务仍然不好)。
所以我在思考,为了以最低成本找出我的想法是否有吸引力,要遵循极端的YAGNI原则:
没有安全功能(即没有用户等)。对于任何新客户,我都会安装一个新的数据库实例和一个新的Web应用程序实例。每个Web应用程序实例都受到一个HTTP服务器密码的保护(使用摘要或基本授权,可能通过HTTPS)。
没有国际化。只是将英文字符串嵌入源代码中。
没有解耦。只有与数据库交互的网页。
没有性能技巧。没有队列、缓存、定时器、后台作业、异步调用等。
没有可扩展性。没有数据库分区、分片、集群或复制。
此外,在适当的情况下,采用微观级别的YAGNI方法。
我只想开始这个项目,并尽快达到一个点,以便可以通过简单而引人入胜的用户界面销售(或试图销售)我的创新功能。
如果计划失败,我会很早就知道。如果成功了,我就会看到客户需要什么。他们想要法语版本吗?还是他们想要组织内的用户和角色?
这是人们所说的YAGNI意思吗?还是这是一种病态和夸张的YAGNI例子?