小型团队的软件开发过程

时间:2020-03-06 15:04:03  来源:igfitidea点击:

我在这里可能是个例外,但我从未与超过三个开发人员和/或者五个人的团队合作过。我们仍然可以设法完成工作(以某种方式)。

是否有适合这种"极端"情况的软件开发过程?而且,如果我们是独立程序员,是否有什么可以适应日常生活的,从而使其更易处理,更连贯,更有据可查,并且仍然可以完成工作?

解决方案

敏捷方法是一个很好的起点,因为恕我直言,它们更适合小团体。

至于保持个人工作节奏,我建议我们使用一种基于TODO列表和Task2Gather之类的工具的方法。我们可能也想看看GTD。

即使对于我自己的团队,我也不会放弃的事情:

  • 源代码版本控制
  • 备份
  • 去做
  • 单元测试/ TDD
  • 代码文档
  • 重构/代码审查

大多数敏捷方法适合个人资料。

当前最受欢迎的是SCRUM。它是专为小型团队的生产力而设计的,它的支持者声称开发时间比传统的瀑布方法要快5-10倍。

如果我们想开始阅读,我推荐一本Headfirst软件开发书。

我建议使用Crystal Clear方法

七个属性

  • 使用带时间限制的迭代进行频繁的交付/集成
  • 反思和改善,批评和解决
  • 通过办公室组织和开放渠道进行渗透(被动)知识获取和交流
  • 人身安全,诚实待人,对法庭批评有信心
  • 保持专注,明确任务,工作重点,限制工作量
  • 接触专家用户,提供快速,高质量的反馈
  • 通常敏捷的东西:自动化测试,CM,持续集成

让强大的SecretGeeek教我们如何成为一名独立的程序员。享受 :)

intellisense 
        ||
        \/
       code >>> compile >>>>> run >>>> success >>>> profit ;-)
        /\         ||          ||         
        ^^         \/          \/
        ^^      errors       errors 
        ^^          \       //
        ^^           \     //
        ^^             google
        ^^              ||
        \              \/
         \<<<<<<<  copy N paste

SecretGeek的一个严肃建议。

设置开发环境或者编辑器以自动列出带有TODO标记的所有行,Visual Studio默认情况下会这样做。

步骤1

  • 编写类或者方法的大纲(即" Public Class ..."或者" Public Sub ...",其中没有任何代码。)
  • 包含粗略逻辑
  • 添加前缀为" TODO"的伪代码:
  • 只写非常简单的代码-其他任何事情都只需添加一个TODO

第2步

  • 重复步骤1,直到整个应用程序被粗化为止
  • 现在,我们有大量的"待办事项"任务
  • 检查完整性(宽度)
  • 查看可以删除的内容。
  • 看看可以简化什么(例如,两个类似的待办事项注释:可以使它们相同吗?

第三步

  • 用对不存在的类,方法等的调用替换TODO(对于测试驱动的开发,请为这些方法/类中的每一个创建详尽的测试)

第4步

  • 随便添加TODO:伪代码到每个伪代码。
  • (如果需要,还可以在适当的地方添加" HACK:"注释和解释)
  • 在适当的地方,用所需的普通代码替换TODO

第5步

  • 重复步骤4,直到没有编译错误为止。
  • 如果还有待办事项,请返回步骤3.

(还有很多事先计划,纸张原型设计,客户会议,讨论,拖延,数据库设计,喝咖啡,用于存储和临时存储调用的代码生成,可重复使用的DAL的导入,PAG块使用,PAG !,文件签核之前的来回辩论,论据,深夜,沮丧,与朋友聊天,通过电子邮件筛选,刮擦visio,打印内容并将其留在堆中,钉书钉,抓巴士,背部和颈部伸展运动等,但为简单起见,所有这些都被省去了……)

(再次是MarkJ)有点像Code Complete中的伪代码编程过程。我们都同意,每个人都应该阅读《代码完整》,对吗?

基本上是为大型团队创建开发流程,以避免可能出现的混乱情况。如果我们尝试自己做大型项目,则无论使用哪种开发过程,都将失败,因为我们需要大量才能及时完成所需的工作。

如果我们从事小型项目,那么任何敏捷方法都可以。 GTD不是方法,它只是一种方法。就像我为我的大脑程序申请了专利。

这不是我们问题的直接答案,但史蒂夫·麦康奈尔(Steve McConnell)十多年前写了一篇名为《少即是多》的文章,内容涉及小型团队为何更有生产力。

持续集成是我一直努力建立的团队的第一件事,因为我认为这是良好开发实践的基础,即经常集成,自动构建/发布,自测试构建,任何人都可以轻松获取最新信息。

在这里阅读更多关于它的信息:
http://martinfowler.com/articles/continuousIntegration.html