ABSTRACT
This list of software information sources is provided as a public service by Namcook Analytics LLC. Since this report consists primarily of citations to published books, articles, and web sites it is not copyrighted and may be freely distributed. However the books and articles themselves normally are copyrighted so permissions would be needed to use the actual books and publications shown in this report.
Reference lists such as this are not static since new books and articles are published on a daily basis. The intent is to produce new versions of this report, probably on an annual basis, if interest is sufficient.
This listing is organized by topic, and some books cover more than a single topic so they appear in multiple sections of the report. The literature cited in this report ranges from materials copyrighted in the 1970’s through new materials copyrighted in 2014.
Table of Contents
Amazon Books on Software Measurement
Amazon Books on Software Cost Estimation Books with Quantitative Data Books on Measurement and Metrics Books on Architecture, Requirements, and Design Books on Software Risk Control Books on Software Quality Control Books on Software Security, Hacking, and Malware PreventionBooks on Software Engineering and Programming
Books on Software Development Methods
Books on Software Deployment, Customer Support, and Maintenance
Books on Social Issues in Software Engineering
Books on Cloud Software Development
Web Sites
Software Standards Organizations
Software Certification Organizations Amazon books on “Software Measurements”
Note: This section lists the titles and authors of books that appear based on a query in Amazon for “software measurement.” The Amazon results will change frequently. New books come out almost every month. Software measurement is a weak link in the chain of software engineering technologies. Software measurement suffers from “leakage” of historical data and also from the use of invalid metrics such as “lines of code” and “cost per defect” neither of which produce valid economic results.
- Applied Software Measurement, Capers Jones
- The Economics of Software Quality, Capers Jones & Olivier Bonsignour
- Assessment and Control of Software Risks, Capers Jones
- Patterns of Software Systems Failure and Success, Capers Jones
- Critical Problems in Software Measurement, Capers Jones
- Software Engineering Economics; Barry Boehm
- Software Measurement, Christof Ebert and Reiner Dumke
- Measuring the Software Process, William A. Florac
- The Software IP Detective’s Handbook, William Zeidman
- Software Measurement and Estimation, Linda Laird and M. Carol Brennan
- How to Observe Software Systems, Gerald Weinberg
- Responding to Significant Software Results, Gerald Weinberg
- Best Practices in Software Measurement, Christof Ebert and Reiner Dumke
- Practical Software Measurement, John McGarry and David Card
- Controlling Software Projects, Tom DeMarco
- Value Based Software Engineering, Arum, Boehm, and Erdogmus
- Practical Software Metrics, Robert Grady
- Software Metrics, Ravindranath Pandian
- Function Point Analysis, David Garmus and David Herron
- Applied Statistics for Software Managers, K. Maxwell
- Software Metrics: Establishing a Company-Wide Program; R. Grady and D. Caswell
- The IT Measurement Compendium, Manfred Bundschuh and Carol Dekkers
- Making Software Measurement Work, William Hetzel
- Software Engineering Measurements, John C. Munson
- Object Oriented Test and Measurement, Lee Atchison
- Software Product and Process Measurement; Alain Abran et al
- A Framework of Software Measurement, Horst Zuse
- The Software Measurement Guidebook, John Gaffney
- Object-Oriented Software Metrics, Mark Lorenz and Jeff Kidd
- IT Measurement: Advice from the Experts; IFPUG authors
- Software Metrics for Product Assessment, Richard Bache and Gualtiero Bazzano
- Derivation and Validation of Software Metrics, Martin Shepard and Darrel Ince
- Software Metrics: A Practitioners Guide; K.H. Moller and Daniel Paulish
- Foundations of Empirical Software Engineering; Basili, Boehm, Rombach, Zelkowitz
- Practical Software Measurement, Bob Hughes
- Software Measurement: A Visualizaton Toolkit; Ellis, Fujiwara, Kuo, Simmons
- Measurement as a Powerful Software Management Tool, Nickolas Ashley
- Measurement for Software Control and Assurance, B.A. Kitchenham and B. Littlewood
- Software Metrics: Measurement for Software Process Improvement
- Investigations in Software Measurement, Alain Abran
- Practical Implementation of Software Metrics, Paul Goodman
- Software Metrics: A Rigorous and Practical Approach, N. Fenton and L. Pfleeger
- Managing Software Quality: A Measurement Framework; Richard Nance
- Software Process Improvement: Metrics, Measurement, and Modeling; Haug et al
- The Effectiveness of Software Project Management; Christopher Cullen
- The IFPUG Guide to IT and Software Measurement; IFPUG authors
- Quality Software Management; First-Order Measurement, Gerald Weinberg
- Metrics and Models in Software Quality Engineering, Dr. Steve Kan
- Software Performance and Scalability; Henry Liu
- Mastering Software Quality Assurance, Murali Chemuturi
- Six Sigma Software Quality Improvement; Vic Nanda, Jeffrey Robinson
- Software Verification and Validation; Steven R. Ratkin
- A Practical Guide for Measuring Usability, Jeff Sauro
- Joe Celko’s Data Measurement and Standards in SQL; Joe Celko
- Oracle Database Performance and Scalability, Henry H. Liu
- Agile Analysis, a Value-Driven Approach; Ken Collier
- Project Management Metrics, KPIs, and Dashboards, Harold Kerzner
- Entropy-Based Measurement for Software; Ozgur Aktunc
- ISO/IEC 14143-1:1998; Software Measurement, Functional Size Measurement
- IT Governance Metrics, Measurement, and Benchmarking, Blokdijk and Menken
- Object-Oriented Design Metrics; Scott Whitmire
- Quality Software Project Management, Donald Shafer, Isabell Shafer
- Handbook of Software Quality Assurance. G. Gordon Schulmeyer
- Software Engineering Reviews and Audits, Boyd L. Summers
- Managing the Development of Software-Intensive Systems; James McDonald
- Scaling Lean and Agile Development; Craig Larman and Bas Vodde
- Practical Software Measurement, Card, Layman, Clark, Dean, Hall, McGarry
- Antipatterns: Identification, Refactoring, and Management, Phillip Laplante
- Portfolio Performance Measurement and Benchmarking, Christopherson et al
- Software Reliability Engineering, John Musa
- Software Metrics and Software Methodology, Alain Abran
- Measuring the Software Process, David Garmus and David Herron
- ROI of Software Process Improvement, David Rico and Roger Pressman
- Agile Estimating and Planning, Mike Cohn
- Software Sizing, Estimation, and Risk Management, Dan Galorath
- Process Improvements and CMMI® for Systems and Software, Kenett and Baker
Amazon Books on “Software Cost Estimation”
This section discusses the topic of software estimation based on an Amazon search using the phrase “software cost estimation”. Automated parametric estimation tends to be more accurate than manual estimates above 250 function points in size. Manual estimates grow progressively optimistic as size increases.
One important point: the outputs from modern parametric estimation tools are often more accurate than “historical data.” Historical data leaks and is woefully incomplete; omitting unpaid overtime and the work of management and many specialists.
- Estimating Software Costs, Capers Jones
- Practical Software Project Estimation, Peter Hill
- Managing the Black Hole, Gary Gack
- Software Sizing, Estimation, and Risk Management, Dan Galorath
- Software Engineering Economics, Barry Boehm
- Software Estimation: Demystifying the Black Art; Steve McConnell
- Estimating Software Intensive Systems, Richard D. Stutzke
- Software Project Cost and Schedule Estimating, W. Roetzheim and R. Beasley
- Cost Estimation with COCOMO II, Barry Boehm et al
- Software Estimation Best Practices, Murali Chemuturi
- Software Cost Estimation and Sizing Methods, Shari Lawrence Pfleeger
- Cost Estimation for Software Development, Bernard Londeix
- Agile Estimating and Planning, Mike Cohn
- IT Project Estimation, Paul Coombs
- Software Measurement and Estimation, Linda Laird and M. Carol Brennan
- Software Project Estimation by Analogy, Mohammad Azzeh
- Project Estimating and Cost Management, Parviz Read
- Cost Estimation in Software Product Line Engineering, Sebastian Rosensteiner
- An Approach to Software Cost Estimation, U.S. Government
- Cost Estimation Techniques for Web Projects, Emelia Mendez
- Software Metrics: A Guide to Planning, Analysis, and Application, C.R. Pandian
- Practices for Scaling Lean and Agile Development, Craig Larman and Bas Vodde
- Modern Tools to Support DoD Software…., Jo Anne Lane and Barry Boehm
- How to Save a Failing Project, R. Young, S. Brady, D. Nagle
- Value Based Software Engineering, Biffi, Arum, Boehm, and Erdogmus
- Software Project Dynamics, T. Abdel-Hamid and Stuart Madnick
- Reuse Based Software Engineering, Hafedh Mili et al
- Essentials of Software Project Management, Richard Bechtold
- Systems Management for Information Technology and Software Engineering, A. Sage
- New Trends in Software Process Modeling, Silvia T. Acuna
- Software Management, Donald Reifer
- Project Management the Agile Way, John C. Goodpasture
- Risk Management Processes for Software Engineering Models, Marian Myerson
- Trustworthy Systems Through Quantitative Software Engineering, L. Bernstein and C.M. Yunhas
Books with Quantitative Data
The software industry is weak in reliable quantitative data. These books and references contain more quantitative data than most. Both quality and productivity are best measured using function points metrics. For productivity work hours per function point and function points per month are effective. For quality defects per function point not only work but allow the inclusion of requirements and design defects. Older metrics such as “lines of code” and “cost per defect” violate standard economic principles and generate incorrect values much of the time.
- Boehm, Barry Dr.; Software Engineering Economics; Prentice Hall, Englewood Cliffs, NJ; 1981; 900 pages.
- Booch Grady, Object Solutions: Managing the Object-Oriented Project; Addison Wesley, Reading, MA; 1995.
- Multiple authors; Capability Maturity Model Integration; Version 1.1; Software Engineering Institute; Carnegie-Mellon Univ.; Pittsburgh, PA; March 2003.
- Brooks, Fred: The Mythical Man-Month, Addison-Wesley, Reading, Mass., 1974, rev. 1995.
- Charette, Bob; Software Engineering Risk Analysis and Management; McGraw Hill, New York, NY; 1989.
- Charette, Bob; Application Strategies for Risk Management; McGraw Hill, New York, NY; 1990.
- Cohn, Mike; Agile Estimating and Planning; Prentice Hall PTR, Englewood Cliffs, NJ; 2005; ISBN 0131479415.
- DeMarco, Tom; Controlling Software Projects; Yourdon Press, New York; 1982; ISBN 0-917072-32-4; 284 pages.
- Ewusi-Mensah, Kweku; Software Development Failures; MIT Press, Cambridge, MA; 2003; ISBN 0-26205072-2276 pages.
- Gack, Gary; Managing the Black Hole – The Executives Guide to Project Risk; The Business Expert Publisher; Thomson, GA; 2010; ISBSG10: 1-935602-01-2.
- Galorath, Dan; Software Sizing, Estimating, and Risk Management: When Performance is Measured Performance Improves; Auerbach Publishing, Philadelphia; 2006; ISBN 10: 0849335930; 576 pages.
- Glass, R.L.; Software Runaways: Lessons Learned from Massive Software Project Failures; Prentice Hall, Englewood Cliffs; 1998.
- Hill, Peter R. Practical Software Project Estimation; McGraw Hill, 2010
- Harris, Michaael; Herron, David; and Iwanicki, Stacia; The Business Value of IT: Managing Risks, Optimizing Performance, and Measuring Results; CRC Press (Auerbach), Boca Raton, FL: ISBN 13: 978-1-4200-6474-2; 2008; 266 pages.
- Humphrey, Watts; Managing the Software Process; Addison Wesley, Reading, MA; 1989.
- Johnson, James et al; The Chaos Report; The Standish Group, West Yarmouth, MA; 2000.
- Jones, Capers and Bonsignour, Olivier; The Economics of Software Quality; Addison Wesley Longman, Boston, MA; ISBN 10: 0-13-258220—1; 2011; 585 pages.
- Jones, Capers; Software Engineering Best Practices; McGraw Hill, New York, NY; ISBN 978-0-07-162161-8; 2010; 660 pages.
- Jones, Capers; Estimating Software Costs; McGraw Hill, New York; 2007; ISBN 13-978-0-07-148300-1.
- Jones, Capers; Assessment and Control of Software Risks; Prentice Hall, 1994; ISBN 0-13-741406-4; 711 pages.
- Jones, Capers; Patterns of Software System Failure and Success; International Thomson Computer Press, Boston, MA; December 1995; 250 pages; ISBN 1-850-32804-8; 292 pages.
- Jones, Capers; Software Assessments, Benchmarks, and Best Practices; Addison Wesley Longman, Boston, MA; ISBN 0-201-48542-7; 2000; 657 pages.
- Jones, Capers; Program Quality and Programmer Productivity; IBM Technical Report TR 02.764, IBM San Jose, CA; January 1977.
- Jones, Capers; Programming Productivity; McGraw Hill, New York; ISBN 0-07-032811-0; 1986.
- Jones, Capers; “Estimating and Measuring Object-Oriented Software”; American Programmer; 1994.
- Jones, Capers; “Why Flawed Software Projects are not Cancelled in Time”; Cutter IT Journal; Vol. 10, No. 12; December 2003; pp. 12-17.
- Jones, Capers; “Software Project Management Practices: Failure Versus Success”;
- Crosstalk, Vol. 19, No. 6; June 2006; pp4-8.
- Laird, Linda M and Brennan, Carol M; Software Measurement and Estimation: A Practical Approach; John Wiley & Sons, Hoboken, NJ; 2006; ISBN 0-471-67622-5; 255 pages.
- Park, Robert E. et al; Software Cost and Schedule Estimating – A Process Improvement Initiative; Technical Report CMU/SEI 94-SR-03; Software Engineering Institute, Pittsburgh, PA; May 1994.
- Park, Robert E. et al; Checklists and Criteria for Evaluating the Costs and Schedule Estimating Capabilities of Software Organizations; Technical Report CMU/SEI 95-SR-005; Software Engineering Institute, Pittsburgh, PA; January 1995.
- McConnell; Software Estimating: Demystifying the Black Art; Microsoft Press, Redmund, WA; 2006.
- Roetzheim, William H. and Beasley, Reyna A.; Best Practices in Software Cost and Schedule Estimation; Prentice Hall PTR, Saddle River, NJ; 1998.
- Strassmann, Paul; Information Productivity; Information Economics Press, Stamford, Ct; 1999.
- Strassmann, Paul; Information Payoff; Information Economics Press, Stamford, Ct; 1985.
- Strassmann, Paul; Governance of Information Management: The Concept of an Information Constitution; 2nd edition; (eBook); Information Economics Press, Stamford, Ct; 2004.
- Strassmann, Paul; The Squandered Computer; Information Economics Press, Stamford, CT; 1997.
- Stukes, Sherry, Deshoretz, Jason, Apgar, Henry and Macias, Ilona; Air Force Cost Analysis Agency Software Estimating Model Analysis ; TR-9545/008-2; Contract F04701-95-D-0003, Task 008; Management Consulting & Research, Inc.; Thousand Oaks, CA 91362; September 30 1996.
- Symons, Charles R.: Software Sizing and Estimating—Mk II FPA (Function Point Analysis), John Wiley & Sons, Chichester, U.K., ISBN 0-471-92985-9, 1991.
- Wellman, Frank, Software Costing: An Objective Approach to Estimating and Controlling the Cost of Computer Software, Prentice Hall, Englewood Cliffs, NJ, ISBN 0-138184364, 1992.
- Whitehead, Richard; Leading a Development Team; Addison Wesley, Boston, MA; 2001; ISBN 10: 0201675267; 368 pages.
- Yourdon, Ed; Death March – The Complete Software Developer’s Guide to Surviving “Mission Impossible” Projects; Prentice Hall PTR, Upper Saddle River, NJ; ISBN 0-13-748310-4; 1997; 218 pages.
- Yourdon, Ed; Outsource: Competing in the Global Productivity Race; Prentice Hall PTR, Upper Saddle River, NJ; ISBN 0-13-147571-1; 2005; 251 pages.
Books on Measurements and Metrics
The software industry has had endemic problems with very bad measurement practices. Measuring productivity with “lines of code” and trying to measure quality with “cost per defect” are bad enough to be viewed as professional malpractice. But both have been in continuous use for more than 50 years but always produce distorted and incorrect results.
Function point metrics are the best choice for economic analysis of software. They are also the best choice for quality analysis. Function points support activity-based cost analysis as well as benchmarks.
Another endemic measurement problem, poorly covered in the literature, is “leakage” from software historical data. The most common omissions from productivity data are
- Abran, Alain and Dumke, Reiner R; Innovations in Software Measurement; Shaker-Verlag, Aachen, DE; ISBN 3-8322-4405-0; 2005; 456 pages.
- Abran, Alain; Bundschuh, Manfred; Dumke, Reiner; Ebert; Christof; and Zuse, Horst; Software Measurement News; Vol. 13, No. 2, Oct. 2008 (periodical).
- Bundschuh, Manfred and Dekkers, Carol; The IT Measurement Compendium; Springer-Verlag, Berlin, DE; ISBN 978-3-540-68187-8; 2008; 642 pages.
- Chidamber, S.R. & Kemerer, C.F.; “A Metrics Suite for Object-Oriented Design”; IEEE Trans. On Software Engineering; Vol. SE20, No. 6; June 1994; pp. 476-493.
- Dumke, Reiner; Braungarten, Rene; Büren, Günter; Abran, Alain; Cuadrado-Gallego, Juan J; (editors); Software Process and Product Measurement; Springer-Verlag, Berlin; ISBN 10: 3-540-89402-0; 2008; 361 pages.
- Ebert, Christof and Dumke, Reiner; Software Measurement: Establish, Extract, Evaluate, Execute; Springer-Verlag, Berlin, DE; ISBN 978-3-540-71648-8; 2007; 561 pages.
- Garmus, David & Herron, David; Measuring the Software Process: A Practical Guide to Functional Measurement; Prentice Hall, Englewood Cliffs, NJ; 1995.
- Garmus, David and Herron, David; Function Point Analysis – Measurement Practices for Successful Software Projects; Addison Wesley Longman, Boston, MA; 2001; ISBN 0-201-69944-3;363 pages.
- IFPUG Counting Practices Manual, Release 4, International Function Point Users Group, Westerville, OH; April 1995; 83 pages.
- International Function Point Users Group (IFPUG); IT Measurement – Practical Advice from the Experts; Addison Wesley Longman, Boston, MA; 2002; ISBN 0-201-74158-X; 759 pages.
- Jones, Capers; Applied Software Measurement; McGraw Hill, 3rd edition, 2008; ISBN 978-0-07-150244-3; 662 pages.
- Jones, Capers: “Sizing Up Software;” Scientific American Magazine, Volume 279, No. 6, December 1998; pages 104-111.
- Jones; Capers; “A Short History of the Lines of Code Metric”; Version 4.0; May 2008; Capers Jones & Associates LLC; Narragansett, RI; 15 pages (monograph).
- Kemerer, C.F.; “Reliability of Function Point Measurement – A Field Experiment”; Communications of the ACM; Vol. 36; pp 85-97; 1993.
- Parthasarathy, M.A.; Practical Software Estimation – Function Point Metrics for Insourced and Outsourced Projects; Infosys Press, Addison Wesley, Upper Saddle River, NJ; 2007; ISBN 0-321-43910-4.
- Putnam, Lawrence H.; Measures for Excellence — Reliable Software On Time, Within Budget; Yourdon Press – Prentice Hall, Englewood Cliffs, NJ; ISBN 0-13-567694-0; 1992; 336 pages.
- Putnam, Lawrence H and Myers, Ware.; Industrial Strength Software – Effective Management Using Measurement; IEEE Press, Los Alamitos, CA; ISBN 0-8186-7532-2; 1997; 320 pages.
- Stein, Timothy R; The Computer System Risk Management Book and Validation Life Cycle; Paton Press, Chico, CA; 2006; ISBN 10: 1-9328-09-5; 576 pages.
- Stutzke, Richard D; Estimating Software-Intensive Systems; Addison Wesley, Upper Saddle River, NJ; 2005; ISBN 0-201-70312-2; 918 pages.
Books on Architecture, Requirements, and Design
The set of books on architecture, requirements, and design is one of the more mature topics, having originated as long ago as the 1950’s. When considering these topics, books on requirements are plentiful and often quite good. Books on design are less common, but also quite good. Books on architecture are sparse and while some are good, this field is still maturing. Software engineering architecture lacks a formal taxonomy of software project types and classes and with the exception of patterns is sparse on reuse.
All books in this section share a common failing. Software is highly dynamic; all of the books use static diagrams and text. It is technically possible to build an animated, 3D, requirements prototype tool that can simulate software applications when they are operating.
It is also technically possible to build a dynamic project planning tool that can simulate the continuous growth of features over time and also show a gradual increase in cyclomatic complexity or entropy as applications age.
Software has done much more to support virtual reality for the film and game industries, and for aeronautical and automotive engineering, than for itself. In 2014 software tends to use only static and fairly primitive diagramming techniques instead of using the richness of animation, full color, and 3D representations.
- Ambler, S.; Process Patterns – Building Large-Scale Systems Using Object Technology; Cambridge University Press; SIGS Books; 1998.
- Artow, J. & Neustadt, I.; UML and the Unified Process; Addison Wesley, Boston, MA; 2000.
- Bass, Len, Clements, Paul, and Kazman, Rick; Software Architecture in Practice; Addison Wesley, Boston, MA; 1997; ISBN 13: 978-0201199307; 452 pages.
- Berger, Arnold S.; Embedded Systems Design: An Introduction to Processes, Tools, and Techniques; CMP Books; 2001; ISBN 10-1578200733.
- Booch, Grady; Jacobsen, Ivar, and Rumbaugh, James; The Unified Modeling Language User Guide; Addison Wesley, Boston, MA; 2nd edition 2005.
- Cohn, Mike; User Stories Applied: For Agile Software Development; Addison Wesley, Boston, Ma; 2004; ISBN 0-321-20568.
- Fernandini, Patricial L; A Requirements Pattern; Succeeding in the Internet Economy; Addison Wesley, Boston, MA; 2002; ISBN 0-201-7386-0; 506 pages.
- Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John; Design Patterns: Elements of Reusable Object Oriented Design; Addison Wesley, Boston MA; 1995.
- Inmon William H, Zachman, John, and Geiger, Jonathan G; Data Stores, Data Warehousing, and the Zachman Framework; McGraw Hill, New York; 1997; ISBN 10: 0070314292; 358 pages.
- Marks, Eric and Bell, Michael; Service-Oriented Architecture (SOA): A Planning and Implementation Guide for Business and Technology; John Wiley & Sons, New York; 2006; ISBN 10: 0471768944; 384 pages.
- Orr, Ken; Structured Requirements Definition; Ken Orr and Associates, Inc, Topeka, KS; 1981; ISBN 0-9605884-0-X; 235 pages.
- Robertson, Suzanne and Robertson, James; Mastering the Requirements Process; 3rd edition; 2013; Addison Wesley, Boston, MA; ISBN 10-321-81574-2; 539 pages.
- Martin, James & McClure, Carma; Diagramming Techniques for Analysts and Programmers; Prentice Hall, Englewood Cliffs, NJ; 1985; ISBN 0-13-208794-4; 396 pages.
- Warnier, Jean-Dominique; Logical Construction of Systems; Van Nostrand Reinhold, London, UK; ISBN 0-4442-22556-3; 177 pages.
- Wiegers, Karl E; Software Requirements; 3rd edition; 2013; Microsoft Press, Bellevue, WA; ISBN 978-0-7356-5; 637 pages.
Books on Software Risk Control
Software risks have been endemic since the industry began. They grew worse when applications increased in size past 10,000 function points. They grew much worse when the web opened up software to hackers, viruses, worms, denial of service, identity theft, and other forms of malware. Risks today seem to be getting worse faster than risk solutions can contain them.
Risks also include a smorgasbord of various kinds of litigation including but not limited to patent violations by patent trolls; legitimate patent litigation; breach of contract litigation for outsource contracts; and less common forms of litigation such as violations of non-compete agreements, violations of non-disclosure agreements; and violations Sarbanes-Oxley regulations. In some cases if software causes death or injury, there may also be criminal charges.
- Anderson, David and Reinertson, Donald; Kanban: Successful Evolutionary Change for your Technology; Blue Hole Press, 2010.
- Boehm, Barry; Software Risk Management; IEEE Computer Society Press; 1989.
- Charette, Bob; Software Engineering Risk Analysis and Management; McGraw Hill, New York, NY; 1989.
- Charette, Bob; Application Strategies for Risk Management; McGraw Hill, New York, NY; 1990.
- Constantine, Larry L; Beyond Chaos: The Expert Edge in Managing Software Development; ACM Press, 2001.
- DeMarco, Tom and Lister, Tim; Waltzing with Bears: Managing Risks on Software Projects; Dorset House Press, NY; 2003.
- Denne, Mark and Cleland-Hung, Jane; Software by Numbers: Low-Risk, High-Return Development; Prentice Hall, 2003.
- Duvall, Paul M. et al; Continuous Integration: Improving Software Quality and Reducing Risks; Addison Wesley, 2007.
- Ewusi-Mensah, Kweku; Software Development Failures; The MIT Press, Cambridge, MA; 2003 Jindal.
- Fairbanks, George H; Just Enough Software Architecture: A Risk-Driven Approach; Marshall and Brainard, 2010.
- Glass, Robert; Software Runaways: Monumental Software Disasters; Prentice Hall, 1997.
- Hall, Elaine; Managing Risks: Methods for Software Systems Development; Addison Wesley, 1998.
- Jones, Capers; Assessment and Control of Software Risks; Prentice Hall, Englewood Cliffs, 1993.
- Jones, Capers; Patterns of Software Development Failure and Success; International Thomson Computer Press; 1995.
- Karolak, Dale Walter; Software Engineering Risk Management; Wiley IEEE Computer Society; 1995.
- McConnell, Steve; Software Project Survival Guide; Microsoft Press; 1997.
- Ould, Martin; Managing Software Quality and Business Risk; Wiley, 1999.
- Pandian, Ravindranath; Applied Software Risk Management: A Guide for Software Risk Managers; Auerbach Publications, 2006.
- Stepanek, George; Software Project Secrets: Why Software Projects Fail; Apress, 2012.
- Stein, Timothy; The Computer System Risk Management and Validation Cycle; Paton Press, Chico, CA; 2006.
- Trendowicz, Adam; Software Cost Estimating, Benchmarking, and Risk Assessment; Springer, 2013.
- Weinberg, Gerald; Why Software Gets in Trouble; Amazon e-books; 2011.
- Yourdon, Ed; Death March: The Complete Software Developer’s Guide to Surviving “Mission Impossible” Projects; Prentice Hall, 1997.
- Zeidman, Bob; The Software IP Detective’s Handbook; Prentice Hall, Upper Saddle River NJ; 2011.
- Zoelick, Bill; CyberRegs: A Business Guide to Web, Property, Privacy, and Patents; Addison Wesley, 2001.
Books on Software Quality Control
Software quality control is a chronic problem for software engineering. For many years software projects focused exclusively on testing and ignored alternate quality methods such as inspections and static analysis. In reality a synergistic combination of defect prevention, pre-test defect removal, and formal testing are needed to achieve defect removal efficiency levels in the 99% range. Testing alone seldom tops 85% and many forms of testing are only about 35% efficient in finding bugs.
Quality measurements are also poor. Many companies do not start measuring quality until testing and hence ignore requirements and design defects. Most companies ignore defects found privately via desk checking and unit test. There are many other topics that need additional coverage such as the effectiveness of static analysis, additional data on inspections, and solid data on “pair programming” results where the bulk of the literature compares only one programming against two programmers and ignores other topics such as inspections, static analysis, cyclomatic complexity, and others that have a known impact on defects.
Note: This section includes one classic fiction book often used as a training manual for quality by major corporations: Robert Pirsig’s classic Zen and the Art of Motorcycle Maintenance.
- Beck, Kent; Test-Driven Development; Addison Wesley, Boston, MA; 2002; ISBN 10: 0321146530; 240 pages.
- Chelf, Ben and Jetley, Raoul; “Diagnosing Medical Device Software Defects Using Static Analysis”; Coverity Technical Report, San Francisco, CA; 2008.
- Chess, Brian and West, Jacob; Secure Programming with Static Analysis; Addison Wesley, Boston, MA; 20007; ISBN 13: 978-0321424778; 624 pages.
- Cohen, Lou; Quality Function Deployment – How to Make QFD Work for You; Prentice Hall, Upper Saddle River, NJ; 1995; ISBN 10: 0201633302; 368 pages.
- Crosby, Philip B.; Quality is Free; New American Library, Mentor Books, New York, NY; 1979; 270 pages.
- Everett, Gerald D. And McLeod, Raymond; Software Testing; John Wiley & Sons, Hoboken, NJ; 2007; ISBN 978-0-471-79371-7; 261 pages.
- Firesmith, Donald G.; Common System and Software Testing Pitfalls; Addison Wesley; 2014; ISBN -10-0-13=374855-3; 294 pages.
- Gack, Gary; Applying Six Sigma to Software Implementation Projects; http://software.isixsigma.com/library/content/c040915b.asp.
- Gilb, Tom and Graham, Dorothy; Software Inspections; Addison Wesley, Reading, MA; 1993; ISBN 10: 0201631814.
- Hallowell, David L.; Six Sigma Software Metrics, Part 1.; http://software.isixsigma.com/library/content/03910a.asp.
- International Organization for Standards; ISO 9000 / ISO 14000; http://www.iso.org/iso/en/iso9000-14000/index.html.
- Jones, Capers and Bonsignour, Olivier; The Economics of Software Quality; Addison Wesley Longman, 2012; ISBN-10 0-13-258220-1; 587 pages..
- Jones, Capers; Software Quality – Analysis and Guidelines for Success; International Thomson Computer Press, Boston, MA; ISBN 1-85032-876-6; 1997; 492 pages.
- Kan, Stephen H.; Metrics and Models in Software Quality Engineering, 2nd edition; Addison Wesley Longman, Boston, MA; ISBN 0-201-72915-6; 2003; 528 pages.
- Land, Susan K; Smith, Douglas B; Walz, John Z; Practical Support for Lean Six Sigma Software Process Definition: Using IEEE Software Engineering Standards; WileyBlackwell; 2008; ISBN 10: 0470170808; 312 pages.
- Mosley, Daniel J.; The Handbook of MIS Application Software Testing; Yourdon Press, Prentice Hall; Englewood Cliffs, NJ; 1993; ISBN 0-13-907007-9; 354 pages.
- Myers, Glenford; The Art of Software Testing; John Wiley & Sons, New York; 1979; ISBN 0-471-04328-1; 177 pages.
- Nandyal; Raghav; Making Sense of Software Quality Assurance; Tata McGraw Hill Publishing, New Delhi, India; 2007; ISBN 0-07-063378-9; 350 pages.
- Pirsig, Robert M.; Zen and the Art of Motorcycle Maintenance; Harper Torch; originally 1974 but republished dozens of times. This book is widely used as a training manual for software quality because it shows the ethics and value of quality in an unusual context.
- Radice, Ronald A.; High Qualitiy Low Cost Software Inspections; Paradoxicon Publishingl Andover, MA; ISBN 0-9645913-1-6; 2002; 479 pages.
- Wiegers, Karl E.; Peer Reviews in Software – A Practical Guide; Addison Wesley Longman, Boston, MA; ISBN 0-201-73485-0; 2002; 232 pages.
Books on Software Security, Hacking, and Malware Prevention
The books in this section are increasing in importance and relevance on a daily basis. Never in human history has so much valuable information been stored in a fashion that allows theft from thousands of miles away. Cyber security, cyber war fare, and cyber defenses are main stream topics in 2014 and will stay that way probably forever.
Note: although not a book the Congressional Cyber Caucus founded by Representatives Jim Langevin from Rhode Island and Mike McCaul from Texas provides an excellent weekly summary of both corporate and government cyber security issues. The URL is: cybercaucus.langevin.house.gov. This is one of the best sources of current data on cyber security issues.
- Acohido, Byron and Swartz, John: Zero Day Threat: The Shocking Truth of How Banks and Credit Bureaus Help Cyber Crooks Steal Your Money and Identity; Union Square Press; ISBN 10: 140275695X; 2008; 304 pages.
- Allen, Julia; Barnum, Sean; Ellison, Robert; McGraw, Gary; and Mead, Nancy; Software Security: A Guide for Project Managers (An SEI book sponsored by the Department of Homeland Security); Addison Wesley Professional, Boston, MA; ISBN 032150917X; 2008.
- Anley, Chris, Heasman, John, Lindner, Felix, and Richarte, Gerardo; The Shellcoders Handbook: Discovering and Exploiting Security Holes; Wiley, New York; ISBN 10: 047008023X; 2007; 718 pages.
- Chess, Brian; Secure Programming with Static Analysis; Addison Wesley Professional, Boston, MA; ISBN 10: 0321424778; 2007; 624 pages.
- Dowd, Mark, McDonald, John, and Schuh, Justin; The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities; Addison Wesley Professional, Boston, Ma; ISBN 10: 0321444426; 2006; 1200 pages.
- Ericson, John; Hacking: The Art of Exploitation; 2nd edition; No Starch Press; ISBN 10: 1593271441; 2008; 488 pages.
- Gallager, Tom; Landauer, Lawrence; and Jeffries, Brian; Hunting Security Bugs; Microsoft Press, Redmond WA; ISBN 10: 0735621879; 2006; 592 pages.
- Hamer-Hodges, Ken; Authorization Oriented Architecture – Open Application Networking and Security in the 21st Century; Auerbach Publications, Philadelphia, PA; to be published in December 2009; ISBN 10: 1439800545; pages nnn. (To be published in 2009)
- Hogland, Greg and McGraw, Gary; Exploiting Software: How to Break Code; Addison Wesley Professional, Boston, MA; ISBN 10: 0201786598; 2004; 512 pages.
- Hogland, Greg and Butler, Jamie; Rootkits: Exploiting the Windows Kernal; Addison Wesley Professional, Boston, MA; ISBN 10: 0321291349; 2005; 352 pages.
- Howard, Michael and Lippner, Steve; The Security Development Lifecycle; Microsoft Press, Redmond, WA; ISBN 10: 0735622140; 2006; 352 pages.
- Howard, Michael and LeBlanc, David; Writing Secure Code; Microsoft Press, Redmond, WA; ISBN 10: 0735617228; 2003; 798 pages.
- Jones, Andy and Ashenden, Debi; Risk Management for Computer Security: Protecting Your Network and Information Assets; Butterworth-Heinemann; ISBN 10: 0750677953; 2005; 296 pages.
- Landoll, Douglas J.; The Security Risk Assessment Handbook: A Complete Guide for Performing Security Risk Assessments; CRC; ISBN 10: 0849339981; 2005; 504 pages.
- Mather, Tim; Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance; O’Reilly Media; 2009.
- McGraw, Gary; Software Security – Building Security In; Addison Wesley Professional, Boston, MA; ISBN 10-0321356705; 2006; 448 pages.
- Rice, David: Geekonomics: The Real Cost of Insecure Software; Addison Wesley Professional, Boston, MA; ISBN 10: 0321477898; 2007; 384 pages.
- Scambray, Joel: Hacking Exposed Windows: Microsoft Windows Security Secrets and Solutions; 3rd edition; McGraw Hill Osborne, New York, NY; ISBN 10: 007149426X; 2007; 451 pages.
- Scambray, Joel: Hacking Exposed Web Applications; 2nd edition; McGraw Hill Osborne, New York, NY; ISBN 10: 0072262990; 2006; 520 pages.
- Sherwood, John; Clark, Andrew; and Lynas, David; Enterprise Security Architecture: A Business-Driven Approach; CMP; ISBN 10: 157820318X; 2005; 608 pages.
- Skudis, Edward and Liston, Tom; Counter Hack Reloaded: A Step-by-Step Guide to Computer Attacks and Effective Defenses; Prentice Hall PTR, Englewood Cliffs, NJ; ISBN 10: 0131481045; 2006; 784 pages.
- Skudis, Edward and Zeltzer, Lenny; Malware: Fighting Malicious Code; Prentice Hall PTR, Englewood Cliffs, NJ; ISBN 10: 0131014056; 2003; 676 pages.
- Shostack, Adam and Stewart, Andrews; The New School of Information Security; Addison Wesley Professional, Boston, MA; ISBN 10: 0321502787; 2008; 288 pages.
- Stuttard, Dafydd and Pinto, Marcus; The Web Application Hackers Handbook: Discovering and Exploiting Security Flaws; Wiley, New York; ISBN 10: 0470170778; 2007; 768 pages.
- Szor, Peter; The Art of Computer Virus Research and Defense; Addison Wesley Professional, Boston, Ma; ISBN 10: 0321304543; 2005; 744 pages.
- Thompson, Herbert and Chase, Scott: The Software Vulnerability Guide; Charles River Media, Boston, MA; ISBN 10: 1584503580; 2005; 354 pages.
- Viega, John and McGraw, Gary; Building Secure Software: How to Avoid Security Problems the Right Way; Addison Wesley Professional, Boston, MA; ISBN 10: 020172152X; 2001; 528 pages.
- Whittaker, James A. and Thompson, Herbert H.; How to Break Software Security; Addison Wesley, Boston, MA; ISBN 10: 0321194330; 2003; 208 pages.
- Wysopal, Chris; Nelson, Lucas; Zovi, Dino Dai; and Dustin, Elfriede; The Art of Software Security Testing: Identiyfing Software Security Flaws; Addison Wesley Professional, Boston, MA; ISBN 10: 0321304861; 2006; 321 pages.
Books on Software Engineering and Programming
This section of citations includes some of the “classic” books on software engineering and a number of interesting new topics as well.
An underlying problem with all of these books is that custom designs and hand coding are intrinsically inefficient and expensive. Only construction of applications from libraries of standards reusable components is going to elevate software from a craft to a true engineering field.
- Barr, Michael and Massa, Anthony; Programming Embedded Systems: With C and GNU Development Tools; O’Reilly Media; 2006; ISBN 10-0596009836.
- Beck, K; Extreme Programming Explained: Embrace Change; Addison Wesley, Boston, MA; 1999.
- Bott, Frank; Coleman, A; Eaton, J.; Roland, D; Professional Issues in Software Engineering; Taylor & Francis, 2000; ISBN 10: 0748409513; 384 pages.
- Glass, Robert L; Facts and Fallacies of Software Engineering (Agile Software Development); Addison Wesley, Boston, MA; 2002; ISBN 10: 0321117425; 224 pages.
- Hans, Professor van Vliet; Software Engineering Principles and Practices; 3rd edition; John Wiley & Sons, London, New York; 2008; ISBN 10: 0470031468; 740 pages.
- Hunt, Andrew and Thomas, David: The Pragmatic Programmer; Addison Wesley, Boston, MA; 1999; ISBN 10: 020161622X; 352 pages.
- Jacobson, Ivar; Pan-Wei Ng, McMahon, Paul; Spence, Ian; and Lidman, Svante; The Essence of Software Engineering; Applying the SEMAT Kernel; Addison Wesley, 2013.
- Jeffries, R. et al; Extreme Programming Installed; Addison Wesley, Boston; 2001.
- Love, Dr. Tom; Object Lessons; Lessons Learned in Object-Oriented Development Projects; SIGS books; 1993; ISBN 0-9627477-3-4; 266 pages.
- Marciniak, John J. (Editor); Encyclopedia of Software Engineering; John Wiley & Sons, New York; 1994; ISBN 0-471-54002; in two volumes.
- McConnell, Code Complete; Microsoft Press, Redmond, WA; 1993; ISBN 13-978-1556154843; 886 pages.
- Morrison, J. Paul; Flow-Based Programming; A New Approach to Application Development; Van Nostrand Reinhold, New York; 1994; ISBN 0-442-01771-5; 316 pages.
- Pressman, Roger; Software Engineering – A Practitioner’s Approach; McGraw Hill, NY; 6th edition, 2005; ISBN 0-07-285318-2.
- Sommerville, Ian; Software Engineering; 7th edition; Addison Wesley, Boston, MA; 2004; ISBN 10: 0321210263; 784 pages.
- Stephens M. & Rosenberg, D.; Extreme Programming Refactored; The Case Against XP; APress L.P., Berkeley, CA; 2003.
Books on Software Development Methods
Today in 2014 there are more than 35 named software development methods in use throughout the world, and more are likely to appear. Among the more common development methods in alphabetical order are agile, cowboy, crystal, EVO, extreme programming, iterative, Merise, Prince2, RUP, spiral, waterfall, TSP, and dozens more.
Selecting a software development methodology resembles joining a cult more than it does making a logical decision. Most companies merely jump onto the current bandwagon, which today in 2014 is agile. Fortunately agile is a fairly robust method for small projects, but suboptimal for large systems.
There is nothing like the Index Medicus for software engineering. What would be valuable would be solid empirical results by a university or non-profit that compared the quality and productivity results of a variety of methods including agile, cowboy, Crystal, EVO, extreme programming (XP), Information Engineering (IE), iterative, Merise, pair programming, Prince 2, spiral, waterfall, and many others.
Unfortunately the software industry does not validate methodologies before deploying them. Popularity rules and therefore methods come and go. The same is true with programming languages, of which there are now more than 2,500 none of which have been validated as being effective for specific types of applications.
Software engineering needs much better proofs of efficacy for almost everything in actual use: languages, methods, tools, and metrics. The two most common metrics “lines of code” and “cost per defect” are both bad enough to be professional malpractice. Some methods such as pair programming are expensive and inefficient. A typical application uses about 2.5 different programming languages and some use more than 12. Why? The answer is that “software engineering” is still a craft and lacks the essential concept of using due diligence and proofs before deploying something new.
- Boehm, Barry; “A Spiral Model of Software Development and Enhancement”; Proceedings of the Int. Workshop on Software Process and Software Environments; ACM Software Engineering Notes, Aug. 1986, pp. 22-42.
- Cockburn, Alistair; Agile Software Development; Addison Wesley, Boston, MA; 2001.
- Cohen, D. Lindvall M. & Costa, P. “An Introduction to agile methods”; Advances in Computers, pp. 1-66; 2004; Elsevier Science, New York.
- Highsmith, Jim; Agile Software Development Ecosystems; Addison Wesley, Boston, MA; 2002.
- Humphrey, Watts; TSP – Leading a Development Team; Addison Wesley, Boston, MA; 2006.
- Humphrey, Watts; PSP: A Self-Improvement Process for Software Engineers; Addison Wesley, Upper Saddle River, NJ; 2005; ISBN 0-321-30549-3; 346 pages.
- Krutchen, Phillippe; The Rational Unified Process – An Introduction; Addison Wesley, Boston, MA;; 2003; ISBN 10: 0321197704; 336 pages.
- Larman, Craig & Basili, Victor; “Iterative and Incremental Development – A Brief History”; IEEE Computer Society; June 2003; pp 47-55.
- Love, Tom; Object Lessons; SIGS Books, New York; 1993.
- Martin, Robert; Agile Software Development: Principles, Patterns, and Practices; Prentice Hall, Upper Saddle River, NJ; 2002; ISBN 10: 0135974445; 529 pages.
- Mills, H.; Dyer, M. & Linger, R.; “Cleanroom Software Engineering”; IEEE Software; 4, 5 (Sept. 1987); pp. 19-25.
- Paulk Mark et al; The Capability Maturity Model; Guidelines for Improving the Software Process; Addison Wesley, Reading, MA; ISBN 0-201-54664-7; 1995; 439 pages.
- Rapid Application Development; http://en.wikipedia.org/wiki/Rapid_application_development
- Stapleton, J.; DSDM – Dynamic System Development Method in Practice; Addison Wesley; Boston, MA; 1997.
Books Software Deployment, Customer Support, and Maintenance
Maintenance, enhancement, and “brownfield” development or mixing new applications into a stew of aging legacy software is severely underrepresented in the software literature. Although in 2014 maintenance programmers are more numerous than development programmers, books on development outnumber books on maintenance by about 20 to 1.
- Arnold, Robert S.; Software Reengineering; IEEE Computer Society Press, Los Alamitos, CA; 1993; ISBN 0-8186-3272-0; 600 pages.
- Arthur, Lowell Jay; Software Evolution – The Software Maintenance Challenge; John Wiley & Sons, New York; 1988; ISBN 0-471-62871-9; 254 pages.
- Gallagher, R.S.; Effective Customer Support; International Thomson Computer Press, Boston, MA; 1997; ISBN 1-85032-209-0; 480 pages.
- Parikh, Girish; Handbook of Software Maintenance; John Wiley & Sons, New York; 1986; ISBN 0-471-82813-0; 421 pages.
- Pigoski, Thomas M.; Practical Software Maintenance – Best Practices for Managing Your Software Investment; IEEE Computer Society Press, Los Alamitos, CA; 1997; ISBN 0-471-17001-1; 400 pages.
- Sharon, David; Managing Systems in Transition – A Pragmatic View of Reengineering Methods; International Thomson Computer Press, Boston, MA; 1996; ISBN 1-85032-194-9; 300 pages.
- Takang, Armstrong and Grubh, Penny; Software Maintenance Concepts and Practice; International Thomson Computer Press, Boston, MA; 1997; ISBN 1-85032-192-2; 256 pages.
- Ulrich, William M.; Legacy Systems: Transformation Strategies; Prentice Hall, Upper Saddle River, NJ; 2002; ISBN 10: 013044927X; 448 pages.
Books on Social Issues in Software Engineering
So long as software is a team activity involving as many as several hundred workers and more than 125 occupation groups, social topics are extremely important. That being said, social topics are also underreported in the literature. Worse, some of the literature is weak such as the curious reports on “pair programming” which fail to compare pairs against other methods such as inspections and static analysis.
One important non-software book is included in this section. Paul Starr’s Pulitzer-Prize winning book on The Social Transformation of American Medicine. This is a great book that shows a path followed by medical practice that might also be followed by software engineering. There was a time when medicine was more chaotic and unstructured even than software. Starr’s book shows how the AMA improved medical education, reduced medical quackery, and gradually introduced board certifications and licensing. Over a period of about 100 years medicine evolved from a low-status craft to the top rung of professional status. We could use many of the same approaches to improve software.
- Brooks, Fred; The Mythical Manmonth; 2nd edition; Addison Wesley, Boston, MA; 1995; ISBN 10: 0201835959; 336 pages.
- Campbell-Kelly, Martin; A History of the Software Industry: from Airline Reservations to Sonic the Hedgehog; The MIT Press, Cambridge, MA; 2003; ISBN 0-262-03303-8; 372 pages.
- DeMarco, Tom; Peopleware: Productive Projects and Teams; Dorset House, New York, NY; 1999; ISBN 10: 0932633439; 245 pages.
- Glass, Robert L; Software Creativity; 2nd edition; developer.*books, Atlanta, GA; 2006; ISBN 978-0-9772133-1-3; 456 pages.
- Humphrey, Watts; Winning with Software: An Executive Strategy; Addison Wesley, Boston, MA; 2002; ISBN 0-201-77639-1; 228 pages.
- Johnson, James et al; The Chaos Report; The Standish Group, West Yarmouth, MA; 2007.
- Jones, Capers; The Technical and Social History of Software Engineering; Addison Wesley, 2014; ISBN 10-0-321-90342-0; 451 pages.
- Jones, Capers; “How Software Personnel Learn New Skills”, 6th edition; July 2008; Capers Jones & Associates LLC; Narragansett, RI.; 25 pages (monograph).
- Jones, Capers; Conflict and Litigation Between Software Clients and Developers; Software Productivity Research, Inc.; Narragansett, RI; 2008; 45 pages (monograph).
- Jones, Capers; “Preventing Software Failure: Problems Noted in Breach of Contract Litigation”; Capers Jones & Associates, Narragansett, RI; 2008; 25 pages.
- Kuhn, Thomas; The Structure of Scientific Revolutions; University of Chicago Press, Chicago, IL; 1996; ISBN 0-22645807-5; 212 pages.
- Krasner, Herb; “Accumulating the Body of Evidence for the Payoff of Software Process Improvement – 1997;” Krasner Consulting, Austin, TX.
- Starr, Paul; The Social Transformation of American Medicine; Basic Books; Perseus Group; 1982; ISBN 0-465-07834-2. NOTE: This book won a Pulitzer Prize in 1982 and is highly recommended as a guide for improving both professional education and professional status. There is much of value for the software community.
- Weinberg, Gerald M.; The Psychology of Computer Programming; Van Nostrand Reinhold, New York; 1971; ISBN 0-442-29264-3; 288 pages.
- Weinberg, Gerald M; Becoming a Technical Leader; Dorset House; New York; 1986; ISBN 0-932633-02-1; 284 pages.
- Yourdon, Ed; The Decline and Fall of the American Programmer; Prentice Hall, 1993.
- Yourdon, Ed; The Rise and Resurrection of the American Programmer; Prentice Hall, Prentice Hall, 1996.
- Yourdon, Ed; Outsource: Competing in the Global Productivity Race; Prentice Hall, 2004.
- Yourdon, Ed; CIOs at Work; Apress, 2011.
- Yourdon, Ed; Death March – The Complete Software Developer’s Guide to Surviving “Mission Impossible” Projects; Prentice Hall PTR, Upper Saddle River, NJ; ISBN 0-13-748310-4; 1997; 218 pages.
- Zoellick; Bill; CyberRegs – A Business Guide to Web Property, Privacy, and Patents; Addison Wesley, Boston, MA; 2002; ISBN 0-201-72230-5; 307 pages.
Books on Cloud Software Development
This section is the shortest in this bibliography since cloud computing is the most recent topic of those discussed. However cloud computing is clearly the way of the future so many new citations will occur in 2014 and beyond. Already more than 100 books are out on cloud topics so this section only scratches the surface.
- Buya, Rajkumar; Vecchiola, Christian; Selvi, S. Thamari; Mastering Cloud Computing: Foundations and Application Programming; Morgan Kaufman; 2013.
- Erl, Thomas; SOA Design Patterns; Prentice Hall, 2009.
- Linthicum, David; Cloud Computing and SOA Convergence in Your Enterprise: A step-by-step guide; Addison Wesley, 2009.
- Mather, Tim; Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance; O’Reilly Media; 2009.
- Mulholland, Andy; Pyke Jon; and Fingar, Peter; Enterprise Cloud Computing: A Strategy for Business and Technology Leaders; Meghan-Kiffer Press; 2010.
- Reese, George; Cloud Application Architectures: Building Applications and Infrastructure in the Cloud; O’Reilly Media; 2009.
- Sama, David Y; Implementing and Developing Cloud Computing Applications; Auerbach publications, 2010.
- Sitaram, Dinkar; Moving to the Cloud: Developing Apps in the New World of Cloud Computing; Syngress, 2011.
- Buya, Rajkumar; Vecchiola, Christian; Selvi, S. Thamari; Mastering Cloud Computing: Foundations and Application Programming; Morgan Kaufman; 2013.
WEB SITES
There are hundreds of software industry and professional associations. Most have a narrow focus. Most are more or less isolated and have no contact with similar associations. Exceptions to this rule include the various software process improvement network groups (SPIN) and the various software metrics associations.
This partial listing of software organizations and web sites is to facilitate communication and sharing of data across both organization and national boundaries. Software is a global industry. Problems occur from the first day of requirements to the last day of usage, and every day in between. Therefore mutual cooperation across industry and technical boundaries would benefit software and help it toward becoming a true profession rather than a craft of marginal competence.
What might be useful for the software industry would be reciprocal memberships among the major professional associations along the lines of the American Medical Association. There is a need for an umbrella organization that deals with all aspects of software as a profession, as does the AMA for medical practice.American Electronics Association (AEA): www.aeanet.org
- (May merge with ITAA)
- American Society for Quality: www.ASQ.org
- Anti-Phishing Working Group: www.antiphishing.org
- Association of Computing Machinery: www.ACM.org
- Association of Competitive Technologies (ACT): www.actonline.org
- Association of Information Technology Professionals: www.aitp.org
- Association for Software Testing: www.associationforsoftwaretesting.org
- Brazilian Function Point Users Group: www.BFPUG.org
- Business Application Software Developers Association: www.basda.org
- Business Software Alliance (BSA): www.bsa.org
- Center for Internet Security: www.cisecurity.org
- China Software Industry Association: www.CSIA.org
- Chinese Software Professional Association: www.CSPA.com
- Center for Hybrid and Embedded Software Systems (CHESS): http//chess.eecs.berkley.edu
- Computing Technology Industry Association (CTIA): www.comptia.org
- Embedded Software Association (ESA): www.esofta.com
- European Design and Automation Association (EDAA): www.edaa.com
- Finnish Software Measurement Association: www.fisma.fi
- IEEE Computer Society: www.computer.org
- Independent Computer Consultants Association (ICCA): www.icca.org
- Information Technology Association of America (ITAA): www.itaa.org
- (May merge with AEA)
- Information Technology Metrics and Productivity Institute (ITMPI): www.ITMPI.org
- InfraGuard: www.InfraGuard.net
- Institute of Electrical and Electronics Engineers (IEEE): www.IEEE.org
- Institute for International Research (IIR): eee.irusa.com
- International Association of Software Architects: www.IASAHOME.org
- International Software Benchmarking Standards Group (ISBSG): www.ISBSG.org
- International Function Point Users Group (IFPUG): www.IFPUG.org
- International Institute of Business Analysis: www.IIBAorg
- Japan Function Point Users Group: www.jfpug.org
- Linux Professional Institute: www.lpi.org
- National Association of Software and Service Companies (India): www.NASCOM.in
- Netherlands Software Metrics Association: www.NESMA.org
- Process Fusion: www.process-fusion.com
- Programmers’ Guild: www.programmersguild.org
- Project Management Institute: www.PMI.org
- Russian Software Development Organization (RUSSOFT): www.russoft.org
- Society of Information Management (SIM): www.simnet.org
- Software and Information Industry Association: www.siia.net
- Software Engineering Body of Knowledge www.swebok.org
- Software Publishers Association (SPA): www.spa.org
- Software Engineering Institute (SEI): www.sei.cmu.edu
- Software Productivity Research (SPR): www.SPR.com
- United Kingdom Software Metrics Association: www.UKSMA.org
- U.S. Internet Industry Association (USIIA): www.usiia.org
- Women in Technology International: www.witi.com
- Software Standards Organizations
There are dozens of standards organizations and hundreds of specific standards. No doubt many of both are valuable. However, there is a serious shortage of empirical data that demonstrates whether specific standards, such as the famous ISO quality standards, are beneficial, neutral, or harmful.
It would seem to be a useful addition to the standards creation process to ensure efficacy. At the very least software standards should follow the canon of medical practice; i.e. “first do no harm.” There is at least anecdotal evidence that the famous ISO 9000 quality standard did not improve quality for software and possible made it worse.
International Quality Standards | ||||
1 |
AIAA standards | |||
2 |
ANFIA standards | |||
3 |
ANSI standards | |||
4 |
ASME standards | |||
5 |
British standards | |||
6 |
CISQ standards | |||
7 |
EAI standards | |||
8 |
EIA standards | |||
9 |
EN standards | |||
10 |
FAA standards | |||
11 |
FDA standards | |||
12 |
IEC standards | |||
13 |
IEEE standards | |||
14 |
ISO standards | |||
15 |
ISO/IEC standards | |||
16 |
JUSA standards | |||
17 |
OMG standards | |||
18 |
SEMI standards |
Software Certification Organizations
There are dozens of organizations that provide some form of certification either for specific tool sets or for some general skill such as counting function points. No doubt many of these forms of certification are valuable and those who receive the certificates have added skill sets that they did not have before.
However there is a shortage of empirical data that demonstrates the effectiveness of certification in many areas. For example, in a side-by-side comparison between certified test personnel and uncertified test personnel would the certified group achieve higher levels of test coverage or higher levels of defect removal efficiency? There is no reliable answer to this question in 2014.
For example there is statistical evidence based on a study commissioned by the Air Force that the higher CMMI levels of 3, 4, and 5 have better quality than levels 1 and 2. However, the same study showed that the best level 1 organizations had better quality than the worst level 3 organizations. Even some CMMI level 5 organization occasionally had quality problems; especially those outside the United States.
Certification that imparts or evaluates specific skill sets such as counting function points or fixing Microsoft Windows seem to be effective compared to uncertified personnel. However it is unknown in 2014 whether certified project managers or certified quality assurance personnel are better or worse than uncertified personnel in performing normal work-related tasks.
Professional Certification | ||||
1 |
Certification – Apple | |||
2 |
Certification – Computer Associates | |||
3 |
Certification – FAA | |||
4 |
Certification – FDA | |||
5 |
Certification – Hewlett Packard | |||
6 |
Certification – IBM | |||
7 |
Certification – Microsoft | |||
8 |
Certification – Oracle | |||
9 |
Certification – PMI | |||
10 |
Certification – QAI | |||
11 |
Certification – Red Hat | |||
12 |
Certification – RSBC | |||
13 |
Certification – SAP | |||
14 |
Certification – Sarbanes-Oxley | |||
15 |
Certification – SEI | |||
16 |
Certification – Sun | |||
17 |
Certification – -Symantec | |||
18 |
Certification – TickIT | |||
19 |
Certification of computing professionals | |||
20 |
Certified configuration management specialist | |||
21 |
Certified function point analyst | |||
22 |
Certified project managers | |||
23 |
Certified requirements engineers | |||
24 |
Certified scrum master | |||
25 |
Certified secure software lifecycle professional | |||
26 |
Certified security engineer | |||
27 |
Certified SEI appraiser | |||
28 |
Certified software architect | |||
29 |
Certified software business analyst | |||
30 |
Certified software development professional | |||
31 |
Certified software engineers | |||
32 |
Certified software quality assurance | |||
33 |
Certified test managers | |||
34 |
Certified testers | |||
35 |
Certified webmaster | |||
36 |
Certified software auditor |