Continuous Deployment of Mobile Software at Facebook
Abstract
Continuous deployment is the practice of releasing software updates to production as soon as it is ready, which is receiving increased adoption in industry. The frequency of updates of mobile software has traditionally lagged the state of practice for cloud-based services for a number of reasons. Mobile versions can only be released periodically. Users can choose when and if to upgrade, which means that several different releases coexist in production. There are hundreds of Android hardware variants, which increases the risk of having errors in the software being deployed.
Facebook has made significant progress in increasing the frequency of its mobile deployments. Over a period of 4 years, the Android release has gone from a deployment every 8 weeks to a deployment every week. In this paper, we describe in detail the mobile deployment process at Facebook. We present our findings from an extensive analysis of software engineering metrics based on data collected over a period of 7 years. A key finding is that the frequency of deployment does not directly affect developer productivity or software quality. We argue that this finding is due to the fact that increasing the frequency of continuous deployment forces improved release and deployment automation, which in turn reduces developer workload. Additionally, the data we present shows that dog-fooding and obtaining feedback from alpha and beta customers is critical to maintaining release quality.
Packt Emotional Intelligence for IT Professionals
About This Book
Get real-life case studies for different IT roles, developers, testers, analysts, project managers, DBAs
Identify with your IT scenarios and take the right decision to move up in your career
Improve your EQ and face any difficult scenario confidently and effectively
Who This Book Is For
This book is for professionals across the IT domain who work as developers, administrators, architects, administrators system analysts, and so on, who want to create a better working environment around them by improving their own emotional intelligence. This book assumes that you are a beginner to emotional intelligence and will help you understand the basic concepts before helping you with real life scenarios.
What You Will Learn
Improve your observation skills to understand people better
Know how to identify what motivates you and those around you
Develop strategies for working more effectively with others
Increase your capacity to influence people and improve your communication skills
Understand how to successfully complete tasks through other people
Discover how to control the emotional content of your decision-making
In Detail
This book will help you discover your emotional quotient (EQ) through practices and techniques that are used by the most successful IT people in the world. It will make you familiar with the core skills of Emotional Intelligence, such as understanding the role that emotions play in life, especially in the workplace. You will learn to identify the factors that make your behavior consistent, not just to other employees, but to yourself. This includes recognizing, harnessing, predicting, fostering, valuing, soothing, increasing, decreasing, managing, shifting, influencing or turning around emotions and integrating accurate emotional information into decision-making, reasoning, problem solving, etc., because, emotions run business in a way that spreadsheets and logic cannot. When a deadline lurks, you'll know the steps you need to take to keep calm and composed. You'll find out how to meet the deadline, and not get bogged down by stress. We'll explain these factors and techniques through real-life examples faced by IT employees and you'll learn using the choices that they made. This book will give you a detailed analysis of the events and behavioral pattern of the employees during that time. This will help you improve your own EQ to the extent that you don't just survive, but thrive in a competitive IT industry.
Style and approach
You will be taken through real-life events faced by IT employees in different scenarios. These real-world cases are analyzed along with the response of the employees, which will help you to develop your own emotion intelligence quotient and face any difficult scenario confidently and effectively.