You should give your colleagues the use-case spiel :D Tell them that use-cases are useful as they're:
A way of capturing business processes in a manner which is reasonably comprehensible by all stakeholders. This helps to bridge the gap between programmers, clients and users.
Traceable units of functionality. Use-cases are formed (ideally) in the analysis phase, referenced in the design phase, and can be used as sources for test cases later on.
Quick and easy to write up and useful, even if informal.
If you need more ammunition, you might want to read Use cases - Yesterday, today and tomorrow by none other than Ivar Jacobson.
If your colleagues still can't see the potential usefulness of use cases as a business analysis tool, then they're probably beyond help :P You should remind them that they're developing software to meet other people's needs and solve their problems in the long term, not to ostentatiously impress them in the short term with petty gimmicks. And so a little bit of direction and specification helps. Even if the use-cases themselves don't prove to be that useful, the simple act of coming up with them will force your colleagues to consider the actual underlying purpose of the software.
Ask questions, of both sides. Of development, ask them if they are certain that all of the ways in which they have considered using the application are all of the ways in which the end-users will want to use it; if they say they have, ask for proof. Of management, ask if they've ever used software that does everything they want, but still ends up being hard to use (they will have). These questions will seed the concept that what will be delivered might not be what is desired, on both sides; use that seed of an idea, then, to open up discussions (not documents, not at the start) on how the software will be used, and in what way any differences can be resolved. They'll get around to use-case documents eventually.
I am a product manager by profession, and my first reaction to your post is that ideas can come from anywhere, and if the dev team has decent ideas they should be incorporated into the product.
Having said that, a product can not develop a soul (a simple message) through a string of disconnected ideas that do not serve the ultimate purpose: solving the needs of a target user. And, ultimately it boils down to making the case that time is better spent on requirements/use cases that make sense for the product, while the opportunity cost of not having a clear strategy/end goal will lead to too many chefs and a jaded product message.
The ultimate way to make this message hit home is to involve other stake holders and have development demonstrate their work. Eventually, there will be disagreement and a more formalized (less cowboy) approach will lead to a more refined and simple product.
One of the problems you mention is tight schedule and scope creep induced by the devs themselves. Explain them, that by using use cases you can earn time by dropping features, which will potentially end up on the "never used" pile. With use cases you can find out what are the features customers need and will pay for and by removing unimportant features out of the scope you would have time to implement. Use cases apart from defining the scope also help to identify all the stakeholders, which might help you to focus even better while defining the scope and prevent forgetting about trivial things, which are not so apparent, but are a must if the product should be usable. The third most important thing about use cases is that they allow you to start thinking about corner cases which might be important for the customer before development and therefore you can find out with the customer what would be the ideal solution instead of letting the coder decide on his/her own under pressure of deadline.
Lead by example focusing on extensions and exceptions. In other words emphasize the failure scenarios because everyone knows how the system should work. The real value of written Use Cases is identifying what should happen when something goes wrong.
That noted, consider you may have to live without written use cases. And, for the environment you describe, a major win is any sort of requirements documentation. Screen comps and/or prototyping are often easier to introduce.
发布评论
评论(6)
您应该向您的同事详细介绍用例:D 告诉他们用例非常有用,因为它们是:
如果您需要更多弹药,您可能需要阅读 Ivar Jacobson 撰写的用例 - 昨天、今天和明天。
如果您的同事仍然看不到用例作为业务分析工具的潜在用处,那么他们可能无能为力 :P 您应该提醒他们,他们正在开发软件来满足其他人的需求 并长期解决他们的问题,而不是在短期内用小花招来炫耀地给他们留下深刻的印象。因此,一点指导和规范会有所帮助。即使用例本身没有被证明那么有用,提出它们的简单行为也会迫使您的同事考虑软件的实际根本目的。
You should give your colleagues the use-case spiel :D Tell them that use-cases are useful as they're:
If you need more ammunition, you might want to read Use cases - Yesterday, today and tomorrow by none other than Ivar Jacobson.
If your colleagues still can't see the potential usefulness of use cases as a business analysis tool, then they're probably beyond help :P You should remind them that they're developing software to meet other people's needs and solve their problems in the long term, not to ostentatiously impress them in the short term with petty gimmicks. And so a little bit of direction and specification helps. Even if the use-cases themselves don't prove to be that useful, the simple act of coming up with them will force your colleagues to consider the actual underlying purpose of the software.
双方都提出问题。在开发方面,询问他们是否确定他们考虑的使用该应用程序的所有方式都是最终用户想要使用它的方式;如果他们说有,请索取证据。对于管理层,询问他们是否曾经使用过可以完成他们想要的一切的软件,但最终仍然难以使用(他们会的)。这些问题将催生这样的观念:所交付的东西可能不是双方所期望的;然后,利用这个想法的种子,就如何使用软件以及以什么方式解决任何差异展开讨论(不是文档,不是在开始时)。他们最终会开始研究用例文档。
Ask questions, of both sides. Of development, ask them if they are certain that all of the ways in which they have considered using the application are all of the ways in which the end-users will want to use it; if they say they have, ask for proof. Of management, ask if they've ever used software that does everything they want, but still ends up being hard to use (they will have). These questions will seed the concept that what will be delivered might not be what is desired, on both sides; use that seed of an idea, then, to open up discussions (not documents, not at the start) on how the software will be used, and in what way any differences can be resolved. They'll get around to use-case documents eventually.
我是一名专业的产品经理,我对你的帖子的第一反应是,想法可以来自任何地方,如果开发团队有不错的想法,他们应该被纳入产品中。
话虽如此,产品无法通过一系列互不相关的想法来发展灵魂(一条简单的信息),而这些想法不服务于最终目的:解决目标用户的需求。并且,最终归结为证明时间最好花在对产品有意义的需求/用例上,而没有明确的策略/最终目标的机会成本将导致太多的厨师和厌倦的产品信息。
让这一信息深入人心的最终方法是让其他利益相关者参与进来,并让开发人员展示他们的工作。最终,将会出现分歧,更正式(更少牛仔)的方法将带来更精致和简单的产品。
I am a product manager by profession, and my first reaction to your post is that ideas can come from anywhere, and if the dev team has decent ideas they should be incorporated into the product.
Having said that, a product can not develop a soul (a simple message) through a string of disconnected ideas that do not serve the ultimate purpose: solving the needs of a target user. And, ultimately it boils down to making the case that time is better spent on requirements/use cases that make sense for the product, while the opportunity cost of not having a clear strategy/end goal will lead to too many chefs and a jaded product message.
The ultimate way to make this message hit home is to involve other stake holders and have development demonstrate their work. Eventually, there will be disagreement and a more formalized (less cowboy) approach will lead to a more refined and simple product.
您提到的问题之一是开发人员本身引起的紧张的进度和范围蔓延。向他们解释,通过使用用例,您可以通过删除功能来赢得时间,而这些功能可能最终会出现在“从未使用过”的一堆中。通过用例,您可以了解客户需要哪些功能并将付费,并通过将不重要的功能删除到您有时间实现的范围之外。除了定义范围之外,用例还有助于识别所有利益相关者,这可能会帮助您在定义范围时更好地集中注意力,并防止忘记琐碎的事情,这些事情并不那么明显,但如果产品应该可用,则这是必须的。关于用例的第三个最重要的事情是,它们允许您在开发之前开始考虑对客户可能很重要的极端情况,因此您可以与客户一起找出理想的解决方案,而不是让编码人员决定他/她自己在最后期限的压力下。
One of the problems you mention is tight schedule and scope creep induced by the devs themselves. Explain them, that by using use cases you can earn time by dropping features, which will potentially end up on the "never used" pile. With use cases you can find out what are the features customers need and will pay for and by removing unimportant features out of the scope you would have time to implement. Use cases apart from defining the scope also help to identify all the stakeholders, which might help you to focus even better while defining the scope and prevent forgetting about trivial things, which are not so apparent, but are a must if the product should be usable. The third most important thing about use cases is that they allow you to start thinking about corner cases which might be important for the customer before development and therefore you can find out with the customer what would be the ideal solution instead of letting the coder decide on his/her own under pressure of deadline.
只需向他们展示即可。
榜样不是教育人们的最好方式,而是唯一的方式。
Just show them.
Example is not the best way of educating people, it is the only one.
以身作则,重点关注扩展和例外。换句话说,强调故障场景,因为每个人都知道系统应该如何工作。书面用例的真正价值是确定当出现错误时应该发生什么。
值得注意的是,考虑到您可能不得不在没有书面用例的情况下生活。而且,对于您所描述的环境,一个主要的胜利是任何类型的需求文档。屏幕合成和/或原型设计通常更容易引入。
Lead by example focusing on extensions and exceptions. In other words emphasize the failure scenarios because everyone knows how the system should work. The real value of written Use Cases is identifying what should happen when something goes wrong.
That noted, consider you may have to live without written use cases. And, for the environment you describe, a major win is any sort of requirements documentation. Screen comps and/or prototyping are often easier to introduce.