Welcome!

Microservices Expo Authors: Yeshim Deniz, Pat Romanski, Elizabeth White, Liz McMillan, Zakia Bouachraoui

Related Topics: Microservices Expo, Java IoT, Microsoft Cloud

Microservices Expo: Book Review

Book Review: Software Engineering Best Practices

Lessons from Successful Projects in the Top Companies

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

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

Microservices Articles
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development organizations.
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will deployment. Storage, for instance, is more capable than where we read and write data. In his session at @DevOpsSummit at 20th Cloud Expo, Josh Atwell, a Developer Advocate for NetApp, will discuss the role and value...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...