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 ...
随机推荐
- vue静态文件处理
前言: vue-cli在创建项目的时候, 会创建两个存放静态文件的目录, 1. src/assets 2. /static 这两个文件夹在项目中的作用和区别是什么, 我们今天就来看一下 静态资源处理: ...
- twig模板基本学习
twig基本语法 1.输出 {{ }} 2.判断 {% %} 3.注释 {# #} 具体使用时参考https://twig.symfony.com/doc/2.x/官网文档进行查 ...
- 反素数ant HYSBZ - 1053(数学+dfs)
对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x ,则称x为反质数.例如,整数1,2,4,6等都是反质 ...
- 一、自动化平台搭建-python虚拟环境安装
主要知识点介绍: 安装django环境 创建django项目 设计模型类并利用模型类和数据库进行交互 使用django后台管理数据 编写视图函数,进行URL配置 模板的使用 图书-英雄案例完成 1.虚 ...
- Ubuntu16.04 14.04安装配置Caffe(GPU版)
caffe配置过程很长啊,坑非常多,没有linux基础的估计会香菇的.我参考了网上很多的帖子,基本上每个帖子都有或多或少的问题,研究很久最终配置成功.参考过的帖子太多,都记不太清来源了.为了对前人的感 ...
- BigDecimal 准确的 double , float 计算
public class ArithUtil { private static final int DEF_DIV_SCALE = 10; private ArithUtil() { } /** * ...
- php替换字符串函数strtr()和str_repalce()区别
php中替换函数主要有strtr(),str_repalce()这两个函数,但你们都知道他们这两个函数的区别和用法吗? 先来看看这个php字符串替换函数 strtr()的两种用法: strtr(str ...
- Java虚拟机-对象的创建和访问
一.对象的创建: 创建对象在java上面是很简单的,使用new关键字就可以了,但是其实在虚拟机中,java对象的创建是一个复杂的过程. 当java虚拟机遇到一个new的指令的时候,对象创建的程序正式启 ...
- HTML5:离线存储
最近由于找工作一直没时间也没有精力更新博客,找工作真是一件苦逼的事情啊...不抱怨了,我们来看看HTML5的新特性---离线存储吧. 随着Web App的发展,越来越多的移动端App使用HTML5的方 ...
- Jquery逐行读取txt 文件
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...