Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 


or
Sign in to turn on 1-Click ordering
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers [Paperback]

by Steve McConnell
3.7 out of 5 stars  See all reviews (22 customer reviews)

List Price: $54.99
Price: $37.25 & FREE Shipping. Details
You Save: $17.74 (32%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 14 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it tomorrow, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Paperback $37.25  
Sell Us Your Books
Get up to 80% back when you sell us your books, even if you didn't buy them at Amazon. Learn more

Book Description

July 10, 2003 0321193679 978-0321193674 1
Renowned software expert Steve McConnell helps software students transition to the role of software professionals. Significant developments are afoot that will impact the future careers of student programmers, including initiatives in education, professional development, certification, and licensing. Some of these developments are well thought out and positive; others are being forced and need to be improved before they are standardized. Software development is changing, whether programmers recognize it or not. Programmers who are not paying attention could easily find themselves working as twenty-first century software janitors. This book describes the occupation of computer programming as it exists today and the profession of software engineering as it can exist in the future.

Frequently Bought Together

Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers + Rapid Development: Taming Wild Software Schedules + Code Complete: A Practical Handbook of Software Construction, Second Edition
Price for all three: $90.03

Buy the selected items together


Editorial Reviews

Excerpt. © Reprinted by permission. All rights reserved.

It looks obvious until you try it.
—IEEE Software

My flight was waiting on the runway when the captain made an announcement. "We've had some trouble with the plane's air conditioning system. In a plane, the air conditioner controls the oxygen levels so we need to make sure it's working before we can take off. Restarting the air conditioning unit hasn't worked, so we're going to power down the aircraft and power it back on. These modern airplanes are all computer controlled, you know, so they're not very reliable."

The pilot powered down the airplane, powered it back up—essentially, rebooted the airplane—and our flight continued without incident. Needless to say, I was especially glad to deplane at the end of that particular trip.

The Best of Times, the Worst of Times

The best software organizations control their projects to meet defined quality targets. They accurately predict software delivery dates months or years in advance. They deliver their software projects within budget, and their productivity is constantly improving. Their staff morale is high, and their customers are highly satisfied.

  • A telecom company needed to change about 3,000 lines of code in a code base of about 1 million lines of code. They made their changes so carefully that a year later no errors had been found in operation. Their total time to make the changes—including requirements analysis, design, construction, and testing--was 9 hours.
  • A team developing software for the United States Air Force committed to a one-year schedule and a $2 million budget even though other credible bids for the project had run as high as two years and $10 million. When the team delivered the project one month early, the project manager said the team's success arose from using techniques that have been known for years but that are rarely used in practice.
  • An aerospace company develops software for companies on a fixed-price basis. Three percent of its projects overrun their budgets; ninety-seven out of a hundred meet their targets.
  • An organization that committed to achieving outstanding quality attained an average of 39 percent reduction in its post-release defect rate every year for a period of 9 years—a cumulative reduction of 99 percent.
  • In addition to these notable successes, software pumps billions of dollars into the economy every year, both directly through sales of software itself and indirectly through improved efficiency and through creation of products and services that are made possible only with software's support.

    The practices needed to create good software have been well established and readily available for 10 to 20 years or more. Despite some amazing triumphs, however, the software industry is not living up to its full potential. There is a wide gulf between the average practice and the best, and many of the practices in widespread use are seriously outdated and underpowered. Performance of the average software project leaves much to be desired, as many well-known disasters will attest.

  • The IRS bumbled an $8 billion software modernization program that cost the United States taxpayers $50 billion per year in lost revenue.
  • The FAA's Advanced Automation System overran its planned budget by about $3 billion.
  • Problems with the baggage handling system caused a delay of more than a year in opening Denver International Airport. Estimates of the delay's cost ranged as high as $1.1 million per day.
  • The Ariane 5 rocket blew up on its maiden launch because of a software error.
  • The B-2 bomber wouldn't fly on its maiden flight because of a software problem.
  • Computer-controlled ferries in Seattle caused more than a dozen dock crashes, resulting in damage worth more than $7 million. The state of Washington recommended spending more than $3 million to change the ferries back to manual controls.
  • Many projects that are lower profile than these are equally troubled. Roughly 25 percent of all projects fail outright,12 and the typical project is 100 percent over budget at the point it's cancelled. Fifty percent of projects are delivered late, over budget, or with less functionality than desired.

    At the company level, these cancelled projects represent tremendous lost opportunity. If projects that are ultimately cancelled could be shut down at 10 percent of their intended budgets rather than 200 percent, imagine what a company could do by redirecting those resources at projects that were not ultimately cancelled.

    At the national level, cancelled projects represent prodigious economic waste. A rough calculation suggests that cancelled software projects currently impose about a $40 billion drain on the United States economy.

    When projects succeed, they can still present risks to the public safety or welfare. A project lead at Lotus received a call from a surgeon who was using a spreadsheet to analyze patient data during open-heart surgery. Newsweek magazine printed pictures of soldiers using Microsoft Excel on laptop computers to plan operations, and the Excel technical support team has received calls from the battlefield during active military operations.

    The Purpose of This Book

    Software development can be predictable, controllable, economical, and manageable. Software isn't usually developed that way, but it can be developed that way. This book is about the emerging profession of software engineering—and professional software practices that support economical creation of high-quality software.

    The essays in this book address questions like these:

  • What is software engineering?
  • How does software engineering relate to computer science?
  • Why isn't regular computer programming good enough?
  • Why do we need a profession of software engineering?
  • Why is engineering the best model for a software development profession?
  • In what ways do effective practices vary from project to project (or company to company), and in what ways are they usually the same?
  • What can organizations do to support a professional approach to software development?
  • What can individual software developers do to become full-fledged professionals?
  • What can the software industry as a whole do to create a true profession of software engineering?
  • How This Book Is Organized

    The parts in this book progress from looking at the trade of computer programming as it exists today to exploring the profession of software engineering as it might exist in the future.

    Part 1, The Software Tar Pit, explains how the software field got to be the way it is. There are many valid reasons why the software field came to its current state. Understanding those reasons should be used to accelerate, not delay, the changes needed to make successful projects an everyday habit.

    Part 2, Individual Professionalism, looks at the steps individuals can take on their own to achieve higher levels of software professionalism.

    Software projects are so complex that numerous key factors cannot be addressed effectively at the individual level. Part 3, Organizational Professionalism, digs into the organizational practices needed to support more professional software projects.

    Part 4, Industry Professionalism, examines steps that must be taken by the software industry at large to support professionalism at the individual and organizational levels.

    What I've Learned Since 1999

    Professional Software Development is an updated and significantly expanded edition of my 1999 book, After the Gold Rush. Since 1999, I've learned several lessons that are reflected in this new edition:

  • Licensing of software developers is more controversial than I expected. I still think that licensing a small percentage of software engineers is an important step toward protecting the general public's safety and welfare. I have tried to clarify that licensing is only one of many initiatives needed to improve the software development profession, and not the most important one.
  • Education of software engineers does not have to be tightly linked to licensing. Undergraduate and graduate educational programs can seek to instill an engineering mindset in software developers without necessarily preparing them to become licensed professional engineers. Indeed, if fewer than five percent of software developers are eventually licensed—which seems likely—targeting the majority of educational programs at licensing seems misguided.
  • The world didn't fall apart on January 1, 2000. Although I didn't think Y2K would be catastrophic, I did believe that Y2K-related problems would be more significant than they were. The software industry's repair efforts turned out to be far more effective than I expected. Beyond that, the Y2K problem itself was in some sense a result of successful software development practices. Y2K would not have been an issue in the first place if so many software systems had not survived longer than their originally expected lifespans.
  • Modern software development is truly impressive in many respects, and any comments about professionalizing the field of software development should account for software's numerous successes. We must be careful not to throw out the field's better practices as we try to strengthen the weaker ones.
  • Who Should Read This Book

    If you develop software for a living, this book will explore what you need to do to become a truly professional software developer.

    If you manage software projects, this book will summarize the differences between poorly run and well run software projects and overview what you can do to make your projects more successful.

    If you manage a software organization, this book will outline the benefits available from systematic approaches to software development and sketch what you need to do to realize those benefits.

    If you are a student who wants to work in the software field


    Product Details

    • Paperback: 272 pages
    • Publisher: Addison-Wesley Professional; 1 edition (July 10, 2003)
    • Language: English
    • ISBN-10: 0321193679
    • ISBN-13: 978-0321193674
    • Product Dimensions: 9.3 x 7.1 x 0.7 inches
    • Shipping Weight: 1.2 pounds (View shipping rates and policies)
    • Average Customer Review: 3.7 out of 5 stars  See all reviews (22 customer reviews)
    • Amazon Best Sellers Rank: #817,099 in Books (See Top 100 in Books)

    More About the Author

    I am CEO and Chief Software Engineer at Construx Software (www.construx.com). I've written Software Estimation, Code Complete, Rapid Development, Software Project Survival Guide, and Professional Software Development. I live in Bellevue, WA (near Seattle).

    Customer Reviews

    Most Helpful Customer Reviews
    34 of 37 people found the following review helpful
    5.0 out of 5 stars Another Classic by Mr. McConnell February 18, 2004
    Format:Paperback
    In this single book, Mr. McConnell has managed to summarize all of the arguments for 'building software the right way'. It is non-intuitive to individuals who have little or no training in software engineering, including programmers. When I used to interview VB programmers my first question was always 'Describe the Implements keyword'.

    For many business people they feel that if you are not coding then you are not making progress, which is just plain wrong if you are in the early stages of a project. This often puts us (as project leaders) in the position of educating the client. This book is incredibly helpful for just such an endeavor. There are so many great points that I have used in helping me overcome the non-intuitive parts of development.

    The statistics for our industry are abysmal (in terms of budgets over-runs, cancelled projects, etc.). If everyone read this book, and stopped coding for a few hours and actually THOUGHT more about the problem (especially for OO development - doing UML, CRC Cards or SOMETHING) in my opinion (after coding for 20 years - 13 of them professionally) our industry would be in much better shape. Even better would be if you can get your team using design patterns, pair programming (in many cases this is a good idea but not in all), agile development techniques, and other general `best practices'.

    I am constantly under pressure to code before it is appropriate to do so. It is hard to explain to a CEO that you need time to do what they believe is 'drawing pretty pictures'.
    Read more ›
    Comment | 
    Was this review helpful to you?
    27 of 32 people found the following review helpful
    5.0 out of 5 stars Philosophical, but short, sweet, and to the point December 23, 2003
    By A Customer
    Format:Paperback
    This book is a brilliant, enjoyable explanation of the steps we can take to make our projects and software organisations run better.

    To realize the benefit of this book, you must actually Read The Book, which some of the other amazon reviewers have apparently not yet been able to fit into their busy schedules. The reviewer of 'examples of bad management' never read past the first section, which is called 'The Software Tarpit.' It is indeed about why projects are poorly managed, but it is only 55 pages out of 225. Sections 2, 3 & 4 contain abundant specific suggestions about how to meet schedules, budgets, and other project goals.

    The reviewer of 'heavy on opinion, light on content' says he reads 5 books a day. The book has numerous notes at the end of each chapter, and is impressively well researched. I surmise this reviewer missed the 'content' during his speed reading.

    The reading-impaired agile revolutionaries criticise the book for not discussing agile. This book also does not discuss object-oriented design, the Rational Unified Process, East Indonesian basket weaving, or the tooth fairie because those are different topics. Apparently some people think that every book should discuss agile, regardless of the book's topic.

    This book is short, sweet, and to the point. It does not tell you how to debug your current project (see the author's Code Complete for that), but it will tell you how you and your organisation can improve in the long run. My company has already realised benefits from adopting the ideas in this book, and it is mandatory reading for programmers and managers.
    Comment | 
    Was this review helpful to you?
    14 of 16 people found the following review helpful
    Format:Paperback
    This book is a respectable endeavor, to be sure...the title itself makes it sound as if it's going to somehow define a profession in a way that makes us all known quantities. Isn't that what we like to work with anyways? Known quantities? Measurable results?

    Unfortunately, there's a critical piece missing: while McConnell throws us some useful practices regarding the definition of our craft and the further measurement of our knowledge, it all sounds like a heap of pet theories and practices that never quite gel into something you can sink your teeth into.

    Take for example his chapter devoted to the rigid, complex system he uses in his own company to measure the skill levels of its employees. I looked at it, read the different 'grades', but at the end wanted to know exactly how in practice this made their practice more effective. No dice...just 'here's how we do it, and it's the right way.' No why. No when. No who.

    I lost a bit of respect for McConnell after reading this book...Code Complete is a landmark, but after reading

    Professional Software Development I felt like he's lost his way amidst the mountains of white papers and the multitudes of 'best-practices.'
    Comment | 
    Was this review helpful to you?
    16 of 19 people found the following review helpful
    5.0 out of 5 stars Role of PEOPLE in software development September 5, 2003
    Format:Paperback
    This book explains what people, companies, and the software industry need to do to become more professional. The "Cargo Cult Software Engineering" essay was one of the best I've read -- great distinction between competence vs. work style. I enjoyed the chapter on personal attributes of programmers -- it helped to explain some of the programmers I've had trouble getting along with. The chapter about Construx's professional development program was useful too, and I'm going to try to adapt parts of that to use in my own company.
    McConnell lays out what can be done at the individual level to become more professional, both now and in the future when educational programs become more readily available. The chapter on "quantifying personnel factors" was great -- McConnell clearly understands that software is produced by PEOPLE, and people have to come first.
    There is also lots to do at the organizational level, most of which can be done right now. I agree with his argument that good people will naturally want to use good practices, and so the best organizations will want both good people and good practices. How to fully support people working at a truly professional level is the key question.
    Overall, if you want to understand why sometimes software projects work and sometimes they fail, and if you want to understand what to do to make them succeed every time, this is a great book. Two enthusiastic thumbs up!
    Comment | 
    Was this review helpful to you?
    Most Recent Customer Reviews
    5.0 out of 5 stars In the world of vastly overblown "agile development"...
    Steve McConnell discusses the fabric of what software engineering is and could/should be without all the latest buzz words. Professional Software Development is timeless. Read more
    Published 3 months ago by Gary J. Hardy
    1.0 out of 5 stars It does not seem a McConnell book
    I totally agree with the 1-3 star reviews. I have read Code Complete and Software Estimation, and this book does not have the same level. Read more
    Published 17 months ago by Marc Magrans De Abril
    2.0 out of 5 stars Surprise ! A disappointing book by Steve McConnel
    Are these people reviewing the correct book? I'm compelled to write this because I really disagree with the favorable reviews here. This book is a waste of money. Read more
    Published on March 20, 2009 by Hasan Alan Karatas
    5.0 out of 5 stars Excellent reference book
    This is an excellent book for people that want straight facts about the software engineering profession and industry. Read more
    Published on December 1, 2007 by L. Gonzales Mariscal
    2.0 out of 5 stars Not Quite What I Was Expecting
    The main focus of this book in on the creation of a professional software development association or organization, similar to the ones of doctors and arquitects. Read more
    Published on September 30, 2007 by Joao Cortez
    3.0 out of 5 stars middle brow
    Steve McConnell knows a lot about organising resources to get things done, specifically he knows (probably more than 50,000 things) about getting software done. Read more
    Published on May 17, 2007 by S. Matthews
    4.0 out of 5 stars It succeeds as a "vision" book
    It is clear the author cares very deeply about his profession. He is searching for a way to increase software development professionalism. Read more
    Published on November 24, 2004 by M. Young
    3.0 out of 5 stars Excellent Diagnosis, Questionable Solution.
    As the author of the software's industry's classic tomes, "Code Complete" and "Rapid Development", anything by Steve McConnell is required reading. Read more
    Published on April 11, 2004 by "peterkjordan"
    5.0 out of 5 stars A Roadmap for Software Professionals
    This is a book written for the software engineer/developer/programmer/analyst (collectively called "developers" in my review). Read more
    Published on February 26, 2004 by Derek Hofmann
    2.0 out of 5 stars Heavy on opinion, light on content
    The assessment of engineering, especially around how many people will be certified, leave nothing to argue with, though they're so forward-looking as to be somewhat irrelevant to a... Read more
    Published on December 21, 2003 by Lars Bergstrom
    Search Customer Reviews
    Only search this product's reviews
    ARRAY(0xa3d82a8c)

    What Other Items Do Customers Buy After Viewing This Item?


    Sell a Digital Version of This Book in the Kindle Store

    If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

    Forums

    There are no discussions about this product yet.
    Be the first to discuss this product with the community.
    Start a new discussion
    Topic:
    First post:
    Prompts for sign-in
     



    Look for Similar Items by Category