Project management 管理GUI中的特性爬行
有人对如何管理GUI中的特性爬行有什么实际的建议吗 我受到来自内部和外部的强大压力,需要添加、修改、调整等等。当有人用“如果…?”这个词接近我时,我总是感到畏缩。我不能转身对他们喊“不”,因为他们通常是我的上司或客户Project management 管理GUI中的特性爬行,project-management,Project Management,有人对如何管理GUI中的特性爬行有什么实际的建议吗 我受到来自内部和外部的强大压力,需要添加、修改、调整等等。当有人用“如果…?”这个词接近我时,我总是感到畏缩。我不能转身对他们喊“不”,因为他们通常是我的上司或客户 相反,我在寻找建议,以帮助解释为什么不断添加新功能是个坏主意,并在这样做时,管理他们对最终产品的期望。创建工作任务,定义需要解决的问题。您的工作受限于只需要实现解决问题所必需的功能 问题的任何进一步细化都会变成变更控制。我们在办公室里遵循线框。签核后的任何变更都必须经过变更控制程序
相反,我在寻找建议,以帮助解释为什么不断添加新功能是个坏主意,并在这样做时,管理他们对最终产品的期望。创建工作任务,定义需要解决的问题。您的工作受限于只需要实现解决问题所必需的功能
问题的任何进一步细化都会变成变更控制。我们在办公室里遵循线框。签核后的任何变更都必须经过变更控制程序。在正式流程中处理功能请求,通常通过项目经理和最初分析需求的人员处理。最好将这些决策交给不是开发人员的人来做,假设任何人都有能力做这项工作
如果你是自由职业者,那么显然要对需求进行改变,如果你是一个内部开发团队,那么你可以考虑部门间的账单,以确保人们考虑他们想要花什么钱。p>
最后,预计需求将发生变化,功能将发生蠕变。如果您在编写代码时没有考虑可能会请求哪些更改,或者您的流程和/或截止日期过于僵化,以至于您无法适应,那么您会发现项目将成为一场噩梦。理想情况下,这样的请求应该由负责功能设计的人员处理。无论您喜欢与否,都会发生变化(从功能设计中的第一个字母到代码的最后一个字节,甚至更远),并且总会有对额外功能的请求。因此,请确保您的设计适合这种动态过程 这听起来可能是一个非常蹩脚的解决方案(我怀疑这是一个好的做法),但我过去一直在为同样的问题而挣扎。由于我负责开发、功能设计、技术设计和管理我自己的项目,这件事发生在一家非常小的公司(管理层缺乏),这让情况变得更糟 对我来说,有效的方法是将问题转移到提出问题的人身上(是上级还是客户)。移交功能设计、原型打印输出或任何描述当前情况的东西,并要求他们找出“如何”和“在哪里”实现这一强大的新功能
然后,上级和客户都“被迫”把它带回他们自己的人那里,在会议上讨论它等等。通常这意味着你不会再听到它了。在它出现的情况下,它实际上是一个有效的概念。您的公司在开始项目之前似乎没有明确定义需求,这只会以眼泪告终 我的政策是提前获得所有需求的明确细分,并让各方都知道入侵这些需求的影响
- 产品越早投放市场(假设是收缩包装),公司就能越早赚钱,现金流也就越好
- 不要完全排除新功能,但要将其与您从替代工作中获得的价值相平衡;解释机会成本
- 如果用户界面中出现了新功能,那么就开始讨论视觉复杂性对整个产品可用性的影响,以及由此产生的吸引力。但我相信你已经在这么做了。我会试着找出一些参考资料
- 在短时间内锁定功能集(Scrum/iteration/agile)。当用户开始看到东西在工作时,功能的必要性或缺乏将变得更加明显
此外,有一个人负责所有变化也是很有帮助的(在Scrum中,一个真正优秀的产品所有者)。向他们展示简单GUI是如何有效的。示例:谷歌Chrome,苹果的软件。您可能还想展示臃肿软件的示例,如Eclipse、Netbeans、Visual Studio。。。好的,这些实际上都是软件IDE,但它们都有杂乱的界面。IMHO最好的方法是清楚地概述实现新功能的成本。当用户开始看到这种添加的成本时,“如果”真的开始减少,那就太好了 与客户就某项功能存在分歧通常会让你一事无成。如果你公然拒绝他们,他们会感到疏远,与你和你的团队失去联系。如果你拥有世界上所有的时间和金钱,并且没有技术上的限制,那么这个功能可能是一个好主意。在他们的世界里,在他们点击剪报后,能够看到酒吧旁边的fiz是个好主意。当然,在我们的世界中,这意味着一个完整的表扫描,潜在的安全漏洞,以及一个通宵的工作,以确保它在下一个发布点之前 如果你向他们解释为什么这不是一个好主意,他们通常会理解。不要忘记所有不同的因素(时间/金钱/成本)