By Mike Rogers November 19 th, 2014. Introduction What is not craftsmanship What craftsmanship is Why craftsmanship can be rare Why craftsmanship can.

Slides:



Advertisements
Similar presentations
House Styles Chapter 3. Contents This presentation covers the following: – Why organisations need a consistent house style. – Master documents, style.
Advertisements

MEMORY MANAGEMENT Y. Colette Lemard. MEMORY MANAGEMENT The management of memory is one of the functions of the Operating System MEMORY = MAIN MEMORY =
The Perfect Pitch - Agenda
Click to add text © IBM Corporation Optimization Issues in SSE/AVX-compatible functions on PowerPC Ian McIntosh November 5, 2014.
Hardware and Software Chapter 2.
Good Day This is your 30-Second $ Asset Development $ Training ENJOY Click here to begin.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Hastings Purify: Fast Detection of Memory Leaks and Access Errors.
An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Computer ArchitectureFall 2008 © CS : Computer Architecture Lecture 22 Virtual Memory (1) November 6, 2008 Nael Abu-Ghazaleh.
Lean Manufacturing "There is only one boss: the customer. And he can fire everybody in the company, from the chairman on down, simply by spending his money.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Money Management 28.2.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Simulation.
AS Economics and Business Economies and Diseconomies of Scale Unit 2b By Mrs Hilton for revisionstation.
 How have you faced competition?  How would you define competition in economic terms?  What does perfect competition mean to you? DO NOW.
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Storage Systems.
CSC 395 – Software Engineering Lecture 34: Post-delivery Maintenance -or- What’s Worse than Being a Code Monkey?
1 Agile is Dumb. 2 Look at Moodle List of Essays Get in groups of 4-5 Divide and read the readings in the category “agile is dumb” – About 20 minutes.
No, Thanks, I’ll Use a Spreadsheet
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Chapter 15 Projecting Defects( 缺陷预测 ). 山东大学齐鲁软件学院 2 outline  Analyze and use your defect data to help improve both planning accuracy and product quality.
Spreadsheets in Finance and Forecasting Presentation 8: Problem Solving.
Chapter 17, Lesson 2.  Making a trade-off is giving up one alternative good or service for another.  If you choose to buy one thing, you may not be.
Name Hometown Program Employer/Student Fun Fact 1.
Week 2 - Monday.  What did we talk about last time?  Software development  Lab 1.
Question 23 As an accountant of an organization, discuss why it might be necessary to initiate systems analysis. {6 marks} Giving reasons for your answer,
Introduction to Algorithms 6.046J/18.401J/SMA5503 Lecture 14 Prof. Charles E. Leiserson.
Program Development Life Cycle (PDLC)
1 The Instant Data Warehouse Released 15/01/ Hello and Welcome!! Today I am very pleased to announce the release of the 'Instant Data Warehouse'.
© 2007 by Prentice Hall 1 Introduction to databases.
Files are at risk from loss if your computer breaks or if you get a virus. Files can also become corrupted. Solutions: Make regular back ups of files Use.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
Team Name: Group C.  Zisimos  Team Leader, Software Engineer  Richard  Hardware Engineer  Michael  Hardware Engineer  Jason  Software Engineer.
Word problems DON’T PANIC! Some students believe they can’t do word problem solving in math. Don’t panic. It helps to read the question more than once.
Warm UP 1.What is the difference between gross pay and net pay? 2.What is the difference between a deduction and a bill? 3.What is the difference between.
By Fintan Morrison. Why it has a place? It has a place because some people like to edit the software to their liking also the software may need to be.
LLLLLLLeeeeeeeeettttteerssssss. Read the definition and then put the letters in the correct order in order to find the word defined.
Task 1B Multiple Choice Quiz. Quiz Link Part 1: Z Z Part2:
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Phone Apps and Their Uses By: Deividas Vavilovas.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
Preparing the pitch Dr. Jon D. Pratt Center for E’ship & I.T October 8, 2009.
Economics. Opportunity Cost: Consumers When individuals produce goods or services, they normally trade (exchange) most of them to obtain other more desired.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
By: Brendan Goldberg Professor Elaine Wenderholm Introduction to Information Science.
Chapter VI What should I know about the sizes and speeds of computers?
Warm-Up -8 – 7 = 4 x (-8) = -6 x (-6) = 48 / 8 = 9 – 12 = -66 / 6 =
Refactoring and Integration Testing or Strategy, introduced reliably by TDD The power of automated tests.
Explain the process I went through and reflect upon all of the pros and cons of all of the technology I have used throughout my creation of my Hip-Hop.
NATIONALISATION. Main premises Attack those premises ! “ The government cares about its people and will therefore take decisions most beneficial for the.
THE MOST EXPENSIVE ISN’T THE BEST, HERE’S WHY. COST EFFECTIVELY MEAL DELIVERY A good food delivery service needn’t always be an expensive option for your.
ITIL Training Observations Rick Kwarciany 12 November 2013.
Marketing Research Chapter 28. Sec. 28.1—Marketing Information Systems The importance of marketing research The function of a marketing information system.
A Method for Improving Code Reuse System Prasanthi.S.
CSC 108H: Introduction to Computer Programming
Week 2 - Wednesday CS 121.
Fuel Cap Reinvented Fueloyal Presents Smart Fuelcap
Custom made & Off-the-shelf software
Why Software Test Outsourcing Doesn't Work...Anymore.
Why Technology Startups Should Not Ignore Software Testing.
A Secret Weapon for Startup Ventures
Marketing Research Chapter 28.
Inventory Control Alexis Vasavilbazo 6/28/2019.
Presentation transcript:

By Mike Rogers November 19 th, 2014

Introduction What is not craftsmanship What craftsmanship is Why craftsmanship can be rare Why craftsmanship can be time consuming Why craftsmanship can be expensive The benefits of craftsmanship

What is not craftsmanship? Coding software is not production Is not an assembly-line manufacturing process It is not that pesky dialog box asking “Are you sure?” Is not quite the correct term for making software Coding software is not always about craftsmanship

What is craftsmanship? Craftsmanship is mainly about design Design adds value much faster than it adds cost The last 1% of the code takes 90% of the time Only 1% of users ever “sees” this code A craftsman will take the extra effort in making rare test cases work more than the main code

CityDesk 3.0 Example 1. Open the file 2. Read it into a big byte array 3. Store the byte array into a record

What it is definitely not

What is it really? Sometimes fixing a 1% defect takes 500% effort A craftsman will take a lot of time just to get something right Due to all that effort most software artifacts are only 99% good not 100% good

Craftsmanship to me

Craftsmanship to me(cont.)

Why it can be rare Craftsmanship is incredibly expensive The only way to afford true craftsmanship is to develop for a much larger audience Internal house applications will never see a high level of craftsmanship because there are not enough users to spread the cost out

Why it can be time consuming Tracking down and fixing elusive bugs in order to perfect the program takes time The algorithm for how a program does something specific could take a long time to develop The solution may not be readily apparent

Why it can be expensive Craftsmanship means more time trying to get something just right More time means paying more developers to work on perfecting existing product when it could be spent on new projects, therefore potentially costing new money More time and more developers means lots of money being spent

Benefits of craftsmanship “For a shrink-wrapped software company a high level of craftsmanship is precisely what delights users and provides longstanding competitive advantage.”

Summary What craftsmanship is What craftsmanship is not Why craftsmanship can be rare Why craftsmanship can be time consuming Why craftsmanship can be expensive The benefits of craftsmanship

End Questions?