2

I work in a small company (2-4 software developers) where software is "only" a part of the main product (specialized measurement instruments). So far the software has been built from start to end with no formal process at all, but as we're steadily growing in both in number of products and people involved, it's evident that we need to adopt some kind of methodology for the whole thing (designing, building, testing, maintaining) to avoid blowing into a mess

The problem is that none of us has much real-world experience on such processes. Wikipedia's software development methodology and software development process entries list lots of practices, and I'm aware of the modern buzzwords (agile, extreme, etc.), but we're still lost on how and from where to start all this.

What should we do to get started, given that currently we have no formal process, and the goal would be to have a light process that helps us keep things under control without slowing us down? Is there some:

  • Essential de facto literature that we should read first?
  • Essential tools? (We do have a SCM, but should we start using something like FogBugz?)
  • Practical "do this and this" guidelines?

Any guidelines are welcome, as long as they're not 1000+ page books! I want to avoid both the religious hype and the dull academicity that seem to surround this field, and find out what to do in practice.

4

4 回答 4

4

强烈推荐阅读包括:敏捷宣言和实用程序员。随后,您可能想要熟悉 Scrum 软件开发或测试驱动开发。至少应该有:

  • 源代码控制存储库
  • 错误跟踪系统
  • 用于交流的标准工具集(如今,wiki 往往在文档中很流行),
  • IDE
  • 测试框架

很多事情将取决于您的团队的技能和您正在寻求进入的应用程序领域。让自己熟悉一些方法,然后练习它们。在一天开始时举行 15 分钟的常设会议。通过编写失败的测试、使其通过、重复思维方式来逐步开发代码。等等等等。

于 2009-11-12T08:14:51.937 回答
2

我建议从 Scrum 开始。作为轻量级项目管理框架,它应该适合您的小团队需求。
为了减少痛苦,我还建议临时雇用熟悉 scrum 的人(可能是经过认证的 scrum 大师),3-4 个月后你应该能够自己保持运行。真正投资几个月经验丰富的团队成员应该会得到回报。我不是指分析、顾问或任何你称之为的人,当你遇到问题时,他们会来、分析、做演示、拿钱然后离开。我的意思是与你一起工作但也会通过日常练习向你介绍 scrum 的团队成员。
你也可以只看一些书,或者派一两个团队成员参加培训,但我认为让某人将 Scrum 融入你的日常工作并开始通过例子学习是最好的。

好的描述详细描述(基于日常工作)将是来自 Trenches 的 Scrum 和 XP替代来源)。

于 2009-11-13T09:39:13.623 回答
1

死板地接受别人对开发过程的看法并不适合所有人。从真正的基础开始

  1. 正确了解开发过程的基础知识 - 请参阅Joel 测试
  2. 跟踪一切。使用 JIRA、FogBugz 等系统来跟踪报告的所有问题、功能和错误。跟踪您在每项任务上花费的时间;你有更好的准备信息。
  3. 分类 - 与利益相关者合作,确保您所做的事情实际上很重要,而不仅仅是您认为重要的事情。以我的经验,开发人员和客户的观点经常大相径庭!
于 2009-11-12T08:19:21.397 回答
1

我是该运动的先驱 Mary 和 Tom Poppendieck 最近的精益文学的忠实粉丝:

这些是非常实用的书籍,从软件团队的角度看待整个业务价值链,而不是一头扎进软件领域而忽视业务目标。

于 2009-11-13T04:18:27.623 回答