• 沒有找到結果。

Ch.6 Human Aspects of Software Engineering

N/A
N/A
Protected

Academic year: 2021

Share "Ch.6 Human Aspects of Software Engineering"

Copied!
13
0
0

加載中.... (立即查看全文)

全文

(1)

Ch.6 Human Aspects of Software

Engineering

(2)

6.1 Characteristics Of A Software Engineer

• Traits of Successful Software Engineers

 Sense of individual responsibility

 Acutely aware of the needs of team members and stakeholders

 Brutally honest about design flaws and offers constructive criticism

 Resilient under pressure

 Heightened sense of fairness

 Attention to detail

 Pragmatic

Superprofessional behavior

(3)

Business milieu Company

Project team individual Software

Problem

Organizational behavior

Group dynamics

Cognition and motivation

6.2 The Psychology Of Software Engineering

• Behavioral Model for Software Engineering

Business milieu Company

Project team individual Software

Problem

Organizational behavior

Group dynamics

Cognition and motivation

Ambassador

Scout

Guard

Sentry

Coordinator

• Boundary Spanning Team Roles

(4)

6.3 The Software Team

• Effective Software Team Attributes

 Sense of purpose

 Sense of involvement

 Sense of trust

• Avoid Team “Toxicity”

A frenzied work atmosphere in which team members waste energy and lose focus on the objectives of the work to be performed.

High frustration caused by personal, business, or technological factors that cause friction among team members.

“Fragmented or poorly coordinated procedures” or a poorly defined or improperly chosen process model affecting accomplishment.

Unclear definition of roles resulting in a lack of accountability and resultant finger-pointing.

 “Continuous and repeated exposure to failure” that leads to a loss of confidence and a lowering of morale.

 Sense of improvement

 Diversity of team member skill sets

(5)

5

6.4 Team Structures

• Factors Affecting Team Structure

 the difficulty of the problem to be solved

 the size of the resultant program(s) in lines of code or function points

 the time that the team will stay together (team lifetime)

 the degree to which the problem can be modularized

 the required quality and reliability of the system to be built

 the rigidity of the delivery date

 the degree of sociability (communication) required for the project

(6)

6.4 Team Structures

• Organizational Paradigms

Closed paradigm —structures a team along a traditional hierarchy of authority

 Random paradigm —structures a team loosely and depends on individual initiative of the team members

 Open paradigm —attempts to structure a team in a manner that

achieves some of the controls associated with the closed paradigm but also much of the innovation that occurs when using the random paradigm

 Synchronous paradigm —relies on the natural compartmentalization of a problem and organizes team members to work on pieces of the problem with little active communication among themselves

(7)

7

6.5 Agile Teams

• Generic Agile Teams

Stress individual competency coupled with group collaboration as critical success factors

 People trump process and politics can trump people

 Agile teams as self-organizing and have many structures

– An adaptive team structure

– Uses elements of Constantine’s random, open, and synchronous structures

– Significant autonomy

 Planning is kept to a minimum and constrained only by business requirements and organizational standards

(8)

6.5 Agile Teams

• XP Team Values

Communication – close informal verbal communication among team members and stakeholders and establishing meaning for metaphors as part of continuous feedback

 Simplicity – design for immediate needs nor future needs

 Feedback – derives from the implemented software, the customer, and other team members

 Courage – the discipline to resist pressure to design for unspecified future requirements

 Respect – among team members and stakeholders

(9)

9

6.6 Impact of Social Media

 Blogs – can be used share information with team members and customers

 Microblogs – allow posting of real-time messages to individuals following the poster (e.g. Twitter)

 Targeted on-line forums – allow participants to post questions or opinions and collect answers

 Social networking sites– allows connections among software developers for the purpose of sharing information (e.g. Facebook, LinkedIn)

 Social book marking– allow developers to keep track of and share web-based resources (e.g. Delicious, Stumble, CiteULike)

(10)

6.7 Software Engineering using the Cloud

• Benefits

 Provides access to all software engineering work products

 Removes device dependencies and available every where

 Provides avenues for distributing and testing software

 Allows software engineering information developed by one member to be available to all team members

• Concerns

 Dispersing cloud services outside the control of the software team may present reliability and security risks

 Potential for interoperability problems becomes high with large number of services distributed on the cloud

 Cloud services stress usability and performance which often conflicts with security, privacy, and reliability

(11)

11

6.8 Collaboration Tools

 Namespace that allows secure, private storage or work products

 Calendar for coordinating project events

 Templates that allow team members to create artifacts that have common look and feel

 Metrics support to allow quantitative assessment of each team member’s contributions

 Communication analysis to track messages and isolates patterns that may imply issues to resolve

 Artifact clustering showing work product dependencies

• Services of collaborative development environments(CDEs)

(12)

6.9 Global Teams

• Team Decisions Making Complications

 Problem complexity

 Uncertainty and risk associated with the decision

 Work associated with decision has unintended effect on another project object (law of unintended consequences)

 Different views of the problem lead to different conclusions about the way forward

 Global software teams face additional challenges associated with collaboration, coordination, and coordination difficulties

(13)

13

6.9 Global Teams

• Factors Affecting Global Software Development Team

參考文獻

相關文件

The objectives of this Distinguished Project is to incorporate various efforts regarding assessment aspects in both Construction Engineering and Industrial Enginnering fields to

The original curriculum design for the Department of Construction Engineering of CYUT was to expose students to a broad knowledge in engineering and applied science rather than

Department of Computer Science and Information Engineering, Chaoyang University of

Overview of a variety of business software, graphics and multimedia software, and home/personal/educational software Web applications and application software for

 “More Joel on Software : Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those

• Nokia has been using Socialtext wiki software for a year and a half to facilitate information exchange within its Insight &

 “More Joel on Software : Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those

There are some software available for construction industry, since most of them are single capability and lack of early warning, in this research we combine CMIS (