一、需求分析:
需求分析在整个开发过程中占的工作量不大,但是产生的影响巨大。既然需求分析如此重要,照理说应该安排最强的人来做。但实际情况往往不是如此:很多公司负责需求分析的人并不胜任这项工作。我经历过几个不太成功的项目,其问题的根源都和需求分析有关。
需求分析最要紧的是:
1.搞清楚用户到底想要什么?
如果这个问题搞错了、搞偏了,后面的步骤做得再好也是白搭(比如客户想要一个文本编辑器,结果你搞了个图形编辑器给他)。
在搞清楚“用户想要什么”之后,接着要整理出功能列表(也有叫Feature List),并筛选出大约20%的重点功能。这个步骤和后续的各项开发密切相关。
一般来说,功能筛选的依据有如下几个:
1、用户经常用的功能(比如save、copy、cut、paste);
2、宣传的卖点(要能够超出同类软件,吸引眼球);
3、和用户利益密切相关的功能(这种功能不允许出错,比如存盘功能);
这个筛选的过程要尽早完成,而且最好是产品人员、开发人员、测试人员三方的头头一起讨论,以保证立场客观、观点全面。筛选出重要功能点后,其他人员的工作安排要"以重点功能为纲",有所侧重。
二、项目管理:
如果你是个项目经理,在排项目计划时,就得尽量优先安排重点功能的开发与测试,而且要安排能力强的人员来完成。按照我以前的做法,重点功能排计划至少得留出1/3的时间余量,以防万一(事实证明,几乎每个稍大点的项目都会出现万一)。
至于非重点功能,尽量排到后面,安排能力一般的人开发/测试。
然后,在项目进行过程中,肯定要有定期的例会。作为项目经理,你应该主要关注重点功能的进度情况和风险情况。
一旦项目有延期的风险,就从非重点功能开始裁减(俗称砍功能)。由于是裁减非重点功能,不至于产生致命的影响。
三、设计界面:
设计界面时,你得保证所有的常用功能都放在显著的位置(比如工具条);还得保证它们用起来方便(比如提供快捷键和右键菜单支持)。
对于卖点,它不一定是常用功能,它的目的是激起用户的购买欲望和使用欲望。因此你要把它们设计得比较酷,有噱头。
对于利益相关的功能,大部分情况下都是侧重于业务逻辑实现。如果它既不是常用功能、也不是卖点,那么界面设计方面倒不一定要额外花大力气。
其它的非重点功能,只要按照常规方法设计,不用花太大精力。
四、编写代码:
我发现很多开发人员都有的几个习惯:
先做有趣或容易的功能,然后再做无聊或者繁琐的功能;
对自己有兴趣的功能投入精力多,对自己没兴趣的简单应付。
正确做法应该如下:
你首先得用主要精力完成上述所说的重点功能,而且要保证它们的代码质量尽可能好,尽可能方便维护(重点功能往往是经常有需求变更,经常被修改的)。
对于重点功能中的“常用功能”,要保证时间性能够好(能快速响应)。对于“用户利益相关的功能”,要保证bug尽可能少(尤其是影响安全性、稳定性、健壮性的bug)。
至于其它的非重点功能,只要不出明显bug,有点小缺陷无伤大雅。
五、测试:
如果你是个测试人员,你同样要把主要精力用于测试那些重点功能。对于“用户利益相关的功能”,多进行一些健壮性测试、稳定性、安全性等测试(比如测试保存大文件是否会出错)。对于常用功能,主要进行易用性和性能测试(比如拷贝、粘贴是否易用)。
至于其它功能,只要进行普通的测试,保证它不出现明显和严重bug即可。要知道Windows 2000发布的时候,尚遗留上千个未修复的bug(当然都是低优先级的),微软不也照样发布。
六、产品演示:
有些软件开发完之后,会搞一些Demo进行宣传。如果你是负责进行Demo的人,你肯定要把主要的Demo时间用来秀软件的卖点,这样给客户的印象最深刻,效果最好;至于非卖点的功能,都未必要提及。
分享到:
相关推荐
根据给定的文件标题、描述和部分内容,我们可以总结出关于软件开发步骤及简单流程的相关知识点。下面将对这些知识点进行详细的阐述。 ### 软件开发步骤及简单流程 #### 1. 确定需求 在软件开发的初期阶段,最重要...
"详细的软件开发步骤档案" 提供了这样的指导,让我们深入探讨这些关键步骤。 1. **需求分析**:这是软件开发的第一步,包括与客户沟通,明确他们的需求和期望。GIS(地理信息系统)项目开发文档可能会包含对特定...
接下来,软件开发步骤通常包括:需求收集、需求分析、系统设计、编码、测试、部署和维护。每个阶段都应有相应的文档支持,例如系统设计文档(SDD, System Design Document)应描述架构设计、模块划分、数据结构和...
在开发韩国报表设计软件ReportDesigner时,主要涉及的步骤包括表格布局、数据源绑定、数据测试、逻辑计算以及页面排版。以下是对这些步骤的详细解释: 第一步:创建表格结构 在开发报表时,首先需要建立表格的基础...
软件开发成本测算步骤主要包括以下几个步骤:首先,需要确定软件开发的范围和目标;其次,需要确定软件开发的技术路线和开发方法;然后,需要确定软件开发的资源分配和人力资源配置;最后,需要对软件开发的成本进行...
软件开发项目验收报告的编制是软件开发项目的最后一个步骤,是确保软件开发项目的成果达到客户的要求和预期的重要手段。通过编制软件开发项目验收报告,可以确保软件开发项目的成果达到客户的要求和预期,提高软件...
软件开发的完整步骤 软件开发的完整步骤是一个复杂的过程,涉及到多个阶段和步骤。本文将对软件开发的完整步骤进行详细的介绍,包括问题定义、可行性研究、需求分析、概要设计、详细设计等阶段。 问题定义是软件...
### 软件开发整个流程的详尽步骤 在当今高度数字化的世界中,软件开发不仅是技术密集型工作,更是组织核心竞争力的关键组成部分。一个成功的软件项目不仅需要创新的设计和技术实现,更依赖于一套完善、高效的开发...
软件开发报价是软件企业在与客户签订合同前计算的重要步骤。软件开发报价的计算方法是软件企业获取客户订单的关键步骤。软件开发报价计算方法的准确性直接影响着软件企业的利润和客户满意度。 软件开发报价计算方法...
软件开发计划书是软件开发过程中不可或缺的一部分,它详细地规划和安排软件开发的各个阶段和步骤。根据给定的文件信息,我们可以总结出以下知识点: 一、软件开发计划书的目的 软件开发计划书的主要目的是将软件...
软件安全需求分析是软件开发过程中的重要步骤。在需求分析阶段,业务需求提出人员应会同需求分析人员,确定业务持续性、输入输出、身份欺骗及抗抵赖等方面的业务风险。然后,需求分析人员应根据业务安全需求,进行...
软件开发方法软件开发方法软件开发方法软件开发方法软件开发方法软件开发方法软件开发方法
软件开发实施步骤将作为软件开发项目的实施细节,指导和规范软件开发过程的实施。 从上述内容可以看出,软件开发具体实施方案是一个系统化的解决方案,旨在指导和规范软件开发过程,提高软件开发的质量和效率。该...
软件开发流程规范是指在软件产品开发过程中,每个步骤的规范和输出文档的要求。该规范旨在确保软件开发过程的规范性、可重复性和可维护性。 1. 软件产品开发的一般流程 软件产品开发的流程可以分为产品定义、需求...
这里的标题“一个开发软件+详细步骤”可能指的是分享一个完整的软件开发过程,包括从需求分析到软件发布的所有环节。在软件开发中,通常会经过以下步骤: 1. **需求收集与分析**:这是软件开发的起点,需要明确软件...
软件开发流程规范是软件开发过程中的重要组成部分,它规定了软件开发的各个阶段、步骤和要求,以确保软件开发的质量、效率和一致性。软件开发流程规范的目的是为了确保软件开发过程的可重复性、可维护性和可扩展性。...
本文档将从软件开发管理规范的概念、组成部分、实施步骤和实施注意事项等方面进行详细介绍。 一、软件开发管理规范的概念 软件开发管理规范是指在软件开发过程中,为了确保软件开发的质量、效率和可靠性所制定的...
需求工程是软件开发的第一步,它涉及对用户需求的全面理解、收集和记录。《需求工程》这本书可能详细解释了如何进行需求获取、需求分析、编写需求规格说明书以及验证需求的正确性和完整性。在这个阶段,开发团队需要...