三思而后行:前期准备

构建活动的准备工作的根本目标在于降低风险。要确认你的准备活动是在降低风险,而非增加风险。

如果你想开发高质量的软件,软件开发过程必须由始至终关注质量。在项目初期关注质量,对产品质量的正面影响比在项目末期关注质量的影响要大。

程序员的一部分工作是教育老板和合作者,告诉他们软件开发过程,包括在开始编程之前进行充分准备的重要性。

你所从事的软件项目的类型对构建活动的前期准备有重大影响--许多项目应该是高度迭代式的,某些应该是序列化的。

如果没有明确的问题定义,那么你可能会在构建期间解决错误的问题。

如果没有做完良好的需求分析工作,你可能没能察觉待解决的问题的重要细节。如果需求变更发生在构建之后的阶段,其代价是“在项目早期更改需求”的20到100倍。因此在形如编程之前,你要确认“需求”已经到位了。

如果没有做完良好的架构设计,你可能会在构建期间用错误的方法解决正确的问题。架构变更的代价随着“为错误的架构编写的代码数量”增加而增加,因此,也要确认“架构”已经到位了。

理解项目的前期准备所采用的方法,并相应地选择构建方法。

时间: 2024-10-29 19:09:39

三思而后行:前期准备的相关文章

第四章关键的构建决策(代码大全2)

一旦你能确定 “构建”的基础已经打好,那么准备工作就转变为针对特定“构建”的决策了.第3章“三思而后行:前期准备”讨论了设计蓝图和建筑许可证在软件业务里的等价物.你可能对那些准备工作没有多少发言权,所以在第3章关注的焦点是确定“当构建开始后你需要做什么”.本章关注的焦点是程序员和技术带头人个人必须(直接或间接)负责的准备工作.在向工地进发之前,如何选择适用的工作别在你的腰带上,你的手里车里应该装哪些东西?本章讨论的就是这事务在软件中的等价物. 4.1 选择编程语言(Choice of Progr

第3章三思而后行:前期准备下(代码大全8)

第3章 Measure Twice, Cut Once:Upstream Prerequisities 三思而后行:前期准备 3.4 需求的先决条件 3.5 架构的先决条件 3.6 花在前期准备上的时间长度 要点 3.4 Requirements Prerequisite 需求的先决条件 软件架构(software architecture)是软件设计的高层部分,是用于支撑更细节的设计的框架. 为什么要把架构作为前期准备工作呢?因为架构的质量决定了系统的“概念完整性”.后者继而决定了系统的最终质

第3章三思而后行:前期准备上(代码大全7)

第3章 Measure Twice, Cut Once:Upstream Prerequisities 三思而后行:前期准备 3.1 前期准备的重要性 3.2 辨明你所从事的软件的类型 3.3 问题定义的先决条件 3.1 Importance of Prerequisites 前期准备的重要性 如果你在项目的末期强调质量,那么你会强调系统测试.但是测试只是完整的质量保证策略的一部分,而且不是最有影响的部分.测试是不可能检查出诸如:“制造了一个错误的产品”,或者“使用错误的方法制造正确的产品”之类

Android——调用高德地图API前期准备

1.登陆高德开放平台注册账号http://lbs.amap.com/ 2.创建自己的应用并且添加新key 获取发布版安全码获取方法: 在AndroidStudio的Terminal中编译: 输入如下图: 开发版安全码获取: 开发版获取的另一种方法:(和获取发布版本一样在AndroidStudio的Terminal中编译 只是keystore的路径改成debug.keystore    密钥库口令默认是android) 创建key成功 得到key: 前期准备完成 下一篇文章是开发配置 备忘 ,也希

01-大鸭梨博客系统前期准备

哈喽,大家晚上好,今天是2017年3月6日,距离VS2017正式版发布还有一天,哦不对,是两天.是在北京时间的3月8日凌晨,期待中... 革命尚未成功,学习还需继续! 做开发的人都知道,这一行真的是不断的在学习,当然行行如此吧,不能以偏概全,可是作为程序猿真的是深有体会,没办法技术更新太快,隔三差五就会有新技术产生,你不去研究,那你就比别人落下一大截,所以一定要常怀一颗学习之心,活到老,学到老.今天貌似程序猿界又出事了,滴滴的一个程序猿倒下了,四川的一家科技公司老板把员工给打了,这都是什么世道,

0x00linux32位汇编初入--前期准备

0x00汇编初入--前期准备 一.汇编工具 在linux平台下常用的编译器为as,连接器为ld,使用的文本编辑器为vim,汇编语法为att 以下是一些工具: addr2line 把地址转换为文件名和行号 ar 创建,修改和展开文件存档 as 汇编器 c++filt 还原c++符号过滤器 gprof 显示程序简档信息 ld 把目标代码文件链接 nlmconv 把目标代码转换为Netware loadable Module格式 nm 列出目标文件中的符号 objcopy 复制和翻译目标文件 objd

CSDN开源夏令营 基于Compiz的switcher插件设计与实现之前期准备 git的简单使用

由于项目的代码需要上传到git上,就需要学习一下git的使用了.我初步接触了一下git,准备用此帖来记录git的学习,此帖会随着我对git了解的深入动态更新. 一.GIT的介绍 1.概述:git是一个分布式版本控制系统, 2.详情请见:http://baike.baidu.com/subview/1531489/12032478.htm 二.GIT的安装 这里就介绍一下linux平台下的安装,我使用的是Ubuntu Kylin 14.04,只需要在终端输入命令:sudo apt-get inst

黑马程序员_OC语言前期准备

OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性. 二.语法预览 (一)

DICOM:Docker实现增量发布之前期准备

背景: 为了方便整体产品的发布,希望通过docker实现增量发布.大致的思路如下: is-there-a-way-to-add-only-changed-files-to-a-docker-image-as-a-new-layer-with.本博文对这种方式进行了尝试,与此同时简单介绍如何通过Dockerfile来创建Docker镜像. 前期准备: 解决centos的网络问题[can not find a valid baseurl for repo: base/7/x86_64],使用dhcl