当前位置:首页 >> 信息与通信 >>

软件工程流程与准则(English Version)


Engineering Process
? ? ? ? ?
Fundamentals Enhancement Process

Escalation Process
Bug Process

Question and Answer

Fundamentals - Process

? Products, not process, make money ? A process exists to produce quality
products
– A process which inhibits quality products is a bad process

? Process, whether defined or
understood, always exists

Fundamentals - Process
? Productivity and innovation decline at
either ‘end’ of formality spectrum

? Process must evolve to be successful

Fundamentals - Product Lifecycle
? COMPANY product lifecycle being
formalized

? Key elements
– Product life phases and phase transition requirements

– Release phases: new, evolving, maintenance, static

? Products in different stages are
managed differently

Fundamentals - Release Model
? Feature-driven releases
– Marketing (& sales, engineering, etc.) defines release requirements – Engineering defines product design, development plan & schedule

– Cross-functional group reviews
– Release must deliver all product requirements

Fundamentals - Release Model
? Date-driven releases
– Marketing (sales, engineering, etc.) defines release priorities – Engineering defines product design, development plan & schedule

– Cross-functional group reviews
– Release must complete in predetermined timeframe

Fundamentals - Release Model
? Products in ‘new’ phase may be featureor date-driven

? Products in ‘evolution’ phase are datedriven

? Products in ‘maintenance’ phase are
date-driven

Fundamentals - Quality Model
? Quality = Features + Robustness + Time to
Market

? Priority order:
– Time to market
– Features

– Robustness

? Consistent with fast, immature market ? Will evolve over time

Fundamentals - Commitments
? Formal commitments
– ‘Significant’ objectives

– On-time delivery required and expected
– Commitments flow bottom-up – Development plan, or alternate written execution plan, required

Fundamentals - Commitments
? Best-effort commitments
– Less formality required

? Formal commitments will always
override best-effort commitments, when required

? Formal commitments reviewed and
tracked by senior engineering team

? Formal commitments approved by one
source

Fundamentals - Resource Allocation
? Resource allocation is a CEO decision ? Input considered from many sources ? Allocation reflects revenue and strategy
priorities

? Resource allocation tracking ? Development to QA ratio = #-# to #

Fundamentals - Activity Types
? % of engineering resources allocated to:
– Enhancements

– Quality Improvements
– Escalations

? Allocation % is the key issue

Fundamentals - Product Types
? Flagship products
– Primary revenue vehicle

? Derivative products
– Different user community – Different channel

Enhancement Process
? Development stages
Planning
Inputs

Implementation
Release Maintenance
Process Management Tools

Outputs

Enhancement Process - Planning
? Process Tool
– Enhancement Change Request database

? Stages
– Feature Priorities and/or Requirements – Specifications – Designs – Scheduling

Enhancement Process - Planning
? Inputs
– Marketing Feature Priorities or Marketing Requirements Document – Quality objectives

? Outputs
– Development Plan – Schedule

– Formal Commitment

Enhancement Process - Planning
? Key Issues
– When will a XXX feature be delivered in the YYY release?
? Can’t answer, since releases are date-driven and based on priorities that are determined at beginning of release planning process

– Flagship products drive product features – Derivative products petition for specific features, but don’t drive the definition process

Enhancement Process
? Implementation
– Development

– Unit testing
– Integration – Integration testing

Enhancement Process
? Release
– Beta

– Build Verification and QA
– Release signoff process

Enhancement Process
? Key Issues
– Flagship versus derivative quality standards differ
? Flagships have formal betas, full QA, QC, and signoff ? Derivatives only have QC and signoff

Enhancement Process
? Key Issues
– Beta sites management
? Marketing and tech support select and manage marketing beta sites (10-25)
? Engineering selects and manages test partners (3-5)

Enhancement Process
? Maintenance
– Engineering Fixes

– Patches
– Inline

? Key Issues
– Customer issue tracking - see below – OEM release limitations - patch level release or greater

Escalation Process
? Process Tool
– Escalation database

? Inputs
– Sales - must validate legitimacy of account – 100K (or >) in revenue potential/loss in 60 days – Feature or bug driven issues

