这本身并不是一个编程问题,但在这里。我是一名高级CS本科生,今年夏天我开始为一家中型软件公司实习。我以前做过一些自由职业,但这是我第一次正式(或多或少)被聘为软件开发人员。
我被要求从头开始编写一个内部网站,供公司的不同团队使用,并且我在设计它时获得了很大的灵活性。其中存在的问题是:我们已经进行了多次会议和设计评审,每个人似乎都对新功能有了一个想法,甚至对事情应如何运作存在矛盾的想法。
到目前为止,我的初始原型已经存活了所有这些,这是我被告知不会期望的 - 但我知道我有一个坚实的设计。虽然我没有落后于计划,但工作进度明显慢于我的预测。其中很多都与松散的规范和常量功能请求和更改有关。
我将在几周内部署一个alpha,我认为这不会是一个问题,但事情进展的方式我不确定这是怎么回事。
有没有人有任何想法? 提前致谢
答案 0 :(得分:6)
您正在问一个关于(软件)项目管理的永恒问题。有关于这个主题的写作书籍。
我一般都认同rockinthesixstring。
如果您没有一位有效的项目经理可以过滤客户的请求并管理他们的期望,并说“不”,那么这将是您工作的一部分。
有时候有一种艺术不能说“不”。有时你可以说它更像是“正如你在日程表中看到的那样,1.1版本将在下周运行。我们已经设置了版本1.2的功能列表。我将把你的新功能添加到列表的顶部1.3。但是如果你愿意,我可以与其他团队召开会议,看看我们是否可以重新确定1.2功能的优先级。“
至于冲突的想法,如果没有其他“决定者”,那么这也就是你工作的一部分。
明白不是每个人都能找到自己的方式。
如果没有解决这些问题的方法,那么任何措施都无法成功。
答案 1 :(得分:4)
我首先锁定已经达成一致的功能,并将所有功能请求放入某种项目规划软件(OnTime或许)。然后按照约定的规格推出Alpha版本,然后转到“我们喜欢”和“铃声和口哨”。
答案 2 :(得分:2)
您需要对功能请求进行优先级排序和分类,甚至可能是您已经同意的一些功能请求。
答案 3 :(得分:2)
听起来产品所有权不明确(正如多个团队的内部项目所预期的那样)。你应该运行某种形式的计划游戏。如果您有多个利益相关者,您可以给他们每50个点对迭代中的所有功能进行投票。 作为开发人员,您决定每个功能的大小。具有大多数点/大小的特征进入迭代。如果某些团队更重要,请给他们更多积分。你自己也应该花点钱。
答案 4 :(得分:1)
我想表达我对 James McLeod 帖子的赞同。任何人想要一个功能所需的唯一理由是“用户x可能会尝试......”。困难在于解决他们的意见与其他人之间的矛盾。由项目管理流程分配的具有更高“优先级”的功能是实施的功能,必要时会牺牲其竞争对手。要求人们建议删除功能并在纸上写下一些内容,说明功能背后的原因以及他们认为可能妨碍其包含的情况。让其他人看到他们认为他们的方法有哪些限制可以帮助打破决策僵局。案件陈述更为彻底的特征是'胜利'。