Category: DevOps Culture

  • The Rising Demand for DevSecOps Talent

    The Rising Demand for DevSecOps Talent

    Demand for DevSecOps talent and skills is growing even faster than the demand for DevOps.

    The global DevSecOps market is anticipated to register a CAGR of 32.2% over the next few years, and revenue is projected to grow from USD $2.55 billion in 2020 to USD $23.42 billion in 2028. No wonder the number of job postings for DevSecOps is rising.

    Many organizations are implementing DevSecOps in their workflows. Some famous names include Netflix, Etsy, Twitter, Facebook and Google. Those who are already well-versed in DevOps and who have a security background will have an advantage over others in this field when looking to get hired.

    However, it is not just about the tools and technologies—there is a lot more to DevSecOps than that. It is also about culture and new ways of working; about automating the security process and making security a part of the continuous delivery pipeline.

    What is DevSecOps? What’s inspiring top business leaders to invest in this domain? And how will acquiring these skills help you in your career?

    What is DevSecOps?

    DevSecOps is a set of practices that combines the speed and agility of DevOps with security controls. It aims to help organizations deliver software faster while ensuring that the applications are secure. The term ‘DevSecOps’ was first coined by John Willis and Damon Edwards in 2009. They defined it as:

    “DevSecOps is the practice of operations and development engineers participating together in the entire service life cycle, from design through the development process to production support.”

    Later, Gartner offered the following definition of DevSecOps:

    “DevSecOps is the dynamic software development approach that incorporates security as a critical element of the application delivery process from design to production.”

    In simple terms, DevSecOps can be defined as a culture and set of processes that help organizations to deliver secure software faster. As the demand for DevSecOps professionals rises, it is an excellent time for software engineers, developers and DevOps professionals to consider a career in this domain. Here are some of the top reasons why you should consider a career in DevSecOps:

    1. It is a rapidly growing field

    The DevSecOps market is anticipated to grow at a CAGR of 32.2% between 2020 and 2028. This rapid growth is creating a lot of job opportunities for DevSecOps professionals.

    2. It is an interdisciplinary field

    DevSecOps is not just about the tools and technologies. It is an interdisciplinary field that requires skills in development, operations, and security.

    3. High-paying roles

    According to a recent survey, the average salary of a DevSecOps professional is $123,000 per year or higher; much higher than the average salary in other fields.

    4. Work with the latest technologies

    DevSecOps is all about automating the software delivery process. It requires a deep understanding of the latest DevOps tools and technologies as well as automation, AI and machine learning.

    5. Stay ahead of the latest trends

    As a DevSecOps professional, you need to be on the cutting edge of the latest trends in the industry. A role such as this helps you keep your skills up-to-date and stay ahead of the curve.

    Why the Major Investment?

    The following factors are inspiring top business leaders to invest in DevSecOps:

    1. The need for speed

    In today’s fast-paced world, businesses have to deliver software faster. DevSecOps helps organizations speed up the software delivery process while ensuring that the applications are secure.

    2. The need for agility

    DevSecOps enables organizations to be more agile and adapt to ever-changing market trends. The ability to quickly deliver software helps organizations stay ahead of their competition and do so while reducing the risk of data breaches, cyberattacks and malware.

    3. The need for security

    As cyberattacks continue to rise, businesses are investing in DevSecOps to ensure that their applications are secure. DevSecOps helps organizations detect and fix security vulnerabilities earlier in the software development process when they are easier and less costly to fix.

    In 2021, there were around 414,02,809 cybersecurity incidents worldwide and that number will likely increase. With the help of DevSecOps, businesses can protect their applications from attacks.

    4. The need for compliance

    With the help of DevSecOps, businesses can automate the compliance process. It helps save time and resources otherwise spent on manual compliance processes.

    5. The need for cost savings

    DevSecOps helps organizations save money by automating the software delivery process. Automation helps reduce the need for manual labor, which can help cut costs.

    Professional Skills and Requirements

    Like any other field, DevSecOps also has its own set of requirements and skills you need to know to be successful. While many are specific to technology and tools, others are more general soft skills.

    1. The need for cross-functional skills

    Since DevSecOps is an interdisciplinary field, professionals in this role need to understand both development and operations. They also have to be familiar with the latest tools and technologies in software development, IT operations, security, CI/CD, containers and more.

    2. The need for collaboration

    DevSecOps is all about collaboration between different areas of the business and different teams. Professionals need to be able to work closely with other team members.

    3. The need for continuous learning

    As the DevOps and security fields are constantly changing, professionals need to constantly update their skills and be familiar with the latest trends in the industry.

    4. The need for patience

    The software delivery process is often slow and complex. It can be frustrating for professionals who are used to working in a fast-paced environment.

    5. The need for adaptability

    As the DevOps and security fields are constantly changing, professionals need to be adaptable. They should be able to learn new tools and technologies quickly and know how to apply that knowledge to solving technology problems.

    Getting Started

    If you want to become a DevSecOps professional, you need to understand both software development and operations. You also should be familiar with the latest tools and technologies. You can read other professionals’ blogs, take formal courses or attend a coding bootcamp, take courses at a community college or university or teach yourself. You should attend conferences and talk with other technology professionals to share knowledge. In addition, you need to work on your soft skills, including communication, collaboration, teamwork and leadership.

  • Russian Dev Exodus | Puppet IPO FAIL | Intel 18A Ahead of Sched.

    Russian Dev Exodus | Puppet IPO FAIL | Intel 18A Ahead of Sched.

    Welcome to The Long View—where we peruse the news of the week and strip it to the essentials. Let’s work out what really matters.

    This week: More than 100,000 tech workers leave Russia, Perforce buys Puppet, and Intel moves faster than planned. (more…)

  • Retaining Talent as the Developer Role Evolves

    Retaining Talent as the Developer Role Evolves

    Traditional development roles are rapidly evolving due to increased remote work and the Great Resignation. Company leadership must also adapt to retain that talent and ensure the success of their dev teams.

    The Bureau of Labor Statistics reported that a record 4.5 million Americans voluntarily left their jobs in November 2021—and in December 2021, CompTIA’s Tech Jobs Report showed that open job postings for tech and IT roles increased 53% year-over-year. With the need for tech and IT talent persisting in 2022, a combination of widespread burnout and technical skills gaps have made it even more difficult to find and retain top IT talent. 

    But that’s not the only challenge. The impact of remote work has triggered fundamental changes in the developer role, further compounded by tech companies’ increased migration to cloud infrastructure. And within organizations, a lack of foundational knowledge and formal company training is creating discrepancies in how development methodologies are being applied. 

    With developer expectations and skills evolving, Agile development methodology is more relevant than ever thanks to its adaptive nature and flexible, iterative processes. Company leadership must internalize this fact and put formal practices in place to standardize methodologies within their organizations. By doing so, leaders can arm developers with the tools they need to embrace rapidly changing development standards and methods—and retain top IT talent in a high-turnover marketplace. 

    Changing Developer Roles Bring new Possibilities and Challenges

    The pandemic profoundly accelerated the need for remote-based work structures, and with employees physically out of the office, many organizations began placing a much higher priority on their migrations to cloud-based infrastructure—both physical and organizational. This push placed a huge burden on development teams to move organizational and project data to Cloud infrastructure at faster-than-normal rates. For IT professionals, the pandemic-triggered disaster response has accelerated a permanent migration to the cloud as a way to safeguard access to digital infrastructure and processes. For developers specifically, this migration triggered many teams to embrace infrastructure-as-code (IaC). 

    IaC is a core DevOps practice that allows for infrastructure (like networks, cloud services and virtual machines) to be constructed and managed through code instead of manual processes.  This means that developers are increasingly writing the actual infrastructure their software runs on, which has game-changing advantages for automation, traceability and reliability—and impacts virtually all DevOps practices. With no one in the office to perform administrative and operational IT work, IaC is particularly useful. But since developers must have the necessary technical skills to write this infrastructure in addition to their traditional code, IaC has created a gray area where developers are also becoming IT operators and systems designers.

    The shift to IaC has evolved standards for developers, and it requires a higher level of flexibility within development teams and companies as a whole. Adopting IaC goes hand-in-hand with strengthening and refining Agile processes because creating standardized Agile practices enables not just greater agility, but also more accurate visibility—both necessary capabilities as staffing models evolve and the roles of developers and IT operators become more intertwined. But company leaders can position their development teams to succeed in this changing tech landscape and reap the benefits of increased collaboration and efficiency that IaC and cloud-based technologies provide. 

    3 Key Ways Leadership Can Support Development Teams

    The role of development teams is changing fast, and leaders must keep pace to retain IT talent and safeguard the health of their organizations. With that in mind, here are three ways you can support your development teams as they navigate changing development standards. 

    1. Standardize best practices. Even within a single organization or a single development methodology, go-to practices can vary among IT and development professionals. To successfully execute Agile, teams must have standardized best practices to ensure consistency in foundational knowledge. Agile’s iterative processes can lead to useful shorthand and improvisation, but only if developers are working from the same set of methodology standards and solid foundational knowledge. 
    2. Increase commitments to formalized training—especially for new hires. To fully benefit from Agile’s capabilities, all employees must have foundational knowledge of its processes—especially new hires. Provide formal education and training on industry-accepted Agile standards to eliminate skills gaps and cultivate institutional knowledge within your organization. Institutional knowledge ensures that quality standards are well-defined and achievable, ultimately strengthening the collaborative capabilities of your development teams. 
    3. Prioritize measures to decrease burnout. The pandemic shed light on burnout across industries, and the IT/tech world was no exception. It’s up to leadership to implement tangible measures aimed at reducing employee burnout—like managing realistic workloads, allowing for flexible working schedules and implementing policies that encourage work-life balance. Consistent standards lead to meaningful reporting, which ensures accurate measurement of team performance and workload.

    Preparing for Future Evolutions

    Remote work isn’t going anywhere, and companies that fail to embrace remote-based technologies risk employee flight and obsolescence. As development methodologies evolve to accommodate pandemic-triggered challenges and IT hiring gaps, the developer role will continue to change. In five to 10 years, it will look much different than how it looks today and companies must be willing to embrace these changes to ensure the success of their IT and development teams. 

    Agile development methodology was designed to adapt to rapid technological innovation and organizational change. The shift to remote work and the IaC revolution is the future—and it’s here. These forces are driving hybridized development methodologies that serve the new standards they impose. Embracing these changes is an organizational imperative, and by committing to standardized knowledge within your development teams, you can retain your top IT talent—and ensure your teams are poised and ready to meet these new challenges. 

  • Atlassian Expands DevOps Tools Portfolio to Improve Collaboration

    Atlassian Expands DevOps Tools Portfolio to Improve Collaboration

    Atlassian has added an extensible catalog for tracking software components, dubbed Compass, to its portfolio of DevOps tools along with an Atlassian Data Lake and Atlassian Analytics cloud service that makes it simpler to aggregate and query data collected from the company’s portfolio of tools.

    In addition, Atlassian is making its Atlas collaboration framework—formerly known as Team Central—formally available in beta. That framework, in effect, provides an overlay through which different collaboration tools adopted by various DevOps teams can be more easily integrated.

    Compass provides DevOps teams with the ability to map all the components they use to assemble their software as well as the teams that own them. DevOps teams can access shared components and documentation along with scorecards to allow them to measure and evaluate their architecture based on the baselines, security or compliance requirements they might be required to meet. It can be extended to other applications via an integrated Apps engine using Forge, the existing Atlassian cloud development environment.

    Tiffany To, head of product for Agile and DevOps at Atlassian, said Compass is designed for DevOps teams that are typically trying to manage 50 or more microservices. It is designed to be deployed alongside the Jira project management software that is widely used by software development teams to manage multiple projects.

    Atlassian Analytics, meanwhile, is based on a visualization and analytics platform the company gained last year with the acquisition of Chartio. Initially, the Atlassian Data Lake will include data from Jira Software and Jira Service Management tools with support for additional Atlassian platforms planned.

    Collectively, these tools are part of an ongoing Atlassian effort to make it simpler to integrate multiple DevOps teams, said To. Many of those teams prefer to maintain autonomy over the tools they select. The challenge that creates is organizations need some type of overlay through which they can collaborate and share best practices, she said.

    A survey of 2,000 developers conducted by Atlassian found half of the respondents exercise strong autonomy over the tools they use, with more control over tool selection gained as developers become more experienced. The same survey also found that 65% of developers felt they should be responsible for more of the software product life cycle than they currently are.

    It’s apparent that most organizations building software are trying to strike a balance between developer autonomy and centralized control. Developers are expensive to hire and retain, so there is a natural tendency to make available the tools they prefer. That, however, can lead to a level of tool sprawl that makes it difficult to determine the overall state of application development and deployment within an organization.

    Regardless of the approach, the need to remove as much friction as possible from DevOps workflows is clear, especially as the number of simultaneous application development projects continues to multiply. The challenge and the opportunity, of course, is achieving that goal while keeping developers happy.

  • Agile Development at 20: Can it Thrive in the Hybrid Work Era?

    Agile Development at 20: Can it Thrive in the Hybrid Work Era?

    The Agile Manifesto turns 20 this year, and while many of the core tenets are still applicable, the world has changed considerably in the last two decades. What would the Agile Manifesto look like if it was written today and took into consideration our new reality of hybrid working environments? Changes are most definitely needed, as software leaders still find themselves struggling to navigate the murky waters of 21st-century project management to get the most out of their team.

    Developers have many complaints about Agile, but most of them boil down to the fact that they often spend more time planning for work than doing it. For example, developers sometimes feel that frameworks like Scrum are top-heavy and bureaucratic, which is the opposite of their intended purpose. Developers can also feel disconnected from the bigger goals of their project, being trapped in an endless list of “to-dos” without the time to think holistically about the features they’re creating.

    With these concerns in mind, let’s take a quick look at what the original Agile Manifesto actually included. It started with four primary values:

    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change by following a plan

    On their faces, all of these seem reasonable; even approaching plain ol’ common sense. But in their zeal to focus on code development rather than bureaucracy, the authors couldn’t have anticipated how much the industry would change. Consider some of the trends we’re seeing in today’s software development teams.

    First and foremost, the idea that “every company will be a software company” has become a reality. It’s hard to imagine an industry that doesn’t leverage software in some way to address its core competency. This trend has, in turn, fueled another major trend: The war for developer talent. Skilled developers were already at a premium prior to the Great Resignation in the wake of the pandemic. Now, developers hold substantial leverage over their employers in ways never seen before.

    The Pandemic and the New Normal of Hybrid Teams

    The pandemic has also brought us the new normal of remote, distributed teams and asynchronous work styles and skilled workers are spread across the globe. There are also new technologies that enable more automation for software teams, including machine learning and AI and other methodologies (like DevOps and DevSecOps) that reduce workloads for developer teams by using automation and process-driven workflows.

    These trends have given rise to particular needs for almost all hybrid developer teams. They include significantly improved productivity for faster software delivery and developer-friendly tool experiences that speak directly to how developers work today. Teams also require guided, asynchronous processes that map to the reality of highly distributed teams. Finally, as the cloud era is firmly a reality, developers need new technologies that offer the ability to scale predictably without suffering from increased complexity.

    Now, let’s look at the original Agile values through the lens of today’s trends and needs. The first is valuing individuals and interactions over processes and tools—this definitely requires an update for today’s developer teams. Specifically, process is a prerequisite for productivity. It is an enormous challenge to measure productivity or determine if the team is improving without a consistent process to follow. Without agreed-upon rules for working together, software development can quickly devolve into chaos. Second, putting individuals and interactions over tools seems like a restrictive viewpoint today. Good tools are explicitly designed to facilitate productive interactions between individuals. If they don’t accomplish this goal, they are poor tools; but there are many solid reasons that great tools can increase productivity and make developer teams’ lives much more manageable.

    The second value of the Manifesto also seems to present a false choice, as it prioritizes working software over comprehensive documentation. Its heart is in the right place—who wouldn’t want to focus on building workable code rather than creating documentation? However, in the world of distributed teams, detailed documentation is critical for both remote and hybrid teams. This also encompasses documentation that goes beyond just the codebase. Documentation involving decisions, requirements, process, etc. also provides context for teams that are adjacent to developer teams and help them understand progress and goals. Documentation is also helpful for addressing the skills gap and talent shortage. New hires or newly-promoted team members need to get up to speed quickly and provide value as quickly as possible. In addition to training, good documentation can help them do that and help their teams be more productive more quickly.

    The third value of the Agile Manifesto said that we should focus on customer collaboration rather than contract negotiation. I believe this needs a slight but essential adjustment for today’s hybrid teams. Specifically, teams should be building with end-users,—not just “customers”—in mind, which means that the needs of whoever will be using the end application regularly should be paramount. This is particularly important today given how many end users are involved in buying decisions.

    I think the final value of the Agile Manifesto—responding to change over following a plan—needs no edits whatsoever. This remains great guidance for developer teams everywhere, and it seems the Manifesto should take this advice and adapt to the many changes that have occurred since it was first written.

    Many of the 12 principles of the Agile Manifesto continue to be outstanding guidance that is applicable for most developer teams. There is, however, some nuance that should be considered for a couple of them. To wit:

    “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”—This is true, but today, remote and hybrid teams are a reality. That’s not changing any time soon. Teams need to optimize for asynchronous communication and collaboration.

    “Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.”—Sure, but given the myriad demands on software teams, developer burnout needs to be monitored and managed or overall quality and productivity will suffer.

    “Simplicity—the art of maximizing the amount of work not done is essential.”—I couldn’t agree more, but in my mind, this means that teams should leverage automation where possible to maximize “work not done.”

    Conclusions

    In general, it seems that the Agile Manifesto holds up pretty well, provided that today’s workplace realities are taken into account. If software teams recognize that tools and processes create conditions for greater productivity and that documentation is critical in a remote/hybrid world, their remote Agile teams will be much better off. In addition, teams should build with end-users in mind, not just customers. With this added nuance and recognition of a changing world, today’s software teams can continue to thrive while leveraging this decades-old advice.

  • Overcoming IT Complexity With Full-Stack Observability

    Overcoming IT Complexity With Full-Stack Observability

    Organizations embarking on digital transformation journeys tend to develop complex infrastructures. They update their legacy applications while adding multi-cloud, virtual and cloud-native capabilities. Eventually, IT pros find themselves managing diverse, complex and distributed networks including cloud, system, application and database infrastructures.

    To rein in the resulting complexity, organizations tend to amass monitoring and managing tools. The goal is to simplify systems oversight—but instead, silos tend to develop because teams use a wide variety of tools to manage their networks or infrastructures. 

    This piecemeal approach worsens operational blind spots and delays problem resolution. It also increases security exposures. Soon, overwhelmed IT pros can’t keep pace with app modernization or infrastructure dynamics because they’re awash in complexity.

    Though this scenario is common, it’s not inevitable. IT teams can ease their digital transformation journey by implementing an integrated and cost-effective full-stack, end-to-end monitoring service capable of overcoming complexity and silos. 

    Organizations require full-stack observability.

    How Observability Differs From Traditional Monitoring

    Observability goes beyond traditional monitoring. Traditional monitoring helps IT organizations understand the actual state of their infrastructure and applications. It captures and processes volumes of infrastructure and application telemetry data and notifications and displays which components are up, which ones are down and which ones have changed. 

    Usually, traditional monitoring focuses on a specific network, cloud or infrastructure. It tracks application and infrastructure elements so IT pros can identify anomalies and investigate problems as they arise.

    Monitoring relies on metrics-oriented dashboards built to assess telemetry data against manual or basic statistically relevant thresholds. Monitoring tools are invaluable, but they don’t offer cross-domain correlation, service delivery insight, operational dependencies, or predictability. Modern systems have complex multi-cloud environments and a deluge of telemetry data: This counts as a shortfall.

    Observability does more. It measures the internal states of systems by examining the outputs and looks at applications and systems in their entirety—from the end-user experience to server-side metrics and logs.

    But observability also includes monitoring as a critical element. To gain observability, you must first collect information through monitoring. Observability uses the insights and metrics generated through monitoring to understand what’s causing the issue at hand. 

    Monitoring aggregates and displays the data to determine whether the systems are operating as expected. The analysis of this information is compared with expected outcomes and objectives. This allows IT pros to understand the state of their infrastructure and applications. 

    Silos are thus avoided because complex environments are viewed in their entirety.

    Observability in Action

    Once in place, observability allows IT organizations to continuously improve performance, availability and digital experience across complex, diverse and distributed hybrid and cloud environments.

    With observability, organizations can quickly find and resolve anomalies. However, full-stack observability goes beyond monitoring and expedited problem resolution: It supplies insights, automated analytics and actionable intelligence through cross-domain data correlation, machine learning (ML) and artificial intelligence for IT operations (AIOps). It works across massive real-time and historical metrics, logs and trace data.

    Observability goes beyond the silos and the piecemeal approach associated with traditional monitoring. And when observability isn’t limited—when it includes ML and AIOps—it uses the large volume of gathered data and supplies insights, automated analytics and actionable intelligence to help IT staff expedite problem resolution. It also enables ITOps, DevOps and security organizations to achieve consistent, optimized and predictable business service delivery with continuously improved digital experience and IT productivity. 

    The result is customers and employees benefit from better-run systems. The technology provides organizations of all sizes and industries with comprehensive, integrated, and cost-effective functionality through cloud-connected on-premises or software as a service (SaaS) deployment flexibility.

    When embarking on digital transformation journeys, organizations don’t need further complexity—certainly not while they update legacy applications and add a plethora of modern services and capabilities to their stack. The key to reducing complexity is observability.

    Observability simplifies the transformation process. It reduces operational noise to benefit ITOps, DevOps and security teams. They can become more proactive in issue and anomaly detection to achieve optimum IT performance, compliance, and resilience. With full-stack observability, any organization—no matter its size or industry—can reduce IT complexity while readying itself for digital transformation.

  • Facebook Bans Innocent Users | Azure and ARM/Ampere | ‘Great Resignation’—No End in Sight

    Facebook Bans Innocent Users | Azure and ARM/Ampere | ‘Great Resignation’—No End in Sight

    Welcome to The Long View—where we peruse the news of the week and strip it to the essentials. Let’s work out what really matters.

    This week: No remedy for banned Facebook users, new ARM-based VMs on Microsoft Azure, and The Great Resignation will still be a Thing for the foreseeable. (more…)

  • Essential Ingredients For a Remote DevOps Team

    Essential Ingredients For a Remote DevOps Team

    Enterprise business processes are run on evolving applications, and the DevOps team needs to be as efficient as the applications they create. Unfortunately, the COVID-19 pandemic has had a profound impact on DevOps productivity—and that impact hasn’t always been positive.

    Tracking the performance of the DevOps team has become more challenging in a remote and hybrid world. Like everyone else, developers have become remote workers throughout the pandemic which means adapting to a new way of working. There has been a lot of research done on the impact of work-from-home on productivity. Of course, measuring any developer’s productivity was already a complex task. It’s not as though you can use a simple metric like the number of lines of code produced per day; it’s a lot more complicated than that.

    Working from home has made it even more challenging for developers to stay productive. There are dozens of distractions when you work from home, and research shows that it can take even the most skilled developer 15 to 20 minutes to resume work once they have been interrupted. There’s also more stress associated with balancing work and home life when working remotely. According to Catalyst, 92% of workers say they are feeling burnout from the stress of remote work.

    Software Development Thrives on Remote Work

    In many ways, the trend toward remote work has been a windfall for developers. The nature of coding has always lent itself to a hybrid or remote work environment, but unfounded concerns about securing intellectual property have always been an impediment.

    A recent Gartner survey revealed that employees are three times more likely to become high performers when given flexibility as to where, how, and when they work. Remote work also enhances flexibility and eliminates wasted time commuting. And work-from-home reduces childcare responsibilities. Catalyst found that 32% of women with child-care concerns are less likely to leave their jobs if they have work-from-home as an option.

    Remote work also eliminates geographic barriers, which is a well-understood benefit in the software industry. Being able to hire programmers working from home anywhere in the world increases the size of the talent pool and makes it easier to find developers with the right skillset.

    Of course, there are challenges for DevOps teams that embrace a remote work model. Communication is probably the biggest challenge. Zoom meetings may not be as effective as in-person meetings since it’s harder to read facial expressions and pick up non-verbal cues. It’s up to the team leader or senior manager to promote effective communications. It’s also important to have the right tools, have the right communications channels and maintain respectful interactions. Even with a remote work environment, the team dynamic can be adversely affected by the misuse of responsibility, behavioral issues and disrespectful behavior.

    Building a Remote DevOps Team

    Supporting collaboration in a hybrid work environment requires new processes, new guidelines and new tools. The best place to start is by choosing the right collaboration platforms and procedures. For example, email is a poor channel for immediate requests, but you don’t want to be answering continuous phone calls. Establish protocols for using email, chat, teleconferences and meetings. Adopting cloud communications tools also gives you more agility and scalability. 

    When choosing the right collaboration tools consider security. Working off-site gives you less control over enterprise access. Remote workers access enterprise systems using different devices and public and private networks. To reduce vulnerability to cyberattacks provide safe and secure network access with multiple security layers. Adopt virtual private networking (VPNs), remote desktop protocol (RDP) clients, and malware protection. Workers tend to be less security conscious when working remotely so take what steps you can to reduce risk.

    In addition to having the right tools, you must have the right approach. To continuously improve efficiency you need transparency, inspection and adaptation, just as you do with DevOps. Start by establishing and documenting a clear set of expectations for the remote team. Also, create a leadership hierarchy. Even though they are working from home, everyone needs a work structure. It’s up to the team leaders to create a stable work environment. Lack of clarity removes that sense of structure and safety and can undermine the team.

    Maintaining transparency is the best approach for any remote work culture. Establishing a workplace fueled by honesty and openness and where every voice is heard ensures everyone is working to achieve a common goal and keeps morale high.

    Maintaining a successful remote work environment depends on respecting the four Cs: Communication, collaboration, connectivity and culture. The four Cs are interdependent and work together to create an effective digital work environment, providing an employee experience across locations, devices, channels and situations.

    Creating a Productive Environment

    Once you have laid the foundation for remote collaboration, the next step is to monitor productivity. There are a few ways to look at DevOps team productivity. You can look at the final output of the overall effort, assessing the application that is the end product. You also can measure overall team productivity. 

    To monitor key metrics to assess team productivity, project managers must be prepared to drill down to evaluate hot spots:

    • Measure output for specific developers and see how it stacks up against the productivity of other team members. 
    • Maintain leaderboards highlighting top contributors. Using gamification creates healthy competition and can inspire greater productivity when top performance is recognized.
    • Create a conducive environment by providing the right set of tools and motivating engineers to be at their best.
    • Monitor distractions. Coding is an intensive activity and disruptions harm productivity.

    Don’t measure productivity based on coding. Developer contributions also include designing new features, functional discussions, code review, documentation, testing and bug fixes, meeting with customers and other tasks.

    Improving DevOps productivity is also a product of automation. In addition to streamlining real-time collaboration with tools such as instant messaging and Microsoft Teams, shortening development time with automated testing tools and AI-powered test frameworks eliminates manual processes and frees time for more productive tasks.

    If you are looking for a silver lining from the pandemic, consider the evolution of the remote work environment. Supporting remote DevOps developers is nothing new, but forcing employees to work from home has made the hybrid work environment more efficient. DevOps teams continue to invent better ways of working that promote flexible work hours, higher productivity and a better work-life balance.

  • GitLab Updates CI/CD Platform to Improve Dev Productivity

    GitLab Updates CI/CD Platform to Improve Dev Productivity

    GitLab has made available a 14.9 update to its namesake continuous integration/continuous delivery (CI/CD) platform that adds epic-linking, integrated security training, rule mode for scanning result policies and a revamped design, among other capabilities. The updated environment makes it easier to discover the state of the application development projects, GitLab said.

    Cindy Blake, director of product marketing at GitLab, said these updates are part of an ongoing effort to embed technologies within the CI/CD platform that will make applications both more secure and compliant with various mandates before they are deployed in a production environment.

    For example, DevOps teams can now take advantage of a user interface through which they can use a rule mode to design and edit policies without the need to access YAML files directly.

    GitLab has also partnered with Kontra and Secure Code Warrior to provide content that will drive security training functionality. This content can be accessed via the GitLab platform whenever a vulnerability is discovered.

    The overall goal is to make it simpler for organizations to shift left because expecting every developer to become a security expert is not especially realistic, noted Blake. The ability to automate many of the security tasks that developers face is a way of showing empathy for the daunting challenges they face.

    In general, as application development becomes more complex, GitLab is moving toward making its CI/CD platform more accessible to a wider range of organizations, including those that might only be starting to embrace DevOps best practices. The epic-linking capability, for example, makes it easier to identify “related”, “blocking,” or “blocked” relationships to better track and manage epic dependencies across GitLab groups.

    The two biggest challenges organizations face today are securing their software supply chains and improving the overall productivity of the developers. In most cases, those two goals are tightly coupled; every minute a developer spends on security is one less minute they spend writing code. In fact, many organizations are finding that, in addition to salary and benefits, many developers are using the level of friction they will encounter when building and deploying applications as a guide to decide which organizations they want to work for. As a result, many organizations are now looking to modernize their application development and deployment environments with an eye toward attracting the best developer talent.

    At the same time, of course, organizations are looking to improve the productivity of the developers they do have. In the age of digital business transformation, there are many more application development initiatives being launched. The challenge organizations face is that hiring and retaining developers remains a major challenge.

    It’s not clear how eager organizations are to replace their existing CI/CD platforms. However, the pressure to improve the overall developer experience is mounting at a time when organizations are increasingly dependent on software. Arguably, going forward, the ability of any organization to compete will be dependent on the productivity of application development teams. Platforms and tools that get in the way of enabling organizations to build and deploy more secure software faster will be discarded.

  • What We Don’t Know is Dangerous

    What We Don’t Know is Dangerous

    Pop quiz: How many database management systems (be they RDBMS or NoSQL or even flat file) do you have running in your overall organization? Not actual databases, but management systems?

    How many containers do you have that are exposed to the internet, directly or indirectly? Not container management systems, because you’re only running a couple of those and they’re all relatively new, but actual containers?

    The questions could go on and on. Not too long ago, because there was an identifiable cost associated with it, cloud inventory management became a popular thing – finding and removing cloud instances, services and storage that were no longer necessary became a part of normal operations for organizations that had even a mid-sized cloud presence.

    But now, we have sprawl all over the place. So let’s extend inventory management to all software, and get rid of what isn’t needed on a regular basis … because it does indeed build up quickly.

    Yes, there are a few companies out there trying to do just this, and I encourage you to check them out. I have not, because our inventory at Ingrained Tech is manageable without that level of overhead. Our development and ops time is limited, so we keep a tight rein on what is out there and the maintenance it requires.

    But for larger organizations, the more you have out there, the larger attack surface and potential data sieves you have in place. So make sure if it isn’t needed, it’s gone. In the age of containers, this actually requires a fair amount of investigation; first, a list of all containers part of an ongoing project (and in even a mid-sized company, “They’re all together for each app,” won’t create this list because random containers are out there, too). And then a list of all containers not associated with a known project that can be gone through and usage determined.

    It’s not glamorous. It’s a bit of a slog. It’s in the organization’s best interests, though, and the slog should motivate your teams to put a policy in place to manage container life cycles. Like notes in Docker files that say when the container is no longer needed, or what it is needed for, so future you can easily get rid of it without stress.

    If you are in a containerized environment, this problem is growing almost by the day. Seriously. On our last project, we had 12 active containers before we pared it down to the five we needed long-term. The others were R&D along the way or tools we were using before focusing on a different method of achieving the same goals. Since we’re a small team, we just cleaned up when the project was coming into focus, but a larger org needs to be more focused on cleaning things up as they go.

    Meanwhile, those assets are letting customers get to your org, and allowing employees to manage the systems. Keep rocking it, and just remember to pick up, particularly after cutting-edge new projects, but also occasionally as just a normal cleanup step.