29
1 Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li, Yuzhu Zhao, Juan Li, Ye Yang Laboratory for Internet Software Technologies Institute of Software , Chinese Academy of Sciences

Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

Embed Size (px)

Citation preview

Page 1: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

1

Software Multi-Project Resource Scheduling: A Comparative Analysis

Fei Dong, Mingshu Li, Yuzhu Zhao, Juan Li, Ye Yang

Laboratory for Internet Software TechnologiesInstitute of Software , Chinese Academy of Sciences

Page 2: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

2

Agenda

Motivation

State of the art

A Comparison Framework

Comparison Results and Analysis

Conclusion and Future Work

2

Page 3: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

3

Motivation• Why software multi-project management?

– Software organizations commonly work in multi-project environments

– Software project has unique characters, and experiences in other industries can not be borrowed mechanically

• Why resource scheduling?– Human resource usually represents the major cost of

software projects, and its scheduling is really important as well as difficult.

Page 4: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

4

Challenges of resource scheduling

• Unstable labor demand along the project life cycles– Staffing projects in a lump at their beginning may lead to either

insufficiency or surplus in manpower.

– It is especially true for software development project with highuncertainty

• High dependence on knowledge or skills– require assigning right people right task so as to increase

productivity and product quality

– facilitate the necessary communication and minimize its cost

• Increasing concern about humanity

Page 5: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

5

Asking for more attention and researches…

• Little systematic study concentrates on managing multiple software projects

• Little research about multi-project comes from software development community.

– Multi-project/program/portfolio, not adding resource keywords

Source Total With author(s) from software/CS/IS community %

IEEE 219 45 20.5

IJPM 78 3 3.8

Page 6: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

6

Literature survey

• Key words search. – An Internet search via Google Scholar was conducted. – To obtain practices in software area, IEEE and ACM database

were searched particularly.

• Classical or authoritative materials– e.g. PMI standards

• Web forum– There is little research paper about agile multi-PM, while indeed

there are some explorations in industry. We browsed famous forums where agile practitioners gather and also asked active posters.

Page 7: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

7

State of the art

• One project at a time• Networking optimization/heuristics algorithms• Critical chain methodology• Resource modeling /simulation• Multi-agent scheduling• Scrum of scrums /Virtual team• Fixed core team with flexible resource transfer• Pair programming across multiple projects• Exchange by turns• Multi-product team• Classify resources and schedule with different mechanisms

Page 8: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

8

A Comparison Framework

• Value orientation

• Centralization

• Homogeneity

• Complexity

• Uncertainty

• Executive ability

Page 9: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

9

Value orientation

• Goal of resource scheduling or management. – More emphasis on product innovation and quality, or

resource utilization and cost?

• Attitude to the labors involved in the projects. – Can the resources be scheduled like machines or should

they be respected and encouraged?

• Depend on the requirement of (multi-)project strategy, innovation and knowledge management…

Page 10: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

10

Centralization

• Are resources scheduled at a central point, or mainly scheduled by every autonomous project and adjusted when necessary?

• This means different multi-project organization structure and also communication cost across projects or departments.

• Sometimes the degree of centralization or federation can be changed for efficient management, but sometimes hindered by existing mechanism or authority.

Page 11: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

11

Homogeneity

• Projects within a multi-project are usually closely related– Managing heterogeneous projects as a multi-project

would be much complex • Have most projects in a multi-project used, or do

they suit for one kind of methodology? What is their similarity?– common goal, similar size/duration, sharing resources,

interlaced scope, potential reusable component, common technology, same business sector, common customer/contractor, compatible methodology…

Page 12: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

12

Complexity & Uncertainty

• Frequently used as indicators when comparing traditional and agile methods

• Complexity– Complexity of every project, e.g. team size, mission

criticality, team location, domain knowledge gaps

– Interdependency among projects & project quantity

• Uncertainty– Market uncertainty, technical uncertainty and so on

Page 13: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

13

Executive ability

• Different methods ask for diverse executing competence and cost. – Established supporting processes or tools, ability and

cooperation of participants, may be prerequisite for methods implementation.

– Organization culture, maturity, complexity and institutionalization also affect methods selection and balancing

Page 14: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

14

Comparison Results

Page 15: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

15

One project at a time

• Manage as individual project/ non-multi-project

• Encourage concentration or creativity rather than resource utilization. – Companies may pursue project quality or lead-time at

cost of dedicated and redundant resources.

• Possibly allocate resources centrally before projects start but little interference after carrying out

