resources:"Software Engineering" Ian Sommerville


For most projects, important goals are:

  • Deliver the software to customer at the agreed time.
  • Keep overall costs within budget.
  • Deliver software that meets the customer's expections.
  • Maintain a happy and well-functioning development team.

Keywords:

  • organizational budget
  • schedule constraints
  • project meets
  • high-quality

The reponsibilities of managers:

  • Project planning
  • Reporting
  • Risk management
  • People management
  • Proposal writing: The first stage in a software project may involve writing a proposal to win a contract to carry out an item of work. The proposal describes the objectives of the project and how it will be carried out. It usually includes costs and schedule estimates and justifies why the project contract should be awarded to a particular organization or team.

1. Risk management

Three related categories of risk:

  • Project risks: risks that affect the project schedule or resources

    • example: the loss of experienced designer
  • Product risks: risks that affect the quality or performance of the software being developed
    • example: the failure of a purchased component to perform as expected
  • Business risks: risks that affect the organization developing or procuring the software
    • example: a competitor introducing a new product is a business

You may need to draw up contingency plans so that, if the risks do occur, you can take immediate recovery action.

Examples of common risks:

  • Staff turnover :Experienced staff will leave the project before it is finished
  • Management change
  • Hardware unavailability
  • Requirements change
  • Specification delays
  • Size underestimate
  • CASE tool underperformance
  • Technology change
  • Product competition

The process of risk management:

  1. Risk identification
  2. Risk analysis
  3. Risk planning
  4. Risk monitoring

1.1 Risk identification

Risk identification may be a team process where a team get together to brainstorm possible risks. Alternatively, the project manager may simply use his or her experience to identify the most probable or critical risks.

There are at least six types of risk that may be included in a risk checklist:

  1. Technology risks
  2. People risks
  3. Organizational risks: risks that derive from the organizational environment where the software is being developed.
  4. tools risks
  5. Requirements risks
  6. Estimation risks: risks that derive from the management estimates of the resources required to build the system.

1.2 Risk analysis

The probability of the risk might be assessed as very low (<10%), low (10-25%), moderate (25-50%), high (50-75%), or very high (>75%)

Once the risks have been analyzed and ranked, you should assess which of these risks are most significant.

1.3 Risk planning

There are three categoriess for strategies:

  1. avoidance strategies
  2. minimization strategies
  3. contingency plans: your are prepared for the worst and have a stratefy in place to deal with it.

1.4 Risk monitoring

Risk monitoring is the process of checking that your assumptions about the product, process, and business risks have not changed.

2. Managing people

There are four critical factors in people management:

  • Consistency: People in a project team should all be treated in a comparable way.
  • Respect
  • Inclusion: People contribute effectively when they feel that others listen to them and take account of their proposals.
  • Honesty

If some lose interest in the work, you should sort out the problem quickly, otherwise the other group members will become dissatisfied and feel that they are doing an unfair share of the work.

Motivating people

Professionals can be classified into three types:

  • Task-oriented people: motivated by the work they do
  • Self-oriented people: motiviated by personal success
  • Interaction-oriented people : motivated by the presence and actions of co-workers. As software development becomes more usercentered, interaction oriented individuals are becoing more involved in software engineering.

Interaction-oriented personalities usually like to work as part of a group, whereas task-oriented and self-oriented people usually prefer to act as individuals.

Each individual's motivation is made up of elements of each class but one type of motivation is usually dominant at any one time.

Individuals can change. For example, technical people who feel they are not being properly rewarded can become self-oriented and put personal interests before technical concerns. If a group works particularly well, self-oriented people can become more interaction-oriented.

3. Teamwork

keywords: cohesiveness

3.1 Selecting group members

A group that has complementary personalities may work better than a group that is selected solely on technical ability.

3.2 Group organization

Informal groups: most group members are experienced and competent.

Hierarchical groups [haɪə'rɑːkɪk(ə)l]: have a hierarchical structure with the group leader at the top of the hierarchy

3.3 Group communications

Group members must exchange:

  • information on the status of their work
  • the design decisions that have been made
  • changes to previous design decisions

Group members come to understand the motivations, strengths, and weaknesses of other people in the group.

The effectiveness and efficiency of communications is influenced by:

  1. Group size
  2. Group structure
  3. Group composition
  4. The physical work environment
  5. The available communication channels

Software Engineering: 2. Project management的更多相关文章

  1. SENG201 (Software Engineering I) Project

    SENG201 (Software Engineering I) ProjectSpace ExplorerFor project admin queries:For project help, hi ...

  2. Software Engineering: 3. Project planning

    recourse: "Software Engineering", Ian Sommerville Keywords for this chapter: planning sche ...

  3.  Go is more about software engineering than programming language research.

    https://talks.golang.org/2012/splash.article Go at Google: Language Design in the Service of Softwar ...

  4. Project Management Process

    Project Management ProcessDescription .............................................................. ...

  5. 10 Rules of Highly Successful Project Management

    I commited the information below to report PDU of PMI. ^_^. In this paper, the author introduces his ...

  6. 第二篇——The communication during software engineering.

    I've learned a lot in my software engineering class about how a program comes out.That's also a esse ...

  7. Software Engineering: 1. Introduction

    Resource: Ian, Sommerville, Software Engineering 1. Professional software development 1.1 Software e ...

  8. The Simplified Project Management Process

    One of the challenges of explaining project management to people who are unfamiliar with the approac ...

  9. Introduction to Project Management(II)

    Introduction The purpose of this paper is to gain an understanding of project management and to give ...

随机推荐

  1. spring 以Ant Build方式运行build.xml文件,报warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 的解决办法

    Buildfile: F:\experience\spring_pdf\sourcecode\example1\build.xml compile: [javac] F:\experience\spr ...

  2. cmdb models数据库结构

    from __future__ import unicode_literals from django.contrib.auth.models import User from django.db i ...

  3. php截取字符串

    1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串 <?php $str ="phpddt.com"; echo substr($str, 2); / ...

  4. 解决 Virtual Box 启动 Cannot load R0 module supLoadModule returned VERR_LDR_MISMATCH_NATIVE Failed to register ourselves as a PCI Bus (VERR_MODULE_NOT_FOUND)

    返回 代码:E_FAIL (0x80004005)组件:Console界面:IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6} 原因: 我新建了一个vdi文 ...

  5. Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed : Exit=255 See log for details

    安装EBS的时候,database pre-install checks检查报警,显示"!" 一开始忽略了该报警,继续安装.在post-install checks的时候又报了错误 ...

  6. leetcode 374

    这个题目很简单,但是要注意细节和对题目的理解,一开始我把guess函数的作用理解错了,第一版代码长这样: int guessNumber(int n) { ; int high = n; while( ...

  7. [翻译] 为什么Uber的数据库从Postgres 切换到 MySql

    Uber工程师团队发布了一个重要的博客文章:他们的数据库从Postgres从移动到MySQL.毫不夸张地说,阅读这篇文章是一种享受,特别是因为他们提到这些细节:磁盘格式和那对他们2个数据库的表现的影响 ...

  8. html5,实例开发代码

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. 关于IP地址的一个细节问题

    使用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型.这几乎能降低1/4的存储空间.同时可以很容易对地址进行排序和快速查找;

  10. VIM技巧之去除代码行号并缩进代码

    从网上找源代码时经常会发现代码虽然排版很好,但是前面带着行号,直接复制粘贴得将前面的行号去掉才能编译,而更糟糕的是前面带行号,而代码又没排版,简直是噩梦.在VIM中可以轻易地解决这个问题. 这里将网上 ...