Professional Software Development



Similar documents
Introduction to Software Engineering Professional Issues SWENET OSE2 Module June 2003

Professional Software Engineering: Fact or Fiction?

R I T. IEEE Computer Society Certified Software Development Professional (CSDP) Exam. Buenos Aires, Argentina Junio de Software Engineering

Systems vs. Software Engineering Skills: A Gap Analysis

Software Development s Low Hanging Fruit.

By Brian L. Yoder, Ph.D.

The Emergence of Software Engineering Professionalism

University Your selection: 169 universities

AACSB Accredited Business Schools with Management Consulting Courses in MBA Programs (April 2004)

NAAB Accredited Program List

2009 GRADUATE FACULTY IN PSYCHOLOGY INTERESTED IN LESBIAN, GAY, BISEXUAL, & TRANSGENDER ISSUES SURVEY

By Brian L. Yoder, Ph.D.

ARCHITECTURE TOP 20 PROGRAMS 2014

Demographic Trends of Engineering Students

USA Climbing: Collegiate Teams Adams State College Arizona State University Auburn University Austin Community COllege Austin Rock Gym

2010 NRC R and S Rankings of UC Santa Cruz Research-Doctorate Programs

10 Keys to Successful Software Projects: An Executive Guide

NUMBERS. Engineering degrees increased at all levels THE YEAR IN BY MICHAEL T. GIBBONS

Current U.S. News and World Report Rankings Public and Private *

SALARY SURVEY EXECUTIVE SUMMARY SPRING Featuring: Actual Starting Salaries for Class of 2014 Bachelor s Degree Graduates

The Emerging Profession of Software Engineering. Dennis J. Frailey April 7, 2008 Presented at ITNG 2008

The Emergence of Software Engineering Professionalism

Your Direct Connection Between the US and Canada

SINGAPORE PHARMACY COUNCIL S RECOGNISED QUALIFICATIONS

CHART 4: Eligibility to Take the Bar Examination: Foreign Law School Graduates

The SWEBOK Guide A Curriculum Analysis Tool

SCHOOL SCHOOL S WEB ADDRESS. HOURS Tempe Arizona Ph.D January 15 $60 Not given 550/213

Under Fire: University Recognition Update. Chicago 10 Room July 25, :45pm-5:00pm

Donald D. Button P.E., CFEI. Senior Electrical Forensic Consulting Engineer (P.E.) Certified Fire and Explosion Investigator (CFEI)

Introduction to Software Engineering. Week 1

Non-NAAB Accredited Program List

Profile of IEEE Consultants, 2004 Prepared by R.H. Gauger, P.E. December 2004

SCHOOL TAKING EXAM PASS FAIL ADLER SCHOOL OF PROFESSIONAL PSYCHOLOGY ALFRED UNIVERSITY ALLIANT INTERNATIONAL UNIVERSITY ALHAMBRA

Doctoral Programs in Communication: Updated Report for Graduates

Donald D. Button P.E., CFEI. Engineer: Senior Electrical Forensic Consulting Engineer

NIH 2009* Total $ Awarded. NIH 2009 Rank

Summary of Doctoral Degree Programs in Philosophy

Is the Uniform Certified Public Accounting Exam Uniform?

Summary of Doctoral Degree Programs in Philosophy

NAAB-Accredited Architecture Programs in the United States

Participating Institutions A.T. Still University of Health Sciences Abilene Christian University ANTIOCH UNIVERSITY Arizona University

Clinical Nurse Leader SM Education Models Being Implemented by Schools of Nursing April 2014

Catholic High School College Acceptance List

By Brian L. Yoder, Ph.D.

Joint Session with CLEReg Law Practice Management

CADC Degree Program Overviews

What to Know About State CPA Reciprocity Rules. John Gillett, PhD, CPA Chair, Department of Accounting Bradley University, Peoria, IL

27.9% of the graduates responded. Respondents. Degree Surveys with Salaries Male Average Female Average. Table of Contents

Professional Development Ladder

Ranking M.S. and Ph.D. Programs in Agricultural Economics Spring Gregory M. Perry 1

Software Engineering Profession and Discipline

BenefitsMonitor National Higher Education Participants. Mercer Health & Benefits 20

SyStaffID Highest Degree Earned HDE Institution School Program PhD in Organization & Management School of Business PhD in Finance

COLLEGES Aberdeen, University of Alabama, University of Alaska, University of at Anchorage Arizona State University Arizona, University of Arkansas,

The Week. Field Served: A comprehensive, balanced distillation of national and international news, opinions and ideas.

Compare Your Stats Pharmacy

Robert J. Robson, MDCM, MSc., FRCP(C) 116 York Street East, Elora, Ontario, Canada N0B 1S0 Phone Fax

Schaeffer Academy students have been accepted at these colleges and universities:

COMPILATION OF STATE RULES, REGULATIONS AND STATUTES FOR THE LICENSING OF LAND SURVEYORS, LAND SURVEYORS IN TRAINING, AND COMITY

