企业需求会不断变化;IT系统本身也需要持续改进 。如果系统上线 , 如果系统不可控会发生什么?即使系统正常上线(没什么问题) , 半年一年后一定有新需求 , 系统要调整或增加新功能 , 那怎么办呢?就找原厂 。。。
这其中一定会发生的情节是:你认为这个功能很简单 , 但原厂认为已经超出原合同范围 , 不要问我怎么知道的 。。。
你又要和原厂开始协(che)商(pi) , 协商新的功能价格 , 然后走商务流程(规则就是:越大的公司 , 内部流程越复杂 , 速度就越慢) 。。。
擦 , 原项目经理已经离职了?派新项目经理过来?没办法还得配合他把原来的需求文档全啃一遍 , 耐心告诉他们我们的一些某名其妙的内部规则 , 再结合新需求 , 费心费神不说 , 因为时间紧 , 赶紧设计新开发方案 , 然后开发 测试。。。就这样半年过去了 , 公司钱也花了 , 活动上的档期也不对 , 大家反馈这个新功能还并不好用 , 老是有很多问题 。。。老板既蒙圈又生气 , 还是有气都没地发的那种 , 又开始新的协(che)商(pi)...
关键这个过程你还没得选(就为这一个功能换系统代价太高 , 而且时间也不允许) 。。。
这就是系统不可控的后果 , 所以企业上信息化 , 一定要考虑是否可控?如果要可控 , 那么无论是外包还是自建 , 都一定要培养自己的技术团队(能全面接管系统开发和运维) , 花钱养这个团队一定是值得的(前提是cio管理的好) 。
那么 , 为什么开发软件会这么贵呢?我们来看下 , 开发系统上线要经过什么的过程?
1、需求 , 需求是系统的基础 。可以说开发一个系统 , 拿到真实的需求是最困难的 , 这点张小龙和乔布斯都深有感触 , 张小龙曾说过(大意如此):判断用户的真需求还是伪需求最困难 。举个很简单的例子:没有汽车之前 , 福特去调研需求:您需要什么样的交通工具?用户:我需要一匹更快的马!如果按用户需求思维 , 福特真设计四条腿的机械马 , 我想就不会成就福特公司 , 也不会有当今发达的汽车工业 。所以 , 鉴别真伪需求 , 显性需求、隐形需求就很难 , 何况还可能转化用户需求(把马转化成汽车)?
2、架构和设计 , 这是整个系统的灵魂步骤 。一个架构不过关 , 到后面的问题可能是毁灭性的(相同业务量 , 相近的硬件 , 你的系统只跑两年就很卡 , 人家跑五年没事 , 很可能就是架构没做好);系统设计不过关 , 必定走不久 , 未来业务变化 , 可能又要换系统...
拿到需求就要进行:
1)业务流程设计(可能涉及到业务流程重组 , 最费事又可能最反复 , 也是风险最高的地方);
2)系统架构设计(cs还是bs?有没有app?私有部署还是公有云部署?其中架构时是否考虑可拓展的一体化的思想最为关键!决定这个系统能支持企业走多远!)
CRM 中 RMF模型
3)理论支撑(很多商业模型都是有理论支撑 , 那就设计系统时 , 也必须具备这样的理论基础 , 否则就达不到预期效果 。不懂这些理论 , 做出的东西可能就是驴唇不对马嘴)
4)功能设计(需要什么样的功能 , 达到这样的功能要几步 , 分别是什么操作等)
5)程序代码规范设计(包括库、类、公用方法和控件的准备 , 好的控件有时能节约一半的开发时间 , 还有编码规范)
6)数据库的设计(数据库规范 , 要几个数据库 , 这几个数据库的关联性是什么?分别如何存放?有无高并发场景?解决方案?每一条数据的来源和走向都要清晰 , 还要预估一年后单表数据的增长 , 服务器的承受能力和方案)
7)还有服务器的部署设计(业务跑公网还是私网?有没有API接口?服务器的高可用方案?应用的高可用方案?数据库的高可用方案?读写分离方案)
8)还有网络方案(公网还是vpn?网络安全性 , vpn的稳定性?断网的处理方案?)是不是蒙圈了?
推荐阅读
- 为什么iphonex不能关机
- 作为蕲春人的周鸿祎为什么不为家乡投资?
- 原著吴邪为什么死了 原著吴邪怎么死的?
- 金吉拉300为什么谁买谁后悔 金吉拉300为什么这么火
- 空姐非常漂亮,为什么很多空姐还是单身?
- 投篮时球在空中为什么要向后旋转
- 为什么叫油老虎 不管开什么车都是油老虎
- 不保持车距有五大危害 为什么要注意保持车距
- 你为什么喜欢坐公交车去学校 你为什么喜欢坐公交车?
- 宝宝夜睡总是醒,是因为什么原因?