当潜在利益相关者过多时,如何启动开发项目


15

我刚刚在大学里担任(唯一的)Web应用程序开发人员。

该学院有许多完全不同但编码很差的遗留系统。它们主要是用PHP内置的,它们处理诸如出勤,考试结果,评分等问题。

我的第一项工作是构建一个包含大量此类数据的系统,该系统目前驻留在各种数据库中,而没有任何友好的API可以将其提取出来(现有系统使用普通PHP编码,没有数据和视图的分离)有了一个新的平台来记录有关学生的牧草信息,并以一种有用的方式将其呈现给教师和高级职员,以便他们可以快速应对学生的问题。

在我们的第一次会议上,有18个人!没有代表多数的明确领导者或声音。没有可识别的客户。这次会议从教师的次要功能的详细实现思想转变为关于是否应使用Excel电子表格进行数据输入的争论!

可以想象,我的头在最后旋转。我实际上有很多好主意,但是我听不见。在我加入营销机构开发团队之前,这对我来说是一个非常新的角色。我们有明确定义的角色:项目经理,客户,设计师,开发人员。

我想知道是否有经验丰富的开发人员或管理人员可以为我提供一些指导,说明如何将我的同事们带入一个类似于项目团队的项目。是敏捷之路吗?您将如何处理所有不同的声音?显然,某些过程需要非常迅速地落实到位,我只是不确定那是什么。


8
如果您是唯一的开发人员,那么会议中的其他17个人是谁?
pdr

1
好问题。学校的校长,教职员工的各种成员(甚至还有体育老师在场),还有很多人都有缩写的名字。
马特·哈里森

1
@MattHarrison:但是它们与您的Web应用程序有什么共同点?他们是潜在用户吗?他们是否维护您提到的那些旧系统?您应该澄清这一点,以确保您知道要问谁的需求和可以忽略的人。
布朗

1
@DocBrown对不起,也许我还不清楚。他们都是系统的未来用户。该应用程序将是跨大学的,将有3000多人使用。我认为这里发生的事情是人们在邀请人们,会议已经成为马戏团。我要做的是强调需要减少利益相关者的参与。
马特·哈里森

5
@致匿名匿名投票者/封闭者:乍一看,这似乎太局限了。但是我认为真正的问题是一个普遍关心的发展问题:“在潜在利益相关者太多的情况下如何启动开发项目”,而这些问题都是恕我直言的。
布朗

Answers:


26

我希望这里没有任何“敏捷开发过程”可以解决您当前的问题。您的第一件事应该是:完成任务。这意味着:

  • 阐明自己的职责是什么
  • 阐明其他利益相关者的职责是什么
  • 确定谁负责每个旧系统
  • 如果您的Web应用程序还没有客户端(尚未),请找到将来要使用它的客户端,并寻求许可以将其合并为系统的代表用户(可以与您讨论要求的人)
  • 如果有不同的利益相关者有不同的目标,请收集他们的要求(例如,通过一个人一个人而不是一个房间里的18个人进行访谈)。将结果写在列表上。之后,开始优先。
  • 写下发行版0.1的路线图(概述)和小规格,并让您的老板和代表客户正式同意
  • 编辑:请参阅GlenH7的评论

这可能需要一段时间,您可能在项目的此阶段不会编写太多代码。在这种情况下,您应该首先进行一些“需求工程”。但是从小做起,从大做起。一旦开发了第一个版本,您将可以看到一些东西,与利益相关者再次讨论需求等。


出色的建议。谢谢!我可以澄清一下吗?当您说“清除您的责任”时,您是说要明确他们的责任,还是要摆脱他们的责任?抱歉,我是英国人,所以也许是美国英语。
马特·哈里森

1
@MattHarrison:希望我的编辑内容更清楚-尽管有时摆脱某些责任可能也是个好主意;-)
Doc Brown

4
极好的答案。我要添加的唯一项目是确定牵头或执行利益相关者。此人拥有确定功能优先级和范围的最终权限。到达那里的方式不同,但是有人对项目负有最终责任。是的,如果您愿意,可以随时窃取此评论以添加到您的答案中。:-)

