Title: Computer Engineering 203 R Smith
1What are Engineering Management Skills?
- Engineering Management requires a combination of
both technical skills and soft skills. - Technical skills designing software, testing,
writing code - Soft skills team building, communicating,
decision making, improving the skills of your
team - Activities that are both gathering requirements,
planning - Other activities and skills
2Soft Skills are a Foundation for successfully
using the Technical Skills.
- Developers are often given the job of manager
based on their technical skills. - Attributes for managers
- What makes a good manager?
- Good leadership/just being loud?
- Managers responsibilities
- In broad terms what does a manager do?
- Specific Skills
- What skills are needed to be a successful manager?
3What are the skills of someone you would work for?
- What is important for the project?
- What is important for you to work for them?
- What is important for you to be successful?
- What is success in your organization?
4Attributes of Managers
- Capable of evaluating risk and uncertainty
- Being able to live with risk and uncertainty
- Honesty and integrity
- Understanding of personnel problems
- Communicates clearly and completely
- Alertness and quickness
- Versatility
5Attributes of Managers
- Energy and toughness
- If you have no energy then why expect your team
to? - Decision-making ability
- Pro-active
- You can not wait to be told.
- Cool headed
- Know when to get mad.
- Is being mad all the time effective?
6Managers Responsibilities
- Interface Management
- Project Interfaces
- Management Interfaces
- Customer Interfaces
- Information Flow
- Resource Management
- Time (schedule)
- Manpower
7Managers Responsibilities
- Money
- Facilities
- Equipment
- Information/Technology
- Planning and Control
- Reduced risks
- Identification of alternatives
- Resolution of conflicts
- Running the project core team
8Specific Skills for Managers
- Team building
- Getting team members committed
- Clearly defining goals and objectives
- Good working relationships
- Being aware of the projects culture
- Planning skills
- Conflict resolution
9Specific Skills for Managers
- Organizational skills
- Entrepreneurial skills
- Administrative skills
- Resource allocation skills
- Decision making skills
- Technical skills
10Specific Skills for Managers
- Leadership
- The process whereby one individual influences
other group members toward the attainment of
defined group or organizational goals. - Non-coercive influence
- Coercive influence takes constant energy
11Specific Skills for Managers
- Leadership/Management
- Leadership is where to go
- Leadership motivates
- Management is how to get there
- Management implements
12Useful Team Skills
- There are many team skills, the following skills
are useful across a broad range of activities. - Communicating
- Team building
- Facilitating
- Making deccisions
- Postmortems/Retrospectives
- Principled Negotiation
- Inspections
- These skills will be practiced in team exercises
through out the semester.
13Useful Team Skills
- In Software Development and especially in the
valley, lower level managements role is often
accomplished through influence and facilitation
rather than direction. - Why?
- Lack of formal procedures and policies.
- Strong technical contributors, often more senior
than management. - Many groups at the same level with conflicting
priorities.
14Communications
- Communication is critical to all management
activities. - Tools for effective communications
- Removing ambiguity
- Resolving Cultural and Frame of Reference
differences - The role of metrics in communications
15Team Building
- What is a team?
- A small number of people with complimentary
skills who are committed to a common purpose,
performance goals, and approach for which they
hold themselves mutually accountable. - Identity, membership, roles and responsibilities
- Clear vision, objectives and purpose
- Management must make these clear if team members
are to know what they are doing. - Allows teams to have some level of self direction.
16How Teams Function Using a Learning Cycle
- Understand and frame the problem
- Do not accept the problem at face value.
- Look for root causes.
- Plan
- Challenge assumptions, decide on actions
- Act
- Follow the plan!
- Reflect and Learn
- What can we do better?
- Involve the team in reflection
17Team Building
- What happens when there is no clear identity or
direction? - Priority conflicts happen
- Lack of focus
- Easy to sit around and wait to be told what to
do. - In some sense managements goal should be to
eliminate the need for management. - Self-organizing teams
18FacilitatingGetting the Job Done
- Facilitation is a useful skill in getting teams
to meet objectives. - Facilitation gives guidance as required and is
non-interfering. - Facilitating
- Keep focus, single topic at a time, quality
discussion - Everyone needs to know why they are there
- Allow everyone to speak in a safe environment
- Avoid name calling, excessive joking
- Make good use of time
- Avoid discussion loops, side tracking
19Postmortems/Retrospectives
- Postmortem, Latin for after death
- Regardless of what it is called successful
management learns form the past. - Being conscious of what you are doing and have
done. - The facilitators role is to create a safe
environment in which to get honest feedback.
20Postmortems/Retrospectives
- Study both failures and successes
- Define the purpose of the retrospective
- Define success
- Decide who should attend
- Create a safe environment
- Establish ground rules
- Establish the timeline and mine it.
- What actually happened and when.
21Postmortems/Retrospectives
- What worked and what did not work.
- Capture the data.
- Determine what you are going to do about it.
- Conducting a Retrospective and doing nothing
about it is a pure waste of time and undermines
any future retrospectives.
22Postmortems/Retrospectives
- When we do not learn from our mistakes we are
forced to repeat them.
23Reaching Decisions
- An important skill is helping teams reach
decisions. - Making progress without knowing the entire
process. - Getting support for decisions.
- Lack of a perfect plan.
24Principled Negotiation
- Soft Negotiation
- Searching for agreement
- Avoiding conflict
- True buy in?
- Hard Negotiation
- Looking for victory
- Wanting to win
- True buy in?
25Principled Negotiation
- Ensure that everyone understands everyone elses
objectives and positions. - Separate people from the problem.
- Keep emotions out of the equation.
- Develop win-win solutions.
- Look for alternatives.
- Use objective data
- The need for metrics.
26Inspections
- A method for improving both understanding and
quality of all work products. - Inspections can be done at any stage of the
development process. - Inspections are a formal/disciplined review of
work products with set roles for those who
participate.
27Benefits from Inspections
- Detection of defects at an earlier stage
- Finding defects at an earlier stage lowers the
cost of correction. - Expanding the understanding of the code
- This means we have multiple developers able to
contribute to the improvement of the work
product.
28Inspections
- Inspection roles moderator, reader, scribe,
reviewers - Focus is on detecting flaws not correcting them
on the spot. - Materials are reviewed individually before the
inspection meeting. - This helps reduce both meeting time and group
think.
29Inspections
- During the inspection each line is read.
- A disciplined approach is used to ensure
everything in the work product is covered. - Flaws are corrected following the meeting.
- Only those defects that will be corrected should
be checked for during the inspection.
30Issues with Inspections
- Detecting problems that never need to be
corrected wastes effort. - Not following through
- Picking at details
- Inspecting too much
- 80/20 rule
- Solving problems rather than identifying them