5 Habits of Highly INeffective Programmers

Slides:



Advertisements
Similar presentations
MASTERS INDUCTION USING A CASE STUDY. LEARNING OBJECTIVES FOR THIS SESSION Understand the use of case studies in teaching business strategy Provide a.
Advertisements

What is the real problem?
Department of Chemical Engineering, University of Michigan, Ann Arbor 1 5/20/2015 Problem Definition Techniques Critical Thinking 4. K-T Problem Analysis.
SENG 531: Labs TA: Brad Cossette Office Hours: Monday, Wednesday.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Logic and Problem Solving Advanced Computer Programming.
Problem Solving Professor: Dr. Miguel Alonso Jr..
Chapter 8: Problem Solving
5 Habits of Highly INeffective Programmers 1.Design with less than total focus 2.Disorganized code –Style, comments, design 3.Bite off more than you can.
Creative Problem Solving Buddy D. Ratner Based, in part, on: Fogler and LeBlanc, “Strategies for Creative Problem Solving,” Prentice Hall, 1995 A set of.
ECE194 S’01 Introduction to Engineering Design Arizona State University 1 The Statement-Restatement Technique “Engineering is an iterative process; one.
Problem Definition Chapter 7. Chapter Objectives Learn: –The 8 steps of experienced problem solvers –How to collect and analyze information and data.
/0904 © Business & Legal Reports, Inc. BLR’s Training Presentations Creative Problem-Solving.
1 TenStep Project Management Process ™ PM00.4 PM00.4 Project Management Preparation for Success * Manage Issues *
A Method for Improving Code Reuse System Prasanthi.S.
8-2 Data Gathering Warm Up Lesson Presentation Lesson Quiz
The Challenge of Change
Critical Thinking What is critical thinking?
Getting Started with Flow
Job Interviews.
Helping Students Examine Their Reasoning
Environment/Recycle Meghan Corbett Alyssa Greene Nichole Hall.
Assessing Your Strengths
ROOT CAUSE ANALYSIS RCA
Root Cause Analysis: An Introduction
The Six Thinking Hats Supannika K Mobasser.
Problem Definition Techniques
Take-Away Learning To understand why knowledge of how to improve learning isn’t always enough to improve learning. To identify causes and symptoms of the.
Business Friendly Customer Service
Solving Problems Skillfully
Imran Hussain University of Management and Technology (UMT)
Problem Solving Updated Jun 2016.
10 Reasons to do a DILO At Least Once in your Life
What YOU Need to Know About Risk Management
Shipping Freight - All That You Need To Know
The Importance Of Regularly Plumbing Inspections At Home
Reading ML # Chapter Three: Supporting Details
By Jennifer Forsthoefel Courtesy of The Writing Studio
Building your Company’s Customer Insights Department
Productive Work Habits
The present state - desired state technique
ENERGY RESOURCES Learning Objectives We will be learning about:
Winning at Math Series Set III Taking a Math Exam
Science Focus Lesson SC.4.E.6.3 Renewable/ Nonrenewable Resources
Software Testing and Maintenance Maintenance and Evolution Overview
Mastery at Hillyfield.
Climate and Change 5.
FUTURE JOBS READERS Level 3-⑤ Data Miners.
Health and Wellness Miss Sarina – 8/9/2014.
Lesson 9: Making Decisions
5 Why’s Overview.
Lesson 9: Making Decisions
What YOU Need to Know About Risk Management
Last Day Factors that affect reaction rates Nature of reactants
8-2 Data Gathering Warm Up Lesson Presentation Lesson Quiz
The Challenge of Change
Marzano Vocabulary Instruction Follow-Up
Lecture 5: Writing Page
Data Gathering Warm Up Lesson Presentation Lesson Quiz
THE 7 HABITS OF HIGHLY EFFECTIVE PEOPLE
Paul Morris CIS144 Problem Solving Methodologies
Chapter Three: Supporting Details
What Gases make up the Atmosphere?
Building Better Classes
Effective Questioning
The Engineering Design Process – Review
Chapter 14 Tobacco Lesson 1 Facts About Tobacco.
TS
mastery Maths with Greater Depth at Rosehill Infant SCHOOL
It Takes Two: November 10, 2018 Teachers and Students Work Together
What YOU Need to Know About Risk Management
Presentation transcript:

5 Habits of Highly INeffective Programmers Design with less than total focus Disorganized code Style, comments, design Bite off more than you can chew During implementation Debug in a random walk Program/debug in zombie mode a.k.a. Don’t start early enough, don’t pace