6

将真正希望该项目开展工作的人与众不同。

由于政治原因,有人将这次会议与与会者列表放在一起,在该列表中,成员资格是由谁决定的,如果我不邀请他们,他们会感到最沮丧。它发生了。这个目标已经实现,但是作为开发人员,您发现没有决定。没有人被分配做什么。如果您很幸运,他们设法安排了下一次会议,或者天哪,那么他们会在每个月的第三个星期二举行一次重复会议。

接下来将组成委员会,小组委员会和工作队。这是更好的选择,但您会发现它们同样毫无价值。

最后,您将找出谁真正在乎这个项目。谁真正愿意花时间做对事情。希望这个人将有一个主管,让他们有时间做这些事情,而不仅仅是在已经很长的待办事项清单上增加其他内容。尽快找到这些人!帮助他们管理老板的期望并达成约定的承诺量。

在原始小组中尽可能多的人面前找些东西,他们甚至会费力地返回。他们可能都是聪明人和/或受过良好教育的人,但是他们不会阅读很多规范。他们会喜欢一些东西,讨厌其他东西,并想要更多。写下建议并没有什么坏处,但是尝试让该聚会跟进游戏中的某些皮肤。不要承诺会做所有事情。只要解决在不久的将来可以做的事情。

如果您最终不得不与5个以上的人定期打交道,那是因为某个经理让他们中的几个人参与进来,而这些人并不想真的在那里。


1
+1用于突出显示这种情况的政治方面。
布朗

4

提出一些想法,您认为这些想法将根据您的观察和他们的“需求”巩固/改进现有系统,并确保您专注于可以实现实际可见收益的地方。在列表中包括您认为有用的每个想法,以及非开发人员提出的任何突出的“合理”建议。

建立一个功能列表,其中包含“应该”包含在您的开发工作中。给每个成员“投票”的权力,也许以“粘性星星”的形式,并通过每个成员将星星放在他们认为重要的东西旁边,找出整体的实际需求。如果有人在支票上签字,拥有最终发言权等,最终他们可能会得到更多的星星。希望此后,您和其他所有人将看到对整体而言重要的事情,并希望他们会同意优先考虑的事情,然后转化为路线图

1)。对团队进行调查 -找出每个成员认为重要/需要/最优先的事项

2)。快速解决问题-不要试图立即解决所有问题不要尝试“最低限度”功能并得到他们的批准,然后根据用户的反馈共同推进。

3)。使用他们的反馈和其他用户的反馈来指导开发过程

(构建,评估反馈,构建,评估反馈)冲洗并重复。

另外,您可以考虑放置“努力点”或估计的完成时间。这也可能有助于确定优先级。


1
+1,这就是开车的方式:-)
Doc Brown

1
+1,尽管我仍会更明确地表明您需要警惕实际上会执行其所需操作的“不良系统”。优先处理您未解决的问题,重点放在可以实现实际可见增益的地方。
Joris Timmermans 2013年

@MadKeithV表示同意。“着重于可以实现实际可见增益的地方”,更新了注释以包含该声明。
hanzolo

2

您的第一个挑战是确定该项目的需求。与所有这些人举行另一次会议,要求他们写下需要解决的问题。不要让他们谈论这个项目将成为解决方案的多种方式。强迫他们真正确定需求/问题。

一种方法是让他们每个人单独在便签上记录这些需求-每个便签一个想法。然后运行亲和图,以帮助他们将这些不同的想法归为特定需求。最后,让他们投票(Multi-Voting),以便您可以看到最大的需求。

敏捷提醒我们首先解决具有最大客户价值的功能。从最大需求开始,然后继续分解该项目,直到获得您可以在短时间内实际完成的第一小块项目为止。


0

吻-制定行程。谢谢大家的光临,对其进行复习。如果您通过分享他们的关注点并要求他们在会议之后停留,则侧面跟踪会变慢。在有争议的地方让自己最开心,然后通过投票做出决定。参与任何系统的动机与个人对其方法的信念直接相关。

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.