干货:关于软件开发需要掌握的10个常识( 三 )

如果人们不能用语言来描述它会做什么(包括想要的结果和如何实现) , 那么计算机也无法做到 。 “how”被称为算法 , 这并不神奇 。

机器学习和其他人工智能技术也并不神奇 。 机器学习是基于数据的预测 , 而不是显式的规则或指令 。 它一般是用线性代数来做的 。 如果有100万张已知的香蕉照片和100万张没有香蕉的照片 , 一个训练有素的机器学习系统看一张新照片 , 会根据它从之前的照片中学到的知识告诉你它看起来像第一组还是第二组 , 这不是魔术 。 使用机器学习根据过去的招聘决定对简历进行排序 , 即使没有任何故意的偏见 , 也可能会放大经验主义的招聘历史 。

软件永远不会“完成” , 软件是一个迭代的过程 , 在其生命周期中包含许多修订和更新 。 我们的工作是创造一个能认识到这一点的环境 。

同样 , 我们从来没有期望市场营销和客户获取是“完成的” , 它们也是迭代过程 。 在每个迭代中 , 随着我们不断地为业务交付价值 , 我们也不断地学习和成长 。 即使已经做了一些成功的发布 , 我们从来没有打算“停止”做这些事情 。

干货:关于软件开发需要掌握的10个常识

----干货:关于软件开发需要掌握的10个常识//----江苏龙网 http://www.jiangsulong.com //

如果软件可以在一个版本中完成就好了 , 但这不是现实 。 需求文档充满了模糊性 , 软件的第一个版本充满了“哦 , 那是我写的 , 但不是我的意思”的场景 。 最好的软件能激发新的想法和功能需求 , 看到新的销售管理系统更加高效 , 就会激发出更高的效率 。 世界在变化 , 竞争对手提供了新的功能 , 人们就有了新的想法 。 另外 , 总是有一些bug需要修复:可能是在代码中 , 也可能是在构建代码的底层软件框架和系统中 。 某些软件可能是完美的 , 但可以确信的是 , 随着时间的推移 , 人们会发现它所构建的平台存在各种漏洞 。


推荐阅读