note_The Top Risks of Requirements Engineering

The risk is greatest at several points:
1. Overlooking a crucial requirement
This one the greatest risk in RE. If you overlook an important user class, you'll probably have to spend much more time to add in it or even redo the whole project!
How to avoid this risk?
- always keep in mind to figure out what the important parts are from the customer's requirement.
- keep the scalability of your software.
2. Inadequate customer representation
Which means there are many designers are so confident about their skills that they think they have understand exactly what customers need and doesn't spend enough time negotiating with their customers.
How to avoid this risk?
Never be arrogant that you have understand all of the requirements your customers need without keep in touch with them.You have to spend more time on negotiating with your customers.
Customers only discover if we had the right idea when they attempt to use our software.
3. Modeling only functional requirements
?
4. Not inspecting requirements
The cost to remove defects in requirements increases geometrically with time.
Inspecting your requirements model is the most effective way to identify ambiguities, unstated assumptions, conflicting requirements, and other defects at the earliest possible point.
Every requirement may have some defect, so don't be too confident to ignore inspecting your requirements.
How to avoid this risk?
- be patient in finding defects in your requirements.
- You can find a team to do this work for you, if you want.
5. Attempt to perfect requirements before beginning construction
The time when we could know everything we needed to know before starting software construction is long past.
It's safer to assume that our requiremens are going to change than that they won't.
How to avoid this risk?
- Do the best job you can early to get a good set of requirements, but don't be discouraged if everything isn't absolutely certain. Identify those ares of uncertainty and move on, ensuring that someone is responsible for closing those gaps in your knowledge before construction is complete.
- Track the uncertain requirements carefully as your project proceeds.
6. Representing requirements in the form of designs
?
Reference:
[November/December 2001] "The Top Risks of Requirements Engineering", Brian Lawrence, Karl Wiegers, and Christof Ebert IEEE SOFTWARE
note_The Top Risks of Requirements Engineering的更多相关文章
- top Universities in Mechanical Engineering
- CiteSeer统计的计算机领域的期刊和会议的影响因子(2005)
产生自CiterSeer 2005数据库,实际的影响因子可能更高.仅供参考使用.真实的IF还需去官网查看 . OSDI: 3.31 (top 0.08%) . USENIX Symposium on ...
- [Z] 计算机类会议期刊根据引用数排名
一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html Th ...
- Java theory and practice: Thread pools and work queues--reference
Why thread pools? Many server applications, such as Web servers, database servers, file servers, or ...
- How to implement long running flows, sagas, business processes or similar
转自:https://blog.bernd-ruecker.com/how-to-implement-long-running-flows-sagas-business-processes-or-si ...
- ACM会议列表与介绍(2014/05/06)
Conferences ACM SEACM Southeast Regional Conference ACM Southeast Regional Conference the oldest, co ...
- 100 Most Influential Books According to Stack Overflow
Please read this blog post to see why this is here. This data was created on 02/13/2012 20:00:00 All ...
- Cryptographic method and system
The present invention relates to the field of security of electronic data and/or communications. In ...
- CCF推荐国际学术期刊
中国计算机学会推荐国际学术期刊 (计算机系统与高性能计算) 一.A类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Transactions on Computer Systems A ...
随机推荐
- python数据类型小测试
# 1. 有两个列表,其中一个列表a,每一项映射到另一个列表b每一项,先对a排序,要求b的中映射关系位置保持不变,给b也按照排序, (b的8对应a的[1,2], 7对应[3,4] ... ) a = ...
- 饮冰三年-人工智能-Python-24 Django ORM增删改查
一:首先使用默认的sqlite3创建表 1:现在在models.py中添加表模型 from django.db import models # Create your models here. cla ...
- C#学习-多态
由于可以继承基类的所有成员,子类就都有了相同的行为,但是有时子类的某些行为需要相互区别,子类需要覆写父类中的方法来实现子类特有的行为. 多态即相同类型的对象调用相同的方法却表现出不同行为的现象. 只有 ...
- Softmax 回归 vs. k 个二元分类器
如果你在开发一个音乐分类的应用,需要对k种类型的音乐进行识别,那么是选择使用 softmax 分类器呢,还是使用 logistic 回归算法建立 k 个独立的二元分类器呢? 这一选择取决于你的类别之间 ...
- shullfe机制详解
一.shuffle机制概述 shuffle机制就是发生在MR程序中,Mapper之后,Reducer之前的一系列分区排序的操作.shuffle的作用是为了保证Reducer收到的数据都是按键排序的. ...
- 使用Python下载文件
python -c "with open('/tmp/file.sh', 'wb') as f: import urllib2; f.write(urllib2.urlopen('http: ...
- JDK配置环境变量不成功的原因
根据自己配置环境变量遇到的问题进行总结: 1.二次安装需要注意的问题 由于已经安装了一次的原因,此时的注册表已经有了安装记录. 建议删除jdk的记录 首先打开注册表 开始菜单→运行.或者直接键盘按下W ...
- 基于335X平台的UBOOT中交换芯片驱动移植
基于335X平台的UBOOT中交换芯片驱动移植 一.软硬件平台资料 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3 ...
- Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED! Thread Name:
异常引发的问题: 线程模型 如果事件处理的逻辑能迅速完成,并且不会发起新的 IO 请求,⽐如只是在内存中记个标识,则直接在 IO 线程上处理更快,因为减少了线程池调度. 但如果事件处理逻辑较慢,或者需 ...
- Angularjs判断页面是否已经渲染结束(动态给标签长度)
相信大家都会碰到这样的问题.页面循环li.但是因为个数不知道.没有办法给li设置固定宽度.那么这时就需要动态计算数据长度并动态改变li的宽度 <!--周边信息--> <div cla ...