Better Software - March 2008 - (Page 33) uch has been written in recent years about best practices in software development. We are making efforts to document and share what seems to work best in the various sectors of our industry. While some debate the existence of any best practices, and many argue about which practices deserve that designation, perhaps it would be more useful to compile a list of worst software practices. Reviewing some of our industry’s undisputed worst practices may help us improve software quality. What follows is the list of my favorites. M 1. Anyone can manage a software project. Managing a software project is like managing anything else. If you can manage a bridge construction project or a little league team, then you can manage a software project. Knowing how to code and test software, how to define, gather, and interpret metrics, and how the software development process works are not necessary to be a great software project manager. Tracking the progress of software development is done simply by asking developers how complete their tasks are and believing them. A project’s end date is easy to determine—just ask the developers when the software will be ready. Note that this schedule may be highly optimistic, but it can be easily corrected by multiplying the estimate by π. One benefit of this technique is that it significantly reduces stress on the project manager (until the last few weeks of the project). ing to take, they might decide not to proceed with the project. One of the frustrations encountered by management, sales, and marketing is promising that a new product will be available soon—and then learning from experts that it will take much longer. Often, the more experienced the estimators are, the longer the schedule estimates seem to get. The obvious solution to this dilemma is for marketing and sales professionals to ask only inexperienced developers for estimates. Because these eager beavers are less able to predict a reasonable schedule and are exuberant to please management, they can usually be coerced into agreeing to something impossible. This worst practice allows sponsors and stakeholders to become conditioned to the real cost of software development gradually by using the continuous overrun method. Besides, a skillful marketing group and sales staff can stall for time by creating animated PowerPoint slides to tout the product. Major customers can be wined, dined, quoted, and featured in testimonials and advertising campaigns. And, if all else fails, apply for a patent and blame the legal process for the hold up. 3. Use intuition and mind reading to convey and track requirements. Analyzing and documenting requirements can take a considerable amount of time and require expert domain knowledge. Since analyzing requirements does not produce something that can be sold to customers, its usefulness is questionable to neophyte project leaders. Furthermore, tracking requirements is cumbersome and may lead to reviews, inspections, test cases, and other expensive tasks that slow down the software project. One drawback to this worst practice is not being able to read the customer’s mind correctly or forgetting to code specific features, thus creating a product that does not meet customer expectations. Of course, as long as the requirements are not documented, the developers can always dispute claims MARCH 2008 BETTER SOFTWARE 2. Create unrealistic schedules to meet impossible deadlines. One of the biggest challenges for software projects is accurately estimating how long it will take to complete a new project. In this worst practice, rather than spending unproductive time creating accurate estimates using historical data and tools, the key is to make the schedule fit the desires of the project sponsors. If sponsors and stakeholders know at the outset how much the software project is going to cost and how long it is gowww.StickyMinds.com 33 http://www.StickyMinds.com
Table of Contents Feed for the Digital Edition of Better Software - March 2008 Better Software - March 2008 Contents Mark Your Calendar Contributors eLightenment Technically Speaking Code Craft Test Connection Management Chronicles Cover Story: Breaking Ground On SOA Software Development Worst Practices Mind the Gap Product Announcements 10 Things You Might Not Know About... The Last Word Ad Index Better Software - March 2008 Better Software - March 2008 - (Page Intro) Better Software - March 2008 - Better Software - March 2008 (Page Cover1) Better Software - March 2008 - Better Software - March 2008 (Page Cover2) Better Software - March 2008 - Better Software - March 2008 (Page 1) Better Software - March 2008 - Better Software - March 2008 (Page 2) Better Software - March 2008 - Contents (Page 3) Better Software - March 2008 - Mark Your Calendar (Page 4) Better Software - March 2008 - Mark Your Calendar (Page 5) Better Software - March 2008 - Contributors (Page 6) Better Software - March 2008 - Contributors (Page 7) Better Software - March 2008 - eLightenment (Page 8) Better Software - March 2008 - eLightenment (Page wp1) Better Software - March 2008 - eLightenment (Page wp2) Better Software - March 2008 - eLightenment (Page 9) Better Software - March 2008 - eLightenment (Page 10) Better Software - March 2008 - eLightenment (Page 11) Better Software - March 2008 - eLightenment (Page 12) Better Software - March 2008 - Technically Speaking (Page 13) Better Software - March 2008 - Code Craft (Page 14) Better Software - March 2008 - Code Craft (Page 15) Better Software - March 2008 - Code Craft (Page 16) Better Software - March 2008 - Code Craft (Page 17) Better Software - March 2008 - Test Connection (Page 18) Better Software - March 2008 - Test Connection (Page 19) Better Software - March 2008 - Management Chronicles (Page 20) Better Software - March 2008 - Management Chronicles (Page 21) Better Software - March 2008 - Management Chronicles (Page 22) Better Software - March 2008 - Management Chronicles (Page 23) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 24) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 25) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 26) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 27) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 28) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 29) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 30) Better Software - March 2008 - Cover Story: Breaking Ground On SOA (Page 31) Better Software - March 2008 - Software Development Worst Practices (Page 32) Better Software - March 2008 - Software Development Worst Practices (Page 33) Better Software - March 2008 - Software Development Worst Practices (Page 34) Better Software - March 2008 - Software Development Worst Practices (Page 35) Better Software - March 2008 - Software Development Worst Practices (Page 36) Better Software - March 2008 - Software Development Worst Practices (Page 37) Better Software - March 2008 - Mind the Gap (Page 38) Better Software - March 2008 - Mind the Gap (Page 39) Better Software - March 2008 - Mind the Gap (Page 40) Better Software - March 2008 - Mind the Gap (Page 41) Better Software - March 2008 - Mind the Gap (Page 42) Better Software - March 2008 - Mind the Gap (Page 43) Better Software - March 2008 - Mind the Gap (Page 44) Better Software - March 2008 - Product Announcements (Page 45) Better Software - March 2008 - 10 Things You Might Not Know About... (Page 46) Better Software - March 2008 - The Last Word (Page 47) Better Software - March 2008 - Ad Index (Page 48) Better Software - March 2008 - Ad Index (Page Cover3) Better Software - March 2008 - Ad Index (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.