MAGAZINE Publisher s Statement 6 months ended June 30, 2015 Subject to Audit

Psychology NRC Study S Rankings (1 of 6)

Psychology NRC Study R Rankings (1 of 6)

Efficient Way to Learn SAS with Virtually No Cost

2010 Top 100 Colleges in the United States

Computing Degree and Enrollment Trends

A Comparison of the ERP Offerings of AACSB Accredited Universities Belonging to SAPUA

93% of respondents would choose to attend CofC again 54% of respondents would choose the same major again Appendix A: Response Rate by Major

The Value of National Accreditation

Tuition and Fees. & Room and Board. Costs

Environmental Studies (ES)

Lessons Learned in Software Project Outsourcing

Software Executive Summit. Executive Briefing Day

Public Accounting Report 31st Annual Professors Survey Top 25 Master s Rankings

Employers Favor State Schools for Hires Wall Street Journal SEPTEMBER 13, 2010

Universities classified as "high research activity"

Transcription:

Professional Software Development Steve McConnell stevemcc@construx.com www.construx.com/stevemcc/ 2000-2003 Steven C. McConnell. All Rights Reserved. Construx What I ve Learned Since 1999 Licensing is way more controversial than I thought The world didn t fall apart on Jan. 1, 00 Lots of software projects do succeed Modern software development is truly impressive in many respects consulting training software projects construx.com 2

Why Don t People Use Better Development Practices? Gold Rush vs. Post-Gold Rush Software Development

The Nub of the Problem (As expressed 350 years ago) The root of all superstition is that men observe when a thing hits but not when it misses. -- Francis Bacon consulting training software projects construx.com 5 The Nub of the Problem (As expressed in today s terms) 1,000+% 400% This is the only project people notice Profit 300% 200% 100% 0% -100% Gold rush companies ordered by time consulting training software projects construx.com 6

How Often Does Gold Rush Development Succeed? 81 percent of all small-company CEOs (<500 employees) surveyed thought an IPO was very likely or somewhat likely Of Inc. Magazine s 500 fastest growing companies in 1998, 108 planned an IPO within 12 months One year later, only 8 of 108 had actually gone public or filed to go public IPOs ( going public ) is a red herring for the vast majority of companies consulting training software projects construx.com 7 Gold Rush Software Development Customer Characteristics High risk tolerance Time to market is critical, more important than reliability and other product characteristics Developer Characteristics Small team sizes Informal work practices Sample Product: MS Mac Word 1.0 consulting training software projects construx.com 8

Post-Gold Rush Software Development Customer Characteristics Low to moderate risk tolerance Time to market is much less important than reliability, interoperability, usability, etc. Developer Characteristics Medium to large team sizes Increasingly formal work practices Sample Product: Current version of MS Word for Windows consulting training software projects construx.com 9 Observations The problem with gold-rush development practices is that sometimes they work! Post-gold-practices work better even during a gold rush The rub: companies typically can t develop post-gold-rush abilities during a gold rush consulting training software projects construx.com 10

Maturation of a Profession Art Without Engineering consulting training software projects construx.com 12

Art With Engineering consulting training software projects construx.com 13 Development of a Profession Production Science Craft Commercial Professional consulting training software projects construx.com 14

State of the Practice State of the Practice: Project Resolution 101-200% Late 16% More than 200% Late 6% Cancelled 29% This is extravagant use of available resources Source: (Standish Group, 1999) 51-100% Late 9% 21-50% Late 8% Less than 20% Late 6% On-Time 26% consulting training software projects construx.com 16

Best Practices (year first available) Project planning and management practices Automated estimation tools (1973) Evolutionary delivery (1988) Measurement (1977) Productivity environments (1984) Risk-management planning (1981) Requirements engineering practices Change board (1978) Throwaway user interface prototyping (1975) JAD sessions (1985) consulting training software projects construx.com 17 Best Practices (year first available, cont.) Design practices Information hiding (1972) Design for change (1979) Construction practices Source code control (1980) Incremental integration (1979) Quality assurance practices Branch-coverage testing (1979) Inspections (1976) Process improvement SW-CMM (1987) Software Engineering Process Groups (1988) consulting training software projects construx.com 18

Cargo Cult Software Engineering In the South Seas there is a cargo cult of people. During the war they saw airplanes with lots of good materials, and they want the same thing to happen now. So they ve arranged to make things like runways, to put fires along the sides of the runways, to make a wooden hut for a man to sit in, with two wooden pieces on his head for headphones and bars of bamboo sticking out like antennas he s the controller and they wait for the airplanes to land. They re doing everything right. The form is perfect. It looks exactly the way it looked before. But it doesn t work. No airplanes land. So I call these things cargo cult science, because they follow all the apparent precepts and forms of scientific investigation, but they re missing something essential, because the planes don t land. Richard Feynman consulting training software projects construx.com 19 Examples of Cargo Cult Software Engineering Producing documentation for the sake of documentation Working overtime for the sake of working overtime Slavish adherence to the SW-CMM Uncritical adoption of RUP Uncritical adoption of Extreme Programming Any elevation of form over substance consulting training software projects construx.com 20