7 Habits of Highly Effective People (Covey) Be Proactive: Take initiative, seek new ideas Begin with the end in mind: Have a goal Put first things first: Prioritize, organize Think win/win: Seek mutual benefits Seek first to understand, then to be understood: Learn first, be adaptable Synergize: Make the whole greater than the parts Renewal: Physical, mental, spiritual, emotional

Problem-solving in the Large In-the-small There is an answer, the problem is to find it In-the-large Many possible solutions More complex problems -> more alternative solutions The goal is to pick the best solution 3

Problem-solving Process Define the problem Generate solutions Analysis for deciding the course of action Implement the solution Evaluation

Problem Definition The first step is to define the “right problem” The “real problem” is often disguised Symptoms vs. root problem Example 1: Store had a rain forest health food mix It didn’t sell Perceived problem: overpriced Real problem: badly displayed

Example 2: Oil Recovery Oil company had underperforming oil field Perceived problem: “Find ways to improve the oil recovery” After years of effort, still no improvement Eventually discovered that the estimates of oil in field were wrong Real problem: “Learn why the well was not producing well”

Example 3: Flow Meter Flow meters in a chemical plant were being corroded and would leak Perceived problem: “Find materials to make meter from that will not corrode” After much effort, no such materials were found Real problem: “Keep the flow meter from leaking” Solution: Regularly replace (cheap) flow meters

Example 4: Gas from Coal A coal-to-gas process was generating tar-like substances in pipes Perceived problem: “Improve the solvents used to dissolve the coal to avoid the tar” No solvent was found that worked Real problem (generalize): “Determine why tar deposits are forming, and avoid them” Solution: Increase velocity in pipes gives coal and solvent less time to react and scours pipes clean

First Four Steps: Problem Definition Collect and analyze information and data List every relevent thing you can think of. Fill in missing gaps Talk with people familiar with the problem Look past the obvious get clarifications when you don’t understand If at all possible, view the problem first hand Confirm all findings.

Examples Hotel needs new elevators: Plastics factory: New shafts would cut rooms, etc Doorman suggested adding elevator to outside of building Plastics factory: New factory generated defective plastic Extensive analysis of design and materials detected no flaw Eventually an engineer decided to look at the plant A valve was set wrong, and no coolant reached the equipment

Problem Statement Check out the problem statement: Where did the problem originate? Who posed the problem statement? Your boss? Their boss? Colleague? Client? Can that person explain their reasoning? Are the reasoning and assumptions valid? Has that person considered different viewpoints? Have you used steps 1-4 to gather information? Always check the problem statement.

Present State vs. Desired State Define the present state Define the desired state Make sure both are precise Make sure they match

Example Situation: Too many bombers in WWII shot down. Many come back with bullet holes in similar spots Perceived problem: Reinforced damaged areas with thicker armor plating Mismatch: Present: Many bullets penetrating aircraft Desired: Fewer planes being shot down Not a match because surviving planes have bullet holes

Example (cont) New statements: These statements match Present: Many bullets penetrating critical and non- critical areas Desired: Fewer bullets penetrating critical areas These statements match This focuses on the real problem The original solution “fixed” something that wasn’t causing the real problem Planes with holes in non-critical areas were not the ones shot down

Dunker Diagram Trees in two dimensions Example: Find a better job Steps: Goal What to do How to do it Desired state vs. Make present state OK Example: Find a better job Find a better job Make present job OK

Example: Teaching Problem: Kindergarten teacher burned out from 25 years of teaching Quit teaching Find a new job Office manager Retire Make it OK not to quit More leisure time Teach alternate terms Teach half days Lower stress level Teach different grade Get more control over content

Example: Cereal Situation: Stale cereal in stores Perceived problem: Streamline the production process to get cereal on store shelves faster Get cereal to market faster Build plants closer to market Improve transportation Hire faster trucks and race car drivers Ignore speed limits Use jet planes

Cereal (cont) Make it OK for cereal NOT to get to market faster Stop making cereal Make cereal stay fresher longer Add chemical to slow spoiling Make better boxes Convince customers that stale cereal is OK

Statement/Restatement Original: Cereal not getting to market fast enough to retain freshness Put emphasis on different words (cereal, getting, market, freshness) Pick a term with a definition by replacing term with the definition (cereal -> Breakfast food that comes in box) Reverse: How can we make cereal get to market so slowly that it is never fresh? Change “every” to “some,” “always” to “sometimes,” etc Challenge assumptions (maybe cereal doesn’t get to store already stale?)