Software Engineering Best Practices: Lessons from Successful Projects in the Top Companies Book Review
I have been wanting to read this for a while now but have not had the time. Although my current review is of a book 3 years old, the book is just as relevant today as it was then and will be for a long time to come. If the author gets his way, it will be relevant until 2049. He has included a chapter title "A Preview of Software Development and Maintenance in 2049". This is a massive book filled with tons of knowledge and wisdom accumulated from years of experience. The author does not pull punches. He tells it like it is. He covers what is working in the industry and points out what isn't. He also writes in a way that makes the book a very enjoyable read. At certain points in the book I forgot I was reading an IT book. Below are the chapters included in the book. Introduction and Definitions of Software Best Practices Overview of 50 Software Best Practices A Preview of Software Development and Maintenance in 2049 How Software Personnel Learn New Skills Software Team Organization and Specialization Project Management and Software Engineering Requirements, Business Analysis, Architecture, Enterprise Architecture, and Design Programming and Code Development Software Quality: The Key to Successful Software Engineering After chapter one which introduces and defines software best practices with topics like what best practices are and how you can evaluate them, different paths for software development, deployment, and maintenance, and a nice ranking of methods, sociological factors, and practices, the author lists and defines 50 software best practices. Some of the best practices included in the 50 listed include: Minimizing Harm from Layoffs and Downsizing Motivation and Morale of Technical Staff Motivation and Morale of Managers and Executives Selection and Hiring of Software Personnel Appraisals and Career Planning for Software Personnel Early Sizing and Scope Control of Software Applications Outsourcing Software Applications Using Contractors and Management Consultants Selecting Software Methods, Tools, and Practices Certifying Methods, Tools, and Practices Requirements of Software Applications User Involvement in Software Projects Executive Management Support of Software Applications Software Architecture and Design Software Project Planning Software Project Cost Estimating Software Project Risk Analysisr Software Project Value Analysis Canceling or Turning Around Troubled Projects Software Project Organization Structures Training Managers of Software Projects Training Software Technical Personnel The book is worth buying just for the list of 50 best practices. The next chapter is just down right cool. It is a preview of software development and maintenance in 2049. Topics include Requirements Analysis, Design Circa, Software Development, User Documentation, Customer Support, Deployment and Customer Training, Maintenance and Enhancement, Software Outsourcing, Software Package Evaluation and Acquisition, and many more. They are all based on what they will look like in 2049. The chapter How Software Personnel Learn New Skills is invaluable to everyone involved with software engineering. It shows what techniques are the most effective when trying to learn new technology and skills. Some of the techniques include Web Browsing, Webinars, Podcasts, and E-Learning, Electronic Books (e-books), In-House Education, Self-Study Using CD-ROMs or DVDs, Commercial Education, Vendor Education, and Live Conferences. That is just a few of them. He includes a prognosis and an explanation of each that range from several paragraphs to several pages. He also ranks each with the following- Costs, Efficiency, Effectiveness, Currency, and Overall Score. All of the chapters and topics are extremely valuable and interesting. I have never seen a book like this before and I am so glad I decided to read it. One of the things I really like about the book is all the statistical data included. There are tons of tables showing how different types of data rank. Some of them include Major Cost Drivers for Software Applications, Evaluation of Software Methods, Practices, and Results, Best Practices for IT Projects and Embedded/Systems Projects, Software Methods and Practices Considered “Professional Malpractice”, Software Knowledge Areas, Software Specialization in Large Software Organizations, Distribution of Software Specialists for 1,000 Total Software Staff, Twenty-Three Kinds of Maintenance Work, Chronology of Programming Language Development, and Sample of 150 Applications Sized Using Pattern Matching. That was just a few of them. This is one of those books that should be read by every person with a relationship to IT. Testers, CIOs, CFOs, developers, architects, project managers, and agilists will benefit from this book. I highly recommend reading it. You will come out the back end of it with a complete new perspective on Software Engineering. | Software Engineering Best Practices: Lessons from Successful Projects in the Top Companies |
0 Comments:
Post a Comment
<< Home