Food for Thought (Courtesy of the U.S. Department of Agriculture) U.S. Agricultural Extension Service has been the most successful technology diffusion program in the world Agricultural extension employs 17,000 people to serve 3.8 million farm workers SEI employs 300 people to serve 1.8 million software workers Diffusion has not and will not occur by itself! consulting training software projects construx.com 21 General Approach to Establishing Better Practices Organizational level Hospitals, universities, accounting firms Mechanism is organizational assessment This is already happening through SW-CMM Individual level: Professionalism Doctors, nurses, professors, accountants Mechanisms are certification and licensing This is underway in software engineering, but is not yet widespread consulting training software projects construx.com 22

Creating a True Profession of Software Engineering A Profession for the Twenty-First Century Elements of a Profession Body of Knowledge Accredited university education Apprenticeship period Specialty exam after apprenticeship for licensing/certification Code of ethics Oversight by professional societies consulting training software projects construx.com 24

Current Status of the Software Engineering Profession Many of the elements already exist The rest are under development and/or being put into place now Further details on the following slides... consulting training software projects construx.com 25 The Software Engineering Body of Knowledge (SWEBOK) Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Quality Software Engineering Management Software Tools and Methods Software Engineering Process www.swebok.org consulting training software projects construx.com 26

Programmer Education Graduate degree 14.0% High school graduate or less 10.0% Some college, no degree 21.0% Bachelor's degree 45.0% Associate's degree 10.0% consulting training software projects construx.com 27 More on Education About 40% of all workers have a softwarerelated degree About half of the 40% obtained a degree in something else first About 20% have a degree in something else, but no software-related degree About 40% do not have a 4-year degree consulting training software projects construx.com 28

Graduate (Masters) Programs Are Well Established U.S. Azusa Pacific University Carnegie Mellon University Embry-Riddle Aeronautical University Kansas State University Seattle University Texas Christian University University of Texas at Austin University of Maryland University of Minnesota Institute of Technology Andrews University Colorado Technical University at Colorado Springs DePaul University U.S. (cont.) Drexel University Mercer University Monmouth University Southern Polytechnic State University Southern Methodist University University of Houston, Clear Lake University of Michigan University of Scranton University of Southern California University of St. Thomas Canada Universite du Quebec a Montreal University of Calgary consulting training software projects construx.com 29 New Undergraduate Programs Are Being Created U.S. Auburn University Clarkson University Embry-Riddle Aeronautical University Florida State U. of Michigan-Dearborn Milwaukee School of Engineering Mississippi State University Monmouth University Montana Tech Rochester Institute of Technology U. Texas at Arlington U. Texas at Dallas University of Wisconsin-Platteville Canada McMaster University Memorial University of Newfoundland University of Ottawa * These programs have been accredited by ABET consulting training software projects construx.com 30

Certification of Software Engineers (Voluntary) IEEE has developed a Certified Software Development Professional program, which was rolled out in 2002 consulting training software projects construx.com 31 Licensing is Underway Texas initiated licensing of professional software engineers in 1998 British Columbia initiated licensing in June 1999 Ontario initiated licensing in September 1999 Other states and provinces are studying the issue including Illinois, Alberta, Quebec, and others consulting training software projects construx.com 32

Who Will Licensing Affect? Most people will never need to be licensed Not for in-house programming work Not everyone on a team--only the person who signs his or her name Percentage of engineers licensed in other engineering fields ranges from 44% for civil engineers to 8% for chemical engineers Software will be on the low end of the range (or lower) consulting training software projects construx.com 33 ACM/IEEE-CS Code of Ethics 1 PUBLIC - Software engineers shall act consistently with the public interest. 2 CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest. 3 PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4 JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment. consulting training software projects construx.com 34

ACM/IEEE-CS Code of Ethics (continued) 5 MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6 PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7 COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. 8 SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. consulting training software projects construx.com 35 Professional Societies IEEE Computer Society www.computer.organization consulting training software projects construx.com 36

Resources How Construx Can Help Support Your Company s Professionalism Organizational Assessments and Recommendations Training Needs Assessment Seminars Focused Workshops (requirements, estimation, etc.) Coaching & Consulting consulting training software projects construx.com 38

Professionalism Resources Construx Software s professionalism website, professional ladder and recommended reading www.construx.com/profession/ www.construx.com/ladder/ IEEE-CS Software Engineering Certification Homepage http://www.computer.org/certification/ University of Texas s software professionalism website www.cs.utexas.edu/users/ethics/professional.html Professional Software Development, by Steve McConnell (Addison Wesley, 2004) consulting training software projects construx.com 39 Closing Thought (from 350 years ago) Hope is a good breakfast, but it is a bad supper. -- Francis Bacon consulting training software projects construx.com 40

Construx Delivering Software Project Success Software Projects Coaching & Consulting Training info@construx.com www.construx.com consulting training software projects construx.com 41