– Escalations submitted to NAME, engineering escalation manager

Escalation Process
? Outputs - Engineering fixes and patch
targets
– Engineering fixes - fix targeted for specific escalation customer; limited QA
– Patch targets - collection of engineering fixes, more sophisticated QA and deployment

Escalation Process
? Key Issues
– Escalation budget & overflow conditions
? Each engineering team budgeted for % of time for escalations
? When escalation efforts exceed budget, CEO approval required ? Overflow, when approved, results in schedule change or product release feature set change

Escalation Process
? Key Issues
– Patch and release management
? Engineering fixes are for verification purposes only, not for distribution or deployment; tech support will not support an engineering fix
? Patches are supported by tech support ? Every 60-75 days fixes will ‘roll up’ into a patch ? A patch is identified by its version: 4.5 refers to the ‘major release’; 4.5(2) refers to patch 2

Bug Process
? Process Tool
– Bug tracking database

? Inputs
– any and all product deficiencies – customers, sales, tech support, engineering, marketing, ...

Bug Process
? Inputs (cont.)
– customers submit via tech support, others via email to ‘QA – ‘blessed’ sources submit directly to bug tracking systems

? Outputs
– target patches and major releases – documented fix list for every patch and major release

Bug Process
? Key Issues
– When will xxx bug be fixed?
? For showstoppers that slip pass QA, immediate attention is given - a very rare circumstance
? For non-showstopper level bugs, can’t answer since fixes depend on number of higher priority bugs in system, which can change from day to day

– Patch and release management

Bug Process
? Key Issues
– Customer feedback loop
? Information systems don’t link bug numbers to customers
? Customers don’t know when bugs they submitted are fixed, unless they read release notes or try the latest patch


相关文章:
软件开发流程与规范
软件开发流程与规范_工学_高等教育_教育专区。软件开发...能胜任一般网络工程方案的设计、组建、网络维护、及...所有标识符一律用英文英文缩写,杜绝 采用拼音,标识...
软件工程课后作业
软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造 (2) 软件...针对所有关键的开发活动为每 个开发成员提供了必要的准则、 模版工具指导, 并...
软件工程课后作业
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视...针对所有关键的开发活动为每个开发成员提 供了必要的准则、模版工具指导,并确保...
软件开发过程规范-20160804
软件工程术语 2.6 GB/T 14394-2008 计算机软件...建立确认测试准则,编写用户手 册,为概要设计提供需求...最后将文档交管理部存档,进入配置管理 程序。 软件...
软件工程规范
【模块式软件开发流程】 模块式程序编写——程序功能实现首测试——程序调整——...应届生求职季宝典 英文个人简历模板 创意简历模板汇集 推理型题分析与总结文档...
软件开发流程规范说明
软件开发流程规范说明 软件开发过程应遵循软件工程学中的软件生命周期顺序进行下去,按照工作流程顺序依 次是准备阶段、问题定义与可行性分析、需求分析、软件设计、编码...
软件工程导论重点内容
软件工程准则可以概括为 7 条基本原 则: 用分阶段...3)数据流程图从数据传送和加工的角度 抽象的描述...2014年6月大学英语六级考试真题及答案 2014年12月大学...
软件工程复习题(看完必过)
软件工程复习题(看完必过)_工学_高等教育_教育专区。复习题 16.给出一组数...语句覆盖、判定覆盖、条件覆盖、判定条件 覆盖、条件组合覆盖准则分别为程序设计...
软件工程课后题答案
定义: 软件是计算机程序、 规程以及运行计算机系统可能需要的相关文档和数据。 ...针对所有关键的开发活 动为每个开发成员提供了必要的准则、 模板工具指导, 并...
软件工程试题及答案
下面几种白箱测试技术,哪种是最强的覆盖准则 () A.语句覆盖 B.条件覆盖 C....在题号前的( 错误用χ 。 )中,正确用√, (×)1、开发软件就是编写程序。...
更多相关标签:
qq english version | wps english version | 360 english version | 百度 english version | english version | war3 english version | pdf english version | 百度englishversion |