soft skills management

Document Sample
soft skills management Powered By Docstoc

                                                          Soft Skills
                                                                         ! No lecture for next week (April 23)
                                                                            " Section meetings will still take place

                                                              Week 12
                                                  CS 212 – Spring 2008
The Persistence of Memory - Salvador Dali
   Often referred to as Soft Watches

                          Soft Skills                                                        Soft Skills in CS
! What are they?                                                         ! Public/popular perception, stereotypes
    " Work skills
    " People skills
                                                                         ! Reality: wide use of soft skills in CS
    " Communication skills
                                                                            "   Programming in teams
        # Writing
                                                                            "   Pair programming
        # Speaking
        # Web/art/...
                                                                            "   Client, business relationships
                                                                            "   Technical support, marketing
                                                                            "   Business, consulting
! Why are they important?

                              Groups                                                           Initial Stages
                                                                         ! Forming
! Why groups?                                                               "   Meet and learn about opportunity and challenges
    " Combine talents; wider pool of knowledge                              "   Agree on goals and begin task
    " Training                                                              "   Team members tend to work independently
    " Self-policing                                                         "   Team members are on their best behavior

! Common processes encountered by all groups                             ! Storming
    " Forming, storming, norming, performing, adjourning                    "   Different ideas compete for consideration
                                            - Bruce Tuckman [1965]          "   Possible conflicts
                                                                            "   Can be contentious, unpleasant and even painful
                                                                            "   Personalities (and quirks) arise
            Middle-To-Later Stages                                                            Management
! Norming                                                          ! Project Management
   " Team members adjust behavior & begin to trust each               " “the application of knowledge, skills, tools and techniques to a broad
                                                                        range of activities in order to meet the requirements of a particular
   " Roles are clarified                                                  – Project Management Institute []
! Performing                                                       ! Student version
   " Energy spent on working, not fighting                            "   Resources: mainly time
   " Little need for external supervision                             "   Management: mainly shared, except in large groups
   " Trust, respect                                                   "   Scheduling: mainly due dates
                                                                      "   Evaluation: grades
                                                                   ! Academic research version
! Adjourning                                                          "   Resources: mainly time
   " Separation anxiety                                               "   Management: mostly shared, but NSF requires one official manager
   " Saying good-bye...                                               "   Scheduling: conference due-dates; otherwise self-imposed
                                                                      "   Evaluation: publications (conference proceedings, journals, & books)

             Management Schemes                                                  Management “Difficulties”
! There is a lot of available material on management,               ! Parkinson's Law [1955]
  mostly from a business perspective                                      " Work expands to fill the time available
                                                                    ! The Peter Principle [1968]
! Some well-known management schemes                                      " In a hierarchy every employee tends to rise to his level of
   " TQM (Total Quality Management)
      # Awareness of quality at all levels                          ! The Dilbert Principle [1995]
   " Matrix Management                                                    " Companies tend to promote their
      # Each department holds people with similar skills; each              least-competent employees to
        project pulls together people from different departments            management in order to limit the
   " Six Sigma                                                              amount of damage they're
      # Set of practices designed to improve processes by                   capable of doing
        eliminating defects

                                                                             Review: Essential Coding Habits

                                                                    ! Commenting & documentation
                                                                    ! Good names for classes, variables, and methods
                                                                    ! Non-obfuscated code

                                                                    ! At some point, the code will need to be modified
                                                                      (by you or someone else)
                                                                          " Without well-written code, this can be nearly impossible
       Essential Habits: Comments                             Essential Habits: Naming
! Not just comments, but good comments             ! Use descriptive names, but keep them short
! Don’t comment when the code itself does a good
  job of explaining what is happening              ! A name should communicate what it’s used for
! All classes, methods, and variables should be       " A variable’s name should indicate what is stored in the
  described                                             variable
! When possible, use the language’s provided          " A method’s name should indicate what the method does
  documentation system (e.g., Javadoc)                " A class’s name should indicate what the class represents

                                                   ! If the language has naming conventions, use them

                                                   ! Do not re-use variables for different purposes

Shared By: