Software Engineering: 2. Project management
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:
- Risk identification
- Risk analysis
- Risk planning
- 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:
- Technology risks
- People risks
- Organizational risks: risks that derive from the organizational environment where the software is being developed.
- tools risks
- Requirements risks
- 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:
- avoidance strategies
- minimization strategies
- 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:
- Group size
- Group structure
- Group composition
- The physical work environment
- The available communication channels
Software Engineering: 2. Project management的更多相关文章
- SENG201 (Software Engineering I) Project
SENG201 (Software Engineering I) ProjectSpace ExplorerFor project admin queries:For project help, hi ...
- Software Engineering: 3. Project planning
recourse: "Software Engineering", Ian Sommerville Keywords for this chapter: planning sche ...
- 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 ...
- Project Management Process
Project Management ProcessDescription .............................................................. ...
- 10 Rules of Highly Successful Project Management
I commited the information below to report PDU of PMI. ^_^. In this paper, the author introduces his ...
- 第二篇——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 ...
- Software Engineering: 1. Introduction
Resource: Ian, Sommerville, Software Engineering 1. Professional software development 1.1 Software e ...
- The Simplified Project Management Process
One of the challenges of explaining project management to people who are unfamiliar with the approac ...
- Introduction to Project Management(II)
Introduction The purpose of this paper is to gain an understanding of project management and to give ...
随机推荐
- HTML中的图像
格式: 1.JPEG:文件品质高,内存大,文件大小为GIF的1/4,色彩丰富 2.PNG:内存最小,图像不失真,支持透明度设置 3.GIF:适合显示色调不连续或具有大面积单一颜色的图像,比如导航条.按 ...
- Hibernate - lazy, fetch, inverse, cascade
Inverse是hibernate双向关系中的基本概念.inverse的真正作用就是指定由哪一方来维护之间的关联关系.当一方中指定了"inverse=false"(默认),那么那一 ...
- LeetCode Generalized Abbreviation
原题链接在这里:https://leetcode.com/problems/generalized-abbreviation/ 题目: Write a function to generate the ...
- Android You need to use a Theme.AppCompat theme (or descendant) with this activity.
错误描述为:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with ...
- Aggregate
对序列应用累加器函数. /// <summary> /// 计算校验和,SUM /// </summary> public byte CalculateCheckSum(byt ...
- VS2015/2013/2012 IIS Express Debug Classic ASP
参考资料: https://msdn.microsoft.com/en-us/library/ms241740(v=vs.100).aspx When you attach to an ASP Web ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数013,shape模型
<zw版·Halcon-delphi系列原创教程> Halcon分类函数013,shape模型 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“pr ...
- Objective-C语言内存管理
• Objective-C为每个对象提供一个内部计数器,这个计数器跟踪对象的引用次数.所有类都继承自 NSObject 的对象retain和release方法. 如果使用了new.alloc或copy ...
- ubuntu 如何 su 到 root(作为 root 用户操作)
ubuntu 安装后,root用户默认被锁定,不允许登录,也不允许"su"到 root.对于桌面用户来说,这样安全性更高一些,但对于服务器可以设置成"允许 su 到roo ...
- Linux之 sort,uniq,cut,wc命令详解
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...