我最近加入了一个年轻的hackerspace,但仍处于自我设置过程中。我们很幸运,因为该空间有一些需要开展的内部项目,并且不乏志愿者来开展工作。
关于如何组织这些项目已经进行了一些讨论。我最近的专业经验是在Scrum上工作的,因此我正在考虑为我们的软件项目推荐一种Scrum方法,但是我不确定这是否合适。
尽管我已经看到Scrum在小型全职团队中表现良好,但该组织的性质却有所不同:
- 成员是志愿者。有些是全日制学生。其他人全职工作。我们不能指望任何人会持续不断地贡献自己的生命,因为他们的现实生活被放在首位。
- 尽管几乎每个人都有多年编写软件的经验,但很少有成员以专业或团队的方式这样做。
- 目前没有任何商品所有者。这些项目的要求由委员会确定。该委员会的成员还将致力于实施。这意味着我们将没有一个专门的产品负责人。
- 我们没有最后期限(无论是硬性还是硬性)。项目完成后将完成。
这些是相当大的差异,但是我不相信它们会阻碍应用Scrum。我认为一些小的调整可以使我们克服这一障碍:
- 如果我们将Sprint更改为具有固定的故事点大小,但持续时间(时间)固定,我们仍然可以从迭代发布中受益,而不会给志愿开发人员带来不切实际的交付压力。
- 我们可以抛弃燃尽图和速度计算。如果我理解正确,那么这些工具和指标可以充当开发团队和管理层之间的桥梁。它们以对开发人员和利益相关者都有意义的形式报告进度。考虑到我们没有人要报告(没有项目经理,没有产品负责人,也没有外部利益相关者),我相信我们可以完全放弃。
我认为我们可以从中受益的事情不需要进行调整:
- 在需求收集会议(一个或多个)。每个人都围坐在一张桌子旁讨论用户故事,草拟UI模拟,并建立产品待办清单。
- 冲刺回顾。对于我们来说,这将是一种有趣的方式,使其可以汇聚成一个对我们作为志愿者团队有效的开发过程。
我不确定的事情:
- 每日站立训练应如何治疗?我想知道它们在我们的环境中是否会具有很大的价值。我对站立仪式的理解是,它可以通过在团队中自然传播信息来帮助交流。考虑到我们的Sprint所提供的复杂性可能比普通Sprint少得多,因此与其他团队成员的进度/发展并驾齐驱的需求可能会更少。
- 我应该为XP推动诸如持续集成,代码审查和TDD之类的事情吗?我担心这会要求很多。一旦人们更加熟悉Scrum并以团队的方式工作,我会更倾向于将这些概念引入未来的项目中。
我的问题:
Scrum是否可以适应基于志愿者的环境?
而且,到目前为止,我计划的方法是否朝着正确的方向发展?