并不是所有程序员都能尽职尽责地为你提供服务,当他们吐槽说开发过程中遇到了问题时,你就要学会自己辨识:他们说的问题真的是问题吗?
1、瀑布模型开发挂了
有些程序员是不会让你知道瀑布开发挂了的。
敏捷和瀑布是两种不同的开发模式。
瀑布模型开发会采用一组功能,当所有功能都完成时才开始构建项目。
因此,瀑布模型开发通常需要几个月才能完成。
敏捷开发则是采用一组功能,当其中一项功能完成后就构建项目,然后再继续下一个功能。
因此,敏捷开发最快几小时就能完成。
如果有程序员说他们需要构建所有功能并在 X 月内启动项目,那他们用的就是瀑布模型开发。
说瀑布模式开发没死都是骗人的。
瀑布模式开发已死。
既然叫做瀑布,就意味着不应该走回头路。否则如果出现返工,付出的代价会很大。
而敏捷开发的最终目标是让客户满意,所以能够主动接受需求变更,这就使设计出来的软件有灵活性,可扩展性。
2、项目启动第一天代码即可用
程序员一般都不会告诉你代码的真正可用时间。
一些程序员会说:我们将在项目完成时或特性完成时提供代码。
其实并不是这样。
第一行代码在项目启动一个小时之后就可使用。
鸡汁的程序员会选择用存储库“备份代码”,当有多个开发人员在项目上工作时,此存储库可用作代码维护。
如果你是项目经理或客户,就该在第一时间要求访问存储库。
当程序员拒绝了你这一要求,你就该察觉,其中肯定出了什么问题。
3、项目启动第一天即可运行应用程序测试
程序员不会告诉你,项目启动第一天即可运行应用程序测试。
他们一般会说,测试要在项目完成后才能进行。
不要相信这句话。
还记得瀑布已死事件吗?
因为大多数程序员使用的是敏捷开发,第一个功能完成后,应用程序即可在云测试服务器可用。
有些程序员可能会将你的项目转手给别人开发。
而真正尽责的程序员则会根据你的应用程序和部署计划,就代码托管量的问题进行商讨。
你需要做的就是与营销团队制定计划,了解可能转化为用户的流量。
尽责的程序员会成为你维护应用程序的优秀顾问。而不合格的程序员只会选择逃避和隐藏问题。
4、TDD 没挂
有些程序员并不想让你知道 TDD 还没挂。
TDD 即 Test Driven Development,是一个测试先于开发的软件开发方式。
最近,Ruby on Rails 的主要开发人员发布了一篇声称 TDD 已挂的文章,其理论是建立在有良好编程习惯的程序员之上的。
然而问题是并非所有程序员都拥有良好的编程习惯。
假设现在要求编写一个收集 email 的表单,比如 homer@simpson.com。
尽责的程序员会有意识地加上对 email 格式正确与否的验证,不然用户可能会键入一堆乱码。
如果你问程序员他们是否使用 TDD 开发,他们的回答是“没用,因为 TDD 挂了啊。”
这时候你就要注意了。
虽然 TDD 会让项目成本增高,但用总比不用好,因为它起到了保障的作用。
总的来说,如果你没法保证所有程序员都拥有良好的编程习惯,那最好要求他们用 TDD。
5、不需要重新构建项目
“我们需要重新开始”是一些程序员的口头禅。
但实际情况可能并不是这样,他们只是不想让你了解问题的真正原因。
因为大多数软件构建的模式都相同,比如 Twitter 就类似于 Facebook 和 Instagram。
它们都有登录、个人资料页面,时间轴,“发帖”项, 关注项。
既然代码开源,很多模式就可以相互借鉴的,并不一定需要重头开始开发。
所以,当程序员对你说出这句话时,你就要学会做出判断,他们是不是想拖延时间呢?
原文:5 Things Programmers Don’t Want You To Know
编译:开源中国