如何在重量级开发方法上获得个人实践?


9

我正在从事一项新工作,该项目需要满足严格的质量标准,大量记录,详细管理,UML图表以及所有与“牛仔编码”相反的事情,在这些工作中,我过去的大部分工作经历都是。想想大型航空航天或医疗设备软件的开发方式。

我很高兴离开牛仔编码的混乱局面,并很想知道重量级工程方法的发展情况。但是,一个人如何可以很快地从繁重的方法中获得经验呢?

就是说,除了简单地工作了几个月/几年。

仅使用一种语言或新的API,就可以破解玩具测试程序,阅读,故意犯错误以查看会发生什么情况等。练习就像骑自行车或演奏乐器一样,必不可少。拿起长笛每天花半个小时很容易;无需加入乐团或成为专职长笛顾问。但是,如何实践大型,复杂,涉及团队的软件工程活动,而这些活动中的大部分都与沟通和计划有关,如何避免沟通不畅以及超出进度和预算限制?

这似乎不可能独奏。有几种方法可以在短时间内(一天)以小规模模拟一个大型项目的工程?

Answers:


1

有几种方法可以在短时间内(一天)以小规模模拟一个大型项目的工程?

是的,这在某种程度上是可能的。大约10年前,我参加了在慕尼黑举行的OOP会议上的一次研讨会,其中有16个人的任务是对小型商业软件进行大致的分析和设计。上半天主要是要找到一个可以与16个人一起解决任务的团队结构,而下半天则要专注于与这个团队一起解决任务。

在第一部分中,我们被引导将16个人分成4人一组。每个四个人的团队都必须为团队结构提出建议(在时间压力下),然后应用射击过程来决定哪种团队结构可能是最好的,并应在研讨会的第二部分中使用。

不幸的是,在第一部分的过程中,我们犯了一个错误,试图在预期的团队结构中给16个人中的每个人一份工作。这个错误导致下半年的混乱-因为16个人太多了,无法解决这样的任务。一个可行的解决方案可能是将这16个人再次分成较小的团队,或者选择3或4个人来完成主要工作,但是在此刻我们很想念这一点。

我仍然对我印象深刻,即我了解到很多大型项目组织可能会遇到的典型问题。我不知道您可以在附近的某个地方参观这样的研讨会,或者现在谁可以提供这样的服务,但是如果您有机会,我强烈建议您参加。


2

清单开始。(您知道那是第一步,对吗?)
确保清单列出了当前项目的所有标准文档。即。UML图,功能规范,高级和低级设计等。我中的系统工程师将建议使用RTVM(需求可追溯性验证矩阵)

选择一个示例程序进行处理。如果您无法提出一个建议,请使用Google“代码套件”或查看Google的挑战代码库。或只是建立一个计算器。:-)

为您的示例程序构建功能规范。然后进入高级设计,UML图等。按规范构建。测试一下。每次您发现规格中的重大缺陷(由当前的工作实践定义)时,您都需要回到SDLC的那个阶段并进行修改,然后再继续前进。

对于您的第一个回合,继续进行并保持较小。在任何特定阶段,循环过程比过度杀伤更为重要。对于后续的回合,请添加您未使用的功能。跟踪,日志记录,性能分析,测试框架等。您要添加的内容将取决于您的雇主对您的实际工作的期望。

在几次遍历设计/构建/测试/重复周期之后,您将掌握现在让您担心的“重量级”组件的技能和经验。迭代还将向您展示各个阶段与生成的文档之间的相互关系。那里的宝贵经验表明,由于文档更新和测试要求,更改5分钟的代码如何在其他地方产生数小时的连锁反应。


1
@gnat-清单上链接的道具。很好的补充。

-1

具有“重量级”练习的经验仅来自做真实的事情。没有办法单独有效地实践它。您可以但是研究它。您可以研究和思考很多案例研究和资源。

但是,并非您看到或学习的所有实践都一定是积极的。软件开发是一个不稳定的事物,今天看起来很严格和严格的东西明天似乎很愚蠢和多余。这是通过新工具以及从初创公司到更为保守的组织的实验经验而实现的。

基本上,变更和风险管理似乎对每个组织都有独特的形式。最好的选择是保持开放的心态,但不要在团队之间承担太多假设。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.