DOC PREVIEW
CORNELL CS 501 - Lecture 24 People I

This preview shows page 1-2-20-21 out of 21 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringAdministrationManaging PeopleMaslow's Hierarchy of NeedsSoftware Engineering BasicsSoftware is Built by TeamsGroup WorkingCommunicationAdministrative Leader (Manager)Hiring CriteriaStaff RetentionSalariesFirmnessTechnical ChallengesTurning a Group AroundHow to be LedTo Build and Maintain a Strong TeamAn Old Exam QuestionBad AnswersGood AnswersGood Programming1CS 501 Spring 2003CS 501: Software EngineeringLecture 24People I2CS 501 Spring 2003AdministrationFinal presentationsSign up now. Available time slots are on the Web site.3CS 501 Spring 2003Managing PeopleTheoretical• Organizational behavior• Industrial psychology Group behavior• Cognitive fundamentalsEconomic motivation4CS 501 Spring 2003Maslow's Hierarchy of NeedsSelf-realization needsEsteem needsSocial needsSafety needsPhysiological needs5CS 501 Spring 2003Software Engineering Basics• Professional staff are the major cost of software• Professional staff vary greatly in productivity=> Ability=> Education and training=> Motivation=> Interaction with colleagues and leaders=> Work environment• People are productive when happy and happy when productive6CS 501 Spring 2003Software is Built by Teams• Best size for a team is 3 to 8 people• Team members may include:developers (from trainee to expert)domain expertsgraphic or interface designerssoftware librarianstesters• Teams must have:administrative leadership (manager)technical leadership7CS 501 Spring 2003Group Working50%interaction with others20%non-productive30%working alone8CS 501 Spring 2003Communication• InformalKitchen, smokers' doorway, after work, etc.Walkabout (tours)Ad hoc meetings• Staff meetings (non-technical)Example: Tektronics• Technical meetingsFacilitation Record of decisions• Management of teams dispersed across locations9CS 501 Spring 2003Administrative Leader (Manager)• PersonnelAssigning tasksHiring, promoting, etc.• ResourcesBudgetsSpace, facilitiesEquipment• Project managementRelationships with other teams and clientsProject plan and schedule10CS 501 Spring 2003Hiring CriteriaProductivity is a combination of:• Analytic ability• Verbal ability and communication skills • Education• Application domain knowledge• Adaptability and inquisitiveness• Personality and attitude• Platform experience• Programming language experience11CS 501 Spring 2003Staff Retention• Technically interesting workup to date hardware and softwareopportunities to learn and experiment• Feeling of appreciationmanagement recognitionmoney and promotion• Working conditionsspace, light, noise, parkingflexibility• Organizational dynamics12CS 501 Spring 2003SalariesAny software developer in the USA has plenty of money to live on (food, clothing, heat, etc.).Salaries are used to satisfy the top levels of Maslow's Hierarchy:self-realizationesteemThe absolute level of salary is less important than its relative level and how it is presented:"The annual raise is 5%, but you are getting 6%.""Our salaries are in the top 25% of similar companies."13CS 501 Spring 2003FirmnessManagers must be firm when needed:• Assignment of tasks must be equitable and open; everybody will have to tackle some of the dreary tasks• Carrots are better than sticks, but poor performance must be addressed.• Nobody is indispensable; nobody should be allowed to think that they are indispensable14CS 501 Spring 2003Technical Challenges• Canceling projectsExample: the Andrew window manager• Changes of environmentExample: the World Wide Web• Technical tinkering v. needed re-engineering15CS 501 Spring 2003Turning a Group AroundTo turn a weak group into a strong one is the greatest challenge of leadership• The art of the possible• Promotion of the best over the old leaders• Using opportunities to reorganize• Resignations and terminations• Respect people who try, yet refuse to accept problem areasBrutal and abrupt rarely equals persistent and firm16CS 501 Spring 2003How to be LedAs a junior member of a team, what can you do to make it productive?This question will be one of the themes of the next lecture.17CS 501 Spring 2003To Build and Maintain a Strong TeamEverybody has a different style. In my experience:•Be consistent in how you relate to people•Be open about problems and how you are addressing them•Explain your decisions •Do not have secrets•Ask for advice and help•Be constructive in criticism of people outside your team•Support and attend social eventsSet high standards!18CS 501 Spring 2003An Old Exam QuestionYou have hired two new members of staff. (i) The first has just graduated from the Cornell M.Eng. program in computer science, with no work experience. (ii) The second has five years' experience in developing advanced applications, but has never worked on this type of computer. Some of the development tasks are more interesting than others. Some tasks are harder than others. Some are more time critical than others. What approach would you use in allocating the tasks to these two new members?19CS 501 Spring 2003Bad AnswersThe Cornell graduate has more expertise to tackle the harder tasks. What makes you so superior?The Cornell graduate is used to time-critical tasks (course assignments). Sorry, that's not for real.The Cornell graduate should be given interesting work to make him/her keen to continue with the company. But who cares if you leave?A raw graduate is still a trainee -- the most junior person -- much to learn -- no experience of production quality development.But, hopefully, with great potential!20CS 501 Spring 2003Good Answers•Both should have the potential to produce excellent software under tight time constraints. •Both new employees need to learn the technical environment. Expect them both to work slowly until they learn the environment.•The junior (raw graduate) need mentoring. The senior (experienced developer) may work independently or lead a team.•The junior should not be put on time-critical tasks. The experienced developer can be.•Both people should be given a mixture of more and less interesting tasks. Discuss the allocation with them.21CS 501 Spring 2003Good ProgrammingYou are judging a Good Programmer Competition. (a) Give four criteria for what constitutes good programming style.(b) Give four additional criteria for what


View Full Document

CORNELL CS 501 - Lecture 24 People I

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download Lecture 24 People I
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 24 People I and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 24 People I 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?