Managing People

Tom Kelliher, CS 319

Oct. 5, 1998

Announcements

From Last Time

  1. Project management

Outline

  1. Cognitive fundamentals, implications.

  2. Project staffing.

  3. Group working.

Assignment

Work on project. Status reports on Friday.

Managing People

Cognitive Fundamentals

Human memory organization:

  1. Small, fast short-term memory: registers-like, input from senses, information processing. Capacity is about seven ``quanta.''

  2. Larger working memory: RAM-like, slower access, longer retention. Processing memory, not long-term storage.

  3. Long-term memory: slow, large capacity, permanent, imperfect retrieval. Disk.

Quanta and chunking:

  1. Consider a complicated concept, like bubble sort:

  2. We store the algorithm in a language-independent form in long-term memory.

  3. We struggle with it until we make the semantic connections.

  4. Abstraction.

Knowledge modelling:

  1. Syntactic knowledge:
    1. Acquired by memorization.

    2. Examples: default parameter passing mechanism, operator for assignment operation.

    3. Retained in unprocessed form. (Easy to forget?)

  2. Semantic knowledge:
    1. Acquired by experience, active learning.

    2. Examples: control abstractions.

    3. Retained in an organized, representation independent fashion.

Motivation models for professionals:

  1. Task-oriented: motivated by intellectual challenge.

  2. Self-oriented: motivated by personal success and recognition.

  3. Interaction-oriented: motivated by presence and actions of others.

Everyone's a combination, but one dominates.

Management Implications

Problem solving:

  1. To working memory through short-term memory.

  2. Integrate with existing knowledge in long-term memory. Previous experience important here.

  3. Build semantic model.

  4. Convert to syntactic model (implement). Fewest problems if programming language constructs match semantic model constructs.

  5. Implications for top-down, bottom-up design styles?

Training:

  1. Ensure engineers are qualified.

  2. Demonstrate organization is dedicated to personal development.

  3. Differing approaches for experienced, novice programmers.

Project Staffing

Staff selection factors:

  1. Application domain experience.

  2. Platform experience.

  3. Programming language experience.

  4. Educational background.

  5. Communication ability.

  6. Adaptability.

  7. Attitude.

  8. Personality.

What happened to all the experienced engineers? They became managers. Why?

Group Working

Percentages spent in various types of activities:

  1. Working alone: 30%.

  2. Interaction with others: 50%.

  3. Non-productive: 20%.

Group Composition:

  1. Complementary personalities key.

  2. Keep everyone aware of the big picture, so no one goes astray.

  3. The leader might not be the technical leader. Motivational skills important.

  4. Imposition of outside leader.

  5. Group cohesiveness:
    1. Advantages: group quality standards, work closely, get to know other's work, egoless programming.

    2. Disadvantages: irrational resistance to leadership change, group think.

Chief programmer (surgical) teams:

  1. Chief programmer.

  2. Backup programmer. Validation.

  3. Librarian. Clerical work.

  4. Supporting cast:
    1. Administrator.

    2. Toolsmith.

    3. OS, language, etc. specialists.

    4. Technical author.

    5. Test specialist.

Exercises

28.3, 7, 9.



Thomas P. Kelliher
Mon Oct 5 11:11:12 EDT 1998
Tom Kelliher