• Require no similarity between projects

Value orientation

Centralization

Homogeneity

Page 16: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

16

One project at a time (cont.)

• Can solve high complexity with managed interfaces – It is advised to decompose a mega project into several

projects, i.e. a multi-project, to decrease its risk

• Lose a coping mechanism for uncertainty– Ask for resource redundancy for safekeeping

• Ask for enough even redundant resources

• Depend on document to communicate with related projects

Complexity

Uncertainty

Executive Ability

Page 17: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

17

Multi-project as a virtual large project

Page 18: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

18

Networking optimization/heuristics algorithms

• Based on a large multi-project network

• Algorithms dealing with uncertainty in individual PM context can serve as reference

• Various optimization goal or priority rule– such as minimum lead time, maximum resource

utilization, and minimum project slack

• Treating people as machine Value orientation

Page 19: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

19

Is multi-project just a large project?

• What is the origin of PM?• Both cross-functional integration and cross-project

management are necessary for effective multi-PM. • Treating multi-project as a virtual large project

ignores the root why a project forms to overcome the difficulties in traditional functional organization.

• General speaking, relevance between projects is weaker than that within a project and project teams should be relatively stable

Page 20: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

20

Networking optimization/heuristics (cont.)

• High centralization– allocating resources to “everywhere”

• Multi-project with strongly interrelated projects, e.g. “decomposed” from a common goal, might be scheduled more centrally, like a large project.

• Common supporting tool or exchangeable data format to run (on computer)

• Group projects with similar priority together

Centralization

Homogeneity

Page 21: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

21

• NP-hard optimization problems

• Some would crash for a large activity network– Heuristic procedures are more practical

• Mechanisms to deal with uncertainty in progress

• Assume the network of activities known at the start– Restructure and optimize again when changes occur

• Computer-supported systems

• Integrative system and standard process are required to collect and update data.

Networking optimization/heuristics (cont.)

Complexity

Uncertainty

Executive Ability

Page 22: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

22

Resource modeling & simulation

• Model individuals’ knowledge and skills• Assign right people right task • Increase productivity and product quality• Attach more importance to knowledge&experience• Basically central methods • Ask for common supporting tool or exchangeable

data format to run (on computer) • Schedule projects sharing no resources

– by assigning projects corresponding resources

Value orientation

Centralization

Homogeneity

Page 23: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

23

Resource modeling (cont.)

• Model/simulate complex resources or situations• Even harder to schedule by automatic algorithms • Model/simulate dynamic availability and capability

of resources– but its scheduling is similar to Network

• Computer-supported systems • Integrative system and standard process are required

to collect and update data.• Extra detailed formal description and classification

of people’s skills and tasks requirements

Complexity

Uncertainty

Executive Ability

Page 24: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

24

Fixed core team with flexible resource transfer

• From feature team in Feature-Driven Development – Stable and transferable members

• Aim to deal with schedule uncertainty and knowledge sharing or component reuse

• Trust people’s initiative and communication • Schedule autonomously by every project and adjust

at a central point such as a meeting • Common attributes among projects make sense

– Common technology, potential reusable component…

Value orientation

Centralization

Homogeneity

Page 25: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

25

Fixed core team (cont.)

• From small-and-medium companies– Applicability for high complexity remains to be

demonstrated.

• Transfer among projects as required to deal with uncertainty

• Resource transfer is usually based on negotiation in meeting and relies on people cooperation.

• Synchronize the increment control points of related projects

Complexity

Uncertainty

Executive Ability

Page 26: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

26

Comparison Results and Analysis

Page 27: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

27

Discussion (cont.)

• Some methods emphasize on people while others on process: classical balance in software community

• Methods can be roughly classified into 3 categories: heavy-weight, light-weight, and medium

• Some similarity among projects is required

• Autonomic management with cooperation is more efficient than central management and individual PM

Page 28: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

28

Conclusion and Future Work

• An initial attempt to compare and evaluate the resource scheduling methods

• Which of the methods are more useful and suitable to different application environments and constraints

• A more elaborate matching algorithm with measurable factors that actively contributes to the aspects

• Case study and questionnaire

• Multi-project situation pattern

• A consolidated method with more scalability

Page 29: Software Multi-Project Resource Scheduling: A Comparative Analysis€¦ ·  · 2017-12-15Software Multi-Project Resource Scheduling: A Comparative Analysis Fei Dong, Mingshu Li,

29

Thank YouThank YouQuestion & suggestion?Question & suggestion?

29