Software Design: An Introduction by David Budgen

advertisement
Software Engineering Management
by Richard H. Thayer
Presented by Shane Marcus
EEL 6883 – Spring 2007
References


“Software Engineering Management” by Richard
H. Thayer, Software Engineering Volume 2: The
Supporting Processes [Thayer and Dorfman],
Pages 169-187
“Successful Engineering Management: 7 Lessons
Learned” by Johanna Rothman, Presented at
Electro '99, June 16, 1999


http://www.jrothman.com/Papers/usefulmgmtideas.html
“Successful Software Management Style:
Steering and Balance” by Walker Royce, IBM
Software Group

http://web.cs.wpi.edu/~gpollice/Presentations/RoyceIEEESoftware.pdf
Overview
The Universality of Management
 Major Issues in Software Engineering
 Functions and Activities of Management
 Software Management Process
 Modes of Engineering Management
 Successful Software Engineering
Management

Universality of Management

Management Performs the Same Functions


Planning, Organizing, Staffing, Directing, and
Controlling
Management Functions are Characteristic
Duties of Managers
Management Practices
 Methods
 Activities
 Tasks are Specific to the Enterprise or Job
Managed

Major Issues in Software
Engineering

The “Software Crisis”
Projects are Late
 Projects are Over Budget
 Projects Don’t Meet Requirements

Functions and Activities of
Management

Planning


Organizing


Selecting and Training
Directing (Leading)


Relationships, Roles, and Responsibilities
Staffing


Course of Action
Motivate and Energize Employees
Controlling

Establishing, Measuring, and Evaluating Performance
Software Management Process
Initiation and Scope Definition
 Planning
 Execution and Control
 Review and Evaluation
 Closure
 Post-closure Activities

Modes of Engineering Management
Senior-level Management
 Software Acquisition Management Process
 User or Operator Management
 Supplier Management Process
 Software Engineering Project Management
 Maintenance Management Process
 Risk Management

Successful Software Engineering
Management

People-help People Do

Roles and Responsibilities
 It

Takes All Types to Get the Job Done
Create an Environment That Enables Good
Work
Eliminate Red Tape
 Help Your Employees Learn and Grow
 Build Trust and Give Recognition

People-help People Do
Make Time for Uninterrupted Talk With
Each Person in Your Group Every Week
 Assume the Person Doing the Job Knows
How to do the Job



Micro-management Breaks Trust
Treat People the Way They Want to be
Treated, Not the Way You'd Like to be
Treated

The Golden Rule May Not Apply
Create an Environment That Enables
Good Work
Emphasize Results, Not Time
 Admit Your Mistakes
 Commit to Projects Only After Asking Your
Staff if They Can Do it
 Plan Training Time in the Regular Work
Week

Project Management Style

“Project management style is a significant
determinant separating successful projects
from failures.” (Royce)
Steering vs. Plan-and-track
“Contrary to conventional wisdom, steering
leadership is better than detailed plan-andtrack leadership.” (Royce)
 Is it Software Engineering or Software
Economics?


What Decisions are Made by a Software
Manager From Day to Day?
Conclusion

Available Standards Provide Guidance on
Tasks/Efforts for Software Engineering
Management


Use These Resources
Management is About Leadership, Not
Simply Following an Process
It’s Your People That Get the Job Completed
 Steer the Project Each Day to Success

Questions?
Download