在开发过程中考虑学习

时间:2010-04-28 23:22:13

标签: agile

如何处理您不了解开发过程中的语言/框架这一事实?

例如,假设一组Java开发人员即将启动.NET项目,他们不太了解该平台,最终可能会找到该框架已经解决或解决的解决方案。

我遇到的问题是:在这种情况下哪些是最佳做法?在进行良好的实践之前是RTFM吗?什么时候应该停止RTFM并开始询问/搜索/播放?不是RTFM而只是搜索/询问/播放一个好习惯吗?估计怎么样?

我想听听你的经历: - )

5 个答案:

答案 0 :(得分:4)

在编写生产代码之前了解平台!

通常人们只是跳进来开始编写他们的应用程序,它变得一团糟,开发人员学习很多,然后后悔他们所做的“noob”内容,但是被锁定了。

因此,我的理论是采取一些高峰,然后通过框架的所有层实现一个非常非常薄的功能。

即,假设它是一个网络mvc / web服务.....有javascript的东西 - > ajax - > html - >网络服务 - >控制器 - >型号 - >数据库。

让人们对其进行审核。当您对所处理的技术知之甚少时,不要花时间构建框架层。花一些时间探索你的技术具有什么样的灵活性(即尝试一些不同的方法,你可以给猫皮肤)

答案 1 :(得分:2)

如果您拥有一支技术熟练的开发人员团队并且新技术与团队历史上所做的相当,那么几乎每次实践学习工作都会击败RTFM。例如,我可以看到与一群Java Web开发人员进行.NET Web开发,但我不太愿意与专注于VB Windows应用程序的团队一起进行.NET Web开发。您应该从跨越所有层的基本功能的尖峰开始。最佳实践是向团队中添加一两位专家,以通过结对编程帮助指导和指导开发过程。出于估算目的,我将大大减少我允许团队在前几次迭代中进行的故事点数。保守地说,我计划在前几次迭代中实现不超过球队历史速度的一半。

答案 2 :(得分:2)

我认为,除了其他之外,拥有一个好的心理模型并理解你将使用的抽象是很重要的...但是,有时它并不那么容易,可能是因为时间,经验甚至文档不足。 你可以在这里得到一些想法:http://www.se-radio.net/podcast/2009-06/episode-138-learning-part-development-allan-kelly 还有一种敏捷方法,将学习作为其战略部分:自适应软件开发(ASD)http://en.wikipedia.org/wiki/Adaptive_Software_Development 最后,我想提一下测试驱动开发中的探索性测试,它可以帮助学习新的框架http://en.wikipedia.org/wiki/Exploratory_testing

答案 3 :(得分:0)

某些有经验的人可以浏览并提供建议的某种代码审查或相关步骤怎么样。

RTFM似乎只是浪费时间,特别是如果你正在进行敏捷开发。

编辑:既然你说团队中的'没人'知道这种语言......我不知道,但RTFM仍然浪费时间尝试'学习整个语言'在你开始之前。

答案 4 :(得分:0)

我参加过的大多数团队都至少有一位语言爱好者。这些家伙喜欢学习有关新语言的所有知识,并且非常乐意与大家分享。弄清楚这个人在你的团队中是谁,让他们知道你将使用新语言。

一旦开始,请进行代码审核。其中很多是关于小的,易于管理的代码片段。代码爱好者将能够指出语言更好地处理的事情。整个团队都是这样学习的。