伟大的软件开发:让客户满意。

大多数项目的焦点:钱、时间。

我们需要交付的软件系统是需要客户满意,而你认为的完成并不是客户认为的完成。

如果我们不能确定客户需要的是什么,得回去问问他们。这是执行一个项目的必经之路。

伟大的软件开发是:need 、on time、on budget这三个原则,开发循环是完成一个项目指定目标的好的方式。开发循环自行制定,可以阶段性的了解客户的最新建议和想法,所以开发循环又是一个微型项目。

我们根据用户的需求制定不同的优先级,而客户的需求是我们需要完成的工作。流程,是对步骤的排序。正确的软件流程就是能帮助你在规定的时间和预算内能完成和交付伟大的软件开发。

总体来说,跟客户阶段性的交流,是完成一个项目的重点,让客户满意,是对软件系统的一个完美交付。

收集需求:知道客户想要什么

软件开发需要交付客户需要的软件系统,与客户沟通,获取更多的信息,重点是与客户沟通,才能得到想要的答案。当与客户反复讨论时,思路要开阔一些,与客户共筑需求愿景。收集良好的需求需要懂得变通,一种方法不行就换另一种方法;两个特别有帮助的技术是:角色扮演和观察。需求一定是面向客户的,所以使用情节要站在用户的角度写,自己和用户都能理解使用情节中的意思。通过分析客户的反馈,澄清需求。

需求的基本步骤:1、抓住基本的想法

2、共筑愿景的头脑风暴

3、构建使用情节

4、通过客户的反馈意见,发现漏洞和增强使用情节的清晰性

5、清晰地、以客户为中心的使用情节

需求与估计的反复循环是实现需求的重要方法。

《Head First 软件开发》阅读一的更多相关文章

  1. 《Head First 软件开发》阅读二

    项目计划:为成功而筹划 每段伟大的代码始于伟大的计划. 客户现在就要他们的软件,可是开发需要的时间远远超过客户要求时间.我们需要实际解决方法:由客户确定优先级,与客户一起确定优先级顺序,开发出Mile ...

  2. Atitit.软件开发的几大规则,法则,与原则Principle v3

    Atitit.软件开发的几大规则,法则,与原则Principle  v31.1. 修改历史22. 设计模式六大原则22.1. 设计模式六大原则(1):单一职责原则22.2. 设计模式六大原则(2):里 ...

  3. python基础之迭代器、装饰器、软件开发目录结构规范

    生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大 ...

  4. TCL校园招聘——软件开发工程师(java) 只招5个。。。

    简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...

  5. 一个编程小白,如何入门APP软件开发领域?

    近些年,互联网创业火得不得了!一时间,满世界都在招做App软件开发的专业人员.从大众角度来看,学编程,写代码,是一件非常困难的事情.但是,App开发人员的工资那么诱人,让很多小白也跃跃欲试想学一下.那 ...

  6. R型思维模式对软件开发的影响(草稿)

    The pragmatic programmers 一直在工作之余读些书,之前主要是纯英文版的计算机相关的算法,编译器,数学等,想通过读这些书来提高自己每日工作效能,结果收效甚微.一是,因为纯英文的书 ...

  7. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结

    atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学 ...

  8. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

  9. 敏捷软件开发 原则 模式 与实践 - OCP原则

    最近在读BOB大叔的敏捷软件开发,特别是TDD那一章节,启示真的不少,从测试驱动开发,讲到驱动表明程序设计的意图,从设计意图讲到对象依赖的解耦,从解耦建立Mock对象. 其实是对每个模块都编写单元测试 ...

随机推荐

  1. JMeter5.0核心源码浅析[转]

    [转自:https://blog.csdn.net/zuozewei/article/details/85042829] 源码下载地址:https://github.com/apache/jmeter ...

  2. 2019-03-19 Fiori学习笔记 Fiori开发环境

    Fiori 文档 :https://experience.sap.com/fiori-design-web/ Fiori 登录:https://cloudplatform.sap.com/index. ...

  3. java:Oracle(事务,分页,jdbc)Mysql(jdbc)

    1.事务:transaction -- 事务开启的唯一条件就是:对数据库进行增,删,改的时候 -- 换句话说,对数据进行增删改以后,必须要执行提交或者回滚 -- 事务就是把数据库中的数据从一致状态转换 ...

  4. FileChannel原理

    官方对Channel的解释 (一个用于输入/输出操作的连接.通道表示对实体的开放连接,如硬件设备.文件.网络套接字或能够执行一个或多个不同的输入/输出操作的程序组件,例如读取或写入.) Thankin ...

  5. C++中函数异常规格的说明

    1,本文介绍一个新的概念,它是一个重要的概念,并且是 C++ 中的一个高级主题: 2,问题: 1,如何判断一个函数(不是自己写的,有可能是第三方库中的函数)是否会抛出异常,以及抛出那些异常? 1,学习 ...

  6. springboot2.0处理自定义异常始终返回json

    1. 编写自定义异常类 package cn.jfjb.crud.exception; /** * @author john * @date 2019/11/24 - 9:48 */ public c ...

  7. python-day17(正式学习)

    目录 包 一.什么是包? 二.为什么要有包? 三.如何用包? 3.1 模块和包 3.2 扩展模块功能 3.3 修改__init__.py文件 绝对导入和相对导入 注意事项 模块不来总结了,直接去htt ...

  8. Ubuntu下更新Pycharm时权限不够(PyCharm does not have write access to...)

    问题描述 更新Pycharm时,出现如下问题 PyCharm does not have write access to /usr/local/software/pycharm-2019.1.3. P ...

  9. 编号001:deque用法暂时总结

    #deque的用法总结 In [1]: """ 所在地址:from collections import deque 现在知道的情况总结: 1.deque的用法与list ...

  10. c# 模拟post登录

    使用模拟登录大致可以分为两步 一.post登录获取cookis public CookieContainer GetCookie(string url,string account,string pa ...