Category: DevOps Culture

  • Three Ways You Can Embrace Curiosity to Climb the Career Ladder

    Three Ways You Can Embrace Curiosity to Climb the Career Ladder

    As the product manager of a high-growth startup, my role has evolved quickly over the past four years. When we started the company, in a garage along one of the many Amsterdam canals, I found myself doing everything from writing code to taking out the trash and ordering dinner for the late nights in the office. Since then, our team has grown rapidly and we are now in a beautiful office where we are proud to host global brands—something we didn’t do in the garage.

    When I joined MessageBird, it was a small company so we each wore many hats and shared responsibilities. Regardless of the hat we wore at any given time, each person stepped up and took the opportunity to learn new skills to help the company reach the next level of success. As the company has grown, I’ve grown along with it. I started as a developer and now, four years later, I am managing product development for our platform of communications solutions.

    As I think back to how I got here, there were three key practices that paved the way.  In addition to never saying no to a job—even if it wasn’t in my job description—I’ve found that nurturing these three practices can go a long way to building a career.

    Ask the Long-Term Questions Early and Often

    When asked to select from a list of 34 attributes that represent their top strengths, 76% of product managers chose “always learning,” and 64% selected “curiosity.” When coupled with a long-term focus, a learner’s attitude is a strong asset for personal growth. At a startup, prioritization of efforts at any time can mean the difference between success and failure. Part of my success was born from simply asking why. Why are we building this now? What customer pain are we solving? Why this focus over that one? Asking why early and often forces a team to slow down and think through whether they are focusing on the right outcomes. And, it’s helped me prioritize my time to have the most impact.  

    Be a Dreamer, but a Critical One

    Whether working as a developer or as a product lead, rallying the team around our mission and potential is critical to success. One of the most effective ways to do this is to dream big—and encourage the team to do the same. Imagining what could be is not only fun, but it helps us aim high. While we dream big, we remain critical of our ideas and open to the input and criticism of others. As we take in new input and ideas, we adjust our thinking but remain persistent on the end goal. To make an impact in a growing company, it’s important to keep one foot planted in solving current customer challenges. But, that doesn’t mean you shouldn’t keep an eye on the future and dream big.

    Acknowledge that You Don’t Know What You Don’t Know

    Growth and leadership are recognizing when you don’t have all the answers and having the confidence to admit it. I’ve learned that the best ideas don’t typically come from one brilliant mind, but rather from the collaboration of several minds. MessageBird was founded in the Netherlands which is a very small country. In fact, two hours in any direction and you’re in a different country with a different language and a different culture. As such, we’re fortunate to have over 30 nationalities represented. Naturally, different backgrounds bring different perspectives and different sets of knowledge. It’s a culture that has given us an edge because the diversity of thought enables us to see challenges from very different viewpoints.

    I’ve come to learn that not knowing something is OK as long as you stick to the pursuit of knowledge and validation. You will make some mistakes along the way, but don’t get stuck on what you don’t know. Let not knowing drive you to learn.

    Embracing curiosity, dreaming big and working together toward solutions are the best ways I’ve found to solve customer challenges and move your career forward at the same time. Hopefully, these tips help you drive yours forward, too.

    — Joey van Ommen

  • SauceCon 2020 Speaker Profile: Hilary Weaver-Robb

    SauceCon 2020 Speaker Profile: Hilary Weaver-Robb

    This is the second in a series of articles highlighting speakers at SauceCon 2020. SauceCon brings together the global community of Sauce Labs users and continuous testing experts to learn from each other and level up their automated testing and continuous delivery skills. This year’s event will be held April 27-29 in Austin, Texas, and DevOps.com will be there, broadcasting live.

    SauceCon 2020 speaker Hilary Weaver-Robb (known on the internet as g33klady), wants you to know how important it is to test APIs—both alone, and together with the UIs that use them.

    Here’s why: If you only focus on UI testing, you may be missing something big. After all, APIs are where all of the business logic for the application is exposed, and they can hide some pretty nasty bugs. 

    “I’ve been advocating for folks to do API testing for a long time, but after putting together and running a workshop on the topic of testing APIs, I realized that how the UI and API talk to each other doesn’t often get covered in talks or workshops,” said Hilary. “This is an area I had to teach myself a long time ago, and I think it’s valuable information for folks to learn.” 

    Like many testers, Hilary happened to embark on a software testing career by chance, and fell in love. She is currently a software quality architect at Quicken Loans, and is the sole tester on a team of engineers. Now, with more than 12 years of software testing experience under her belt, Hilary specializes in API testing and C# automation, and runs the Motor City Software Testers meetup group in her hometown of Detroit. She is active in training people on API testing as well as testing tools.

    Anyone who attends her talk at SauceCon 2020 will come away with a better understanding of how the UI and API work together.

    “This will make it much easier for people to troubleshoot when things go wrong from the UI,” she said. “Also, it will give you a more complete picture of the application under test.”

    When she isn’t developing content for the courses, talks and workshops that she gives frequently around the world, Hilary loves to play video games and spend time with her family and her dog.

    You can hear from Hilary and more than 30 other expert speakers at SauceCon 2020, the fourth annual Sauce Labs user conference. To see a full list of presentations or to register, visit the SauceCon website.

    — Rebecca Cramer

  • Are US Workers Threatened by Automation?

    Are US Workers Threatened by Automation?

    There’s been plenty of predictions about the impact of automation on the workforce: from enhancing the ability of workers to do their jobs to those who argue intelligent automation will eventually decimate the human workforce. The issue even made it to the Democratic presidential 2020 primary race with candidate Andrew Yang’s “Freedom Dividend.”

    Still, if a recently published survey from business process automation provider Sykes is any indication, American workers aren’t very concerned. In fact, two-thirds of those Americans surveyed indicated they have yet to see automation on the job: 66% said that automation did not assist them with repetitive tasks in 2019. That response diverged with millennials (those 25 to 34 in this survey), with 41% saying that automaton has assisted them in their jobs last year.

    Most Americans show a positive attitude toward on-the-job automation. According to the survey, 63% of respondents said that they could be better at their jobs if automating certain tasks enabled them to do more in less time. Not surprisingly, the percentage was highest, 71%, with the youngest (18 to 24) age group. Further, two-thirds of respondents said they would more likely apply at a company that is investing in automation technologies.

    Indeed, the majority (58%) of respondent employers are actually providing some or a lot of training or other resources to help employees keep current with technological change.

    The vast majority, 84%, of respondents believe their jobs will soon involve new automation technologies and expect some of their work to be completed by automation in 2020. While most respondents were open to increasingly working with automation to complete their jobs, few want to work for bots. The majority, a sizable 87%, said they are more willing to take orders from a human than a software bot (13%).

    What industries do respondents think will be the most impacted by automation? In order, the U.S. workers surveyed believe manufacturing (65%), telecommunications (50%), and transportation (38%).

    When it comes to public programs designed to mitigate the impact of automation on the workforce. However, 57% of workers believe that the U.S. government has a responsibility to compensate workers whose jobs are lost to automation. Of those, only 32% believe Universal Basic Income is the way to address jobs lost to automation, while 25% look to the existing welfare system. About 43% of workers do not think it’s the government’s role to compensate those whose lost their job because of automation.

    The Sykes survey is based on the responses of 1,500 employed within the United States.

    — George V. Hulme

  • These Three Approaches Will Help Your Enterprise Be More Agile

    These Three Approaches Will Help Your Enterprise Be More Agile

    Nearly every organization that tries to change its culture to be more agile and better adapt to changing environments discovers that it’s harder than it looks. Agile transformation can’t be superficial or only embraced by the IT department–it needs to be completely pervasive throughout the business.

    There is no one-size-fits-all approach or playbook that can be used to fit any organization’s unique situation. Yet, there are some common takeaways and best practices that can be gleaned from organizations that have successfully undergone agile transformation. Here are three common themes I’ve come away with from talking with organizations at various stages of their agile journey.

    Creating an Agile Enterprise Relies on Successfully Orchestrating Change in Culture, Organizational Structure and Technical Capabilities at the Same Time

    Changing enterprise organizational structure without changing culture and technology will lead to factors that drag down any potential transformation. It’s equally true when addressing any one of the elements in a vacuum. Instead, enterprises must address all three at once, which makes for a tricky prioritization exercise. 

    In many cases, new solutions will lead to new problems that organizations must address as they arise. Agile teams enabled to self-organize and pursue customer problems with greater freedom may find themselves hamstrung by inflexible legacy technology. Changing technology to enable agility may uncover additional organizational difficulties, and so on. Agile transformation is a long journey, and enterprises must adjust on the fly to their own unique circumstances.

    When Making Changes to Drive Agility, Think About What Scarf Everyone Wears

    Missy Lawrence-Johnston, a principal consultant from ISG’s Organizational Change Management practice, suggests that leaders should remember a warm and fuzzy acronym when working toward change: status, certainty, autonomy, relatedness and fairness (SCARF). The SCARF model was developed by neuroscientist David Rock, and explains how individuals react to change based on perceived threats and rewards. 

    If a change negatively impacts someone on one of the dimensions they consider important, they’re more likely to push back on it. For example, a manager who cares a great deal about their status will probably have difficulty embracing an organizational shift that works to cut down on organizational hierarchy. But that same change could be highly valued by a rank-and-file employee who prefers greater autonomy. How people react is individual, which is why the SCARF everyone wears is unique to them, as Lawrence-Johnston points out.

    As enterprises make the changes necessary to embrace agility, keeping this concept in mind will make it easier to navigate the threat responses employees inevitably have.

    Measure Culture by the Behaviors People Exhibit at Work Every Day

    ISG research shows that culture and team enablement are the most important factors when transforming into an agile enterprise. While culture can seem like something nebulous and difficult to pin down, it’s best evaluated by noticing what people do every day. Odds are, any employee of a firm has at least one story that illustrates what they see as the culture of the organization where they work. An enterprise’s culture is the sum of these stories.

    Agile transformation requires some fairly radical changes for businesses that are used to working in a waterfall mindset. This often looks like a shift from a hierarchical, rule-driven culture that focuses on command and control to a collaborative, self-organizing culture with servant leadership. Implementing this degree of change takes significant work. 

    When changing culture, it’s not enough to put up a fresh set of posters with new values. Living those values and building organizational structures to support them is the key to success.

    — Blair Hanley Frank

  • The Acceleration of Data and Data Storage Trends

    The Acceleration of Data and Data Storage Trends

    There’s never been a more exciting time for data. Increasing demands for size, speed, performance and reliance have propelled the data market forward at a faster rate than could have ever been anticipated, and new technologies are making some dreams for data a reality.

    From open source adoption in place of legacy databases to cloud-native app stacks and more, here are seven trends driving the acceleration of data and data storage. 

    Oracle’s Slow Fade Drives Cloud-Native Adoption

    Organizations of all sizes continue to eschew Oracle for cloud-native databases, shrinking the user base of the monolithic legacy provider. Two major trends driving this activity are the ongoing move to microservices-based redesign of applications and the rise of cloud-native deployments running in public clouds or Kubernetes. Overall, Oracle has lost market share every year since 2013, and legacy relational database players have dropped about five percentage points per year. Major organizations, such as Amazon and Salesforce, have already figured out that it’s to their benefit to use less, not more, Oracle.

    Open Source DB Usage Increases

    Open source databases that claimed 0% of the market 10 years ago, now make up more than 7%. It’s clear that the market is shifting and an increase in open source database adoption is on the rise. This goes against the recent trend of database and data infrastructure companies abandoning open source licenses for some, or all, of their core projects. However, as technology rapidly advances it will be in the best interest of database providers to switch to a 100% open source model, since freemium models take a significantly longer period of time for the software to mature to the same level as a true open source offering.

    Furthermore, Gartner predicts that, by 2022, more than 70% of new in-house applications will be developed on an OSDBMS or OSDBMS-based dbPaaS. It’s clear that open source has proven to be the most successful approach to developing and distributing business-critical infrastructure software, driven by the benefits of reduced total cost of ownership, access to community support and innovation and compatibility with commercial databases, making it easy to migrate towards an open source solution. 

    Kubernetes For Stateful DBs

    There has been continued growth in the adoption of both microservices and containerization. With the combination of massive adoption and the support of a large and thriving open-source community, it is clear that the dynamic nature of containerization and microservices deployments will have huge implications on fundamental application architecture. To put it simply, this is the future of how applications will be built. This is also why the adoption of Kubernetes has continued to grow.

    Multi-Cloud Goes Mainstream

    Multi-cloud deployments are becoming the norm in today’s enterprise. A multi-cloud approach is critically important for organizations that run on-premise, since they need to stay in a hybrid mode when moving microservices to the cloud. As a result, enterprises are widely embracing distributed SQL databases to ensure agility without the availability constraints of traditional monolithic databases, such as Oracle. 

    Rise of Edge Data Centers

    While the rise of edge data centers is assuredly a trend, Gartner predicts that three quarters of all databases will either be deployed or migrated to a cloud platform by 2022. There will also be an increase in multi-cloud adoption as a result of the geo-distribution of data. Edge data centers are already starting to offer data services with geo-distribution, a clear sign that demand is creating supply.

    Cloud-Native App Stacks Gaining in Popularity

    Modern microservices-oriented architectures are becoming increasingly popular. Over time, this leads to environments with lots of microservices that should be able to notify one another of changes and store these changes in a system of record. The application stack that is getting very popular for such use-cases is a combination of:

    • Spring framework to build the applications.
    • Kafka as the message bus to send notification between the microservices.
    • A Distributed SQL database to store the data in a scalable manner and query it efficiently.

    Other application stacks that are rising in popularity are the JAMstack ( Javascript, APIs and Markup) where there is no dependency on any particular web server. Javascript frameworks such as ReactJS and VueJS have become very popular for building the frontend portion of the app. GraphQL frameworks such as Apollo and Hasura are getting increasingly adopted as efficient ways to build the API portion of the app.

    Advances in innovation for data and data storage will undoubtedly continue, driven by major trends across all areas of business, as long as organizations are prepared to embrace change and hit the accelerator on their data strategies.

    — Karthik Ranganathan

  • SauceCon 2020 Speaker Profile: Hélène Doumenc and Jonathan Chacón

    SauceCon 2020 Speaker Profile: Hélène Doumenc and Jonathan Chacón

    This is the first in a series of articles highlighting speakers at SauceCon 2020. SauceCon brings together the global community of Sauce Labs users and continuous testing experts to learn from each other and level up their automated testing and continuous delivery skills. This year’s event will be held April 27-29 in Austin, Texas, and DevOps.com will be there, broadcasting live.

    Jonathan Chacón
    Hélène Doumenc

    Hélène Doumenc and Jonathan Chacón are colleagues on a mission: to help people understand that accessible design is necessary for everyone—not only people with disabilities.

    Hélène and Jonathan work together on the QA team at Cabify, a Spanish ride-sharing company that provides vehicles for hire via its smartphone app. Hélène manages the QA team and Jonathan is an accessibility software engineer who works with other teams within the company to make all of Cabify’s digital and physical user interfaces accessible to all users. As a blind researcher and developer, Jonathan is uniquely qualified to lead this effort. 

    “When I first met Jonathan, I really wanted to work with him to add accessibility testing to our plans, since we were not testing for accessibility at all before,” said Hélène. “This is a clear example of how diversity in our teams can make better products—and better people too! If we didn’t have a blind person working with us, we might never have thought of making our app accessible to people with disabilities.” 

    Jonathan agreed. “Accessibility is necessary in QA processes to guarantee a quality product for everyone, regardless of disability. I want people to understand that accessibility should be a quality feature, and that technology is the way to make society more inclusive,” said Jonathan. 

    Hélène and Jonathan will be co-presenting at SauceCon 2020 on their experience in accessibility testing for mobile applications. They will talk about how creating accessible and inclusive mobile apps is not just a utopian ideal—but something that organizations can turn into a reality. 

    “Recently, I read a comment saying that it is impossible for a blind person to use Twitter,” said Hélène. “People have no idea how wrong this is and how inclusive apps can level the playing field for anyone with a disability. Technology can really help us to create a more inclusive society. We chose to talk about this at SauceCon to make the community aware and conscious about issues that might not cross your mind, but are truly important to create that type of inclusion.”

    You can hear from Hélène, Jonathan and more than 30 other expert speakers at SauceCon 2020, the fourth annual Sauce Labs user conference. To see a full list of presentations or to register, click here.

    — Rebecca Cramer

  • Why Is QA so Important in Executing a DevOps Implementation Strategy?

    Why Is QA so Important in Executing a DevOps Implementation Strategy?

    In a rapidly growing global digital landscape, enterprises are facing many challenges. These include changing customer behavior and the need to be in line with the latest technology trends. To address these challenges and to stay up the competition curve, enterprises are adopting a slew of strategies. These comprise expanding the capacity of processes, quick quality checking and delivery of applications and timely marketing of the applications. This is where DevOps comes as a one-stop solution to the aforementioned requirements. 

    When it comes to assuring the quality of software applications, the Agile and DevOps model of testing is favored over the traditional waterfall model. This is because software applications need to be tested across a swathe of platforms—devices, browsers and operating systems. In the DevOps scheme of things, software builds are continuously integrated and deployed in the development pipeline by using test automation. It involves the development and implementation of new features along with the streamlining of processes. 

    What Is DevOps?

    DevOps is an amalgamation of terms “development” and “operations” and is underpinned on four basic pillars—culture, tools, collaboration and practices. Combining processes and philosophies, the DevOps approach helps enterprises deliver quality builds in the SDLC. Here, development and operations teams no longer work in silos but in close coordination with each other. As a result, quality becomes a shared responsibility and a culture of accountability gains ground. DevOps implementation leads to the quick development and deployment of quality builds, faster solving of critical issues and engendering greater trust and confidence.

    Let us understand the best DevOps implementation strategies to derive outcomes such as continuous integration (CI) and continuous delivery (CD). To begin with, getting the QA basics right the first time and every time should be considered as part of the strategy. This is due to the fact that in a pure DevOps ecosystem, the lines between development and QA are blurred.

    Test Automation

    Since the software needs to have an omnichannel interface with third-party applications to perform optimally, the test process should be automated. There should be a smooth QA-DevOps alignment to detect and mitigate glitches early on in the SDLC. Thus, DevOps testing may involve choosing automated tools that are either open-source or commercial. 

    Teams Merge

    To derive DevOps transformation, the integration of the QA team with other technical specialists becomes important. The final DevOps team should adapt a culture wherein identifying glitches becomes a shared responsibility. 

    Metrics

    Since DevOps testing is all about quick identification and fixing of glitches, the metrics should be defined at the beginning. It will help the DevOps team to stay focused on the challenges and requirements. This calls for the QA engineers to setup test requirements into the workflow and guide the team therein.

    Virtualization

    The software application should be tested across a slew of platforms—devices, browsers or operating systems. Since it is well-nigh impossible to test the codes for numerous users (during usability testing), the same ought to be created virtually. The QA team can virtualize every test requirement to emulate the behavior of software components. Moreover, it helps to do away with the need for dependencies and addresses constraints faced in interdependent environments.

    Choose the Right Tools

    To enable DevOps automation, the QA team should choose the right test automation tool. The main criteria for choosing the tool should be the team’s expertise in using it. The tool should offer the ease of writing the test script in a single programming language. It should allow the testing of applications across operating platforms and browsers.

    Continuous Integration and Continuous Deployment

    These are the outcomes of any DevOps methodology. DevOps continuous integration and deployment encompass adding code changes in a repository and creating automated builds. This leads to an early recovery from failures as well as testing and delivery of products within fast turnarounds. Continuous integration based on test automation leverages regression testing and a version control system when a new code is added. Further, DevOps continuous deployment is about the capability to add new features to the existing applications. This makes enterprises follow a user-driven improvement of software and agile approach.

    Conclusion

    With the quality of software applications becoming the final arbiter in making an enterprise successful, taking the DevOps approach is crucial. However, since the whole process is hinged on executing comprehensive quality testing, the QA basics should be done right.

    — Akshaya Choudhary

  • DevSecOps: 10 Best Practices to Embed Security into DevOps

    DevSecOps: 10 Best Practices to Embed Security into DevOps

    For companies that employ the agile approach, DevOps seems like a natural extension. Traditionally, enterprises started with integration, development and test automation early in the product lifecycle. Gradually, the agile delivery team took care of iterative development and monitoring practices that increase code quality.

    Today, organizations work in unison to bridge the gap between development and operations (DevOps). They want to offer a faster market delivery with the least human interaction. 

    But what about security integrations? Is there a way to mitigate vulnerabilities early in the development lifecycle?

    The answer is DevSecOps.

    Exploring the Concept of DevSecOps

    DevSecOps is short for development, security and operations. It brings together people, processes and technology to pursue a shared objective. 

    The objective of DevSecOps is to implement security decisions on the same scale as development and operations and make everyone in the product lifecycle accountable for security. 

    Why Should You Adopt DevSecOps?

    People adopt DevSecOps because they are seeking:

    •  Modern alternative to traditional security engagement.
    • Transparent collaboration and workflows during development.
    • Security that’s built into the product, not applied at the final stage. 
    • Reduced expenses and faster delivery rate. 
    • Faster recovery speed in case a threat is detected.

    Steps to a Typical DevSecOps Workflow

    1. A developer starts by writing code within a version control system.
    2. Any required change is committed to the version control system.
    3. Another developer analyzes the code to identify any security defect that may weaken code quality. 
    4. An environment is created to deploy and apply security configurations to the system.
    5. Next, a test automation suite is executed to evaluate the newly deployed application.
    6. After it passes the automation test, the application is deployed to a production environment.
    7. This new production environment is actively monitored for security threats. 

    While there is no right way to transform organizational culture, below are a few components necessary to sustain a DevSecOps environment: 

    Let Developers Get Security Right: Developers are responsible for security. Therefore, you must keep them on top of cybersecurity best practices through continuous training and learning activities. 

    Promote an Open Culture: Openness in communication within the enterprise environment can drastically improve development and security. One way to keep information transparent is by using metrics and dashboards wherever possible. 

    Get Experts on Board: It is extremely difficult to transition from DevOps to DevSecOps without the supervision of expert security professionals. Hire people who understand security within the development and operations environment and let them train your DevSecOps team for the big transition. 

    Tempted to embed security into DevOps? How do you ensure that the best practices are followed? We have answers.

    The Best Way to Implement the DevSecOps Process

    Gather a single group of professionals (admins, developers, security engineers and testers) that are aware of your product from start to end. They should know your requirements and should be experts in deploying, monitoring and implementing new changes. 

    Once you have your team ready, here’s what you need to do next.

    Plan

    Planning is crucial. Do not just stick to feature descriptions. Instead, go for detailed user stories that include:

    • Functional and nonfunctional requirements (e.g., security and performance).
    • UI and UX designs.
    • Acceptance test criteria.
    • Threat models.

    Develop

    Start by evaluating your existing practices. Choose the best resources to build a development model in coherence with security guidelines. 

    Build

    Automated build tools can do a lot more than compile codes. Use them to conduct test-driven development, enforce quality standards and ensure that the best security practices are implemented through static code analysis. 

    Test

    When it comes to a DevSecOps environment, test automation is not limited to UI-focused Selenium tests. Optimally, your security practice should include the following:

    • Unit testing.
    • Front-end testing.
    • Back-end testing.
    • API testing.
    • Database testing.
    • Passive security testing.

    Secure

    Because development, operations and security go hand in hand, only a few issues are left unattended toward the end of the development process. 

    When vulnerabilities are identified, there is a better chance of determining if they are potential exploitations or false positives. 

    Deploy

    Automated provisioning and deployments can be utilized to accelerate product delivery and add consistency in the development process. Using an infrastructure-as-code tool, one can audit properties across the IT infrastructure and enforce secure configurations in a system. 

    Operate

    Routine maintenance and upgrades should be an indispensable component of your operations team. Leverage infrastructure-as-code tools to patch zero-day vulnerabilities and apply updates to the entire organization’s infrastructure. 

    Monitor

    A continuous monitoring plan should be in action to generate real-time stats of how your system is performing. In case any exploitation is recorded, it can be addressed immediately. 

    Scale

    Traditional data-center operations cannot entirely replace a compromised environment. Today’s ability to scale infrastructure through virtualization and the cloud, while addressing the demands of modern-day IT user base, should go a long way. 

    Adapt

    When it is about sustaining an agile practice, continuous improvement is key. This is also true for DevSecOps practices, as you improve and adapt throughout the software development lifecycle.

    Conclusion

    DevOps isn’t going anywhere, anytime soon. It is the new phase of developing, releasing and updating products in a software lifecycle. 

    That’s why high time security professionals let go of the traditional security stack and embrace security solutions at the speed of DevOps.

    — Deepak Gupta

  • Five IT Ops-tackles that Stifle Business Growth

    Five IT Ops-tackles that Stifle Business Growth

    I was recently asked about the top five IT obstacles that stifle business growth, and I want to help clear a path too often lined with fear, uncertainty and doubt. In the not-so-distant past, IT was all about the tools. Solutions were more straightforward, teams were less globally connected, and the ever-present data deluge was not changing our business landscape by the millisecond.

    With this in mind, I have created a list of the five most common IT obstacles and will pinpoint the single tool you can implement to help alleviate these pain points.

    IT Staff Lack Time to Learn New Technologies

    This is not to slam our tech teams or leaders; this is just the byproduct of condensed customer schedules, tight purse strings and managing the MOOSE (maintenance and operations of the organization, systems and equipment). The demand on IT teams is high, and we don’t always have the opportunity or the resources to restructure operations for a new tool, as upgrading requires learning new APIs, UI/UX and deployment architectures.

    Difficulty Supporting New Technologies Quickly

    It is hard to keep pace with IT complexity and manage it properly. New services, applications and infrastructures are constantly being added and there are plenty of vendors out there that will get you locked into solving a single issue versus addressing your macro problems. While the benefits of upgrading are there, the difficulty lies in understanding the complexity of these systems and how to leverage them most effectively.

    Lack of Support for Hybrid IT

    Hybrid by definition adds complexity, and multi-cloud, on-prem and private/public clouds are only a few ways to make your hybrid dream a nightmare. No matter the combination, understanding different architectures and their components is a must. Additionally, we need to understand how we manage our own data as well as how our vendors are managing it.

    IT Complexity

    We need to know our machines and architectures well enough to focus limited resources on what impacts the business most. IT will always be complex—there’s always something new, and the amount of information to process is insurmountable and exhausting. Adding context to IT data can help you identify the root cause of overly complex systems. The most difficult task will be to understand the technology well enough to know what to do next. 

    Inability to Understand Business Impact in Order to Prioritize Tasks

    Prioritization is by far the most important aspect of IT. There is a lot of noise, lack of visibility, lack of context, and—the squeakiest wheels of them all—legacy tools. Prioritizing means routing the right people to the right problem to get it solved quickly and elevating IT service visibility, health and risk into the business function.

    Let’s Get Digital

    IT pros can start to tackle these challenges through prioritization and then automation, or AIOps—the principal of AIOps being to add context to data, using machine processes to enrich the data and bring it to a business level. Understand what is important to the organization and think about the outcomes important to IT. To do this, you can create a realization plan to tackle the low-hanging fruit and create achievable milestones and outcomes. For example, look for opportunities and create a crawl-walk-run phased approach driven by business priorities. Each organization has different needs and different timelines—and this process can be applied to customers, too.

    Next, take into account how your team does work and focus on automation as a principle within how you do work. One of the biggest impediments to digital transformation is culture. Remove manual processes, capture tribal knowledge and figure out how to repeat this approach in a consistent way. Additionally, absorb feedback and learn from it. This will drive acceleration when done right, and we all know that better digital experiences boost enterprise value.

    Finally, automation is useless if your data is flawed, and accuracy is a key fault for legacy configuration management database systems. Data must be accurate for effective machine-enabled automation. Leverage the tech you have to build an interconnected ecosystem that is fully integrated and automated—and that avoids tool sprawl. Have an open mind to consider new approaches and be brave enough to shed the legacy mindset. Additionally, take into consideration your partners and vendors, and how that team collaborates, to determine your strategy.

    The Light at the End of the Tunnel

    The path for today’s CIO can be unclear. But you can take bite- (or “byte-”) sized steps to put machines to work and leverage processes that deliver on AIOps. By understanding business outcomes, prioritizing automation as a principle and leveraging trustworthy internal and external relationships, you will have more time in the day for more important tasks. I measure outcomes based on customer experiences, and I ensure great customer experiences by running a great system. While your mileage may vary, moving forward is the most important part.

    — Erik Rudin

  • The Role of Developers in Digital Transformation

    The Role of Developers in Digital Transformation

    Developers are an integral part of digital transformation. They architect the modular systems that overcome legacy and build the applications and solutions that allow firms to deliver products and services in new and innovative ways. Yet, when it comes to business decisions, many organizations overlook their developer talent.

    Developers come from a variety of different backgrounds, but it’s safe to say that most have studied computer science, engineering or mathematics in some form. Coming from these disciplines means they are inherent problem solvers, so giving them a seat at the table when it comes to discussing business goals is, of course, beneficial.

    To ensure the business insights of developers can be unlocked, organizations should consider the following four points. 

    Encourage Personal Development

    More and more developers are actively taking an interest in improving their communication and leadership skills, recognizing that these are important tools for career development. 

    Soft skills, for example, are key to establishing relationships internally, as well as communicating to external parties. At any moment, stakeholders may want to understand the workings of product teams, or it may be the case that a customer requires more attention when implementing a solution. In the former scenario, developers must become advocates for the business and the way they work; in the latter case they must ensure that they take an empathetic approach to end users. 

    Whether it’s learning new programming languages, getting to grips with new technologies, or developing soft skills, developers relish the chance to grow. Organizations that offer learning and development programs internally will likely attract developers who are both apt and keen to involve themselves in other areas of the business. 

    Keep Things Agile

    Operating within an Agile framework gives developers and other members of product teams a chance to develop soft skills through scrum meetings. During a scrum meeting, each member of the team is given the opportunity to communicate openly about their challenges and devise solutions for other issues. This not only ensures a high level of transparency internally, it also allows business analysts to provide an accurate picture of progress to clients.

    Sharing insights and troubleshooting in an open forum enables those with a natural inclination for leadership to establish themselves as effective communicators. The limited size of Agile teams also keeps things personal enough that each team member’s feedback can be heard and considered by their colleagues. 

    Agile software development brings disciplines together, encouraging an exchange of ideas and an expansion of knowledge. This is in stark contrast to the Waterfall method, where siloed teams hand off work with little communication.

    With Agile, teams share responsibility, communicate and apply their disciplines in contexts outside those they are used to. In essence, Agile is the ideal way to establish a culture that enables learning and development on the job. This is much more practical than setting up a program that teaches soft skills and educates teams about other areas of the business, as these sessions can eat into work time and reduce productivity.

    Be Clear on Requirements

    It’s all well and good attracting the best and brightest developer talent, but in order to get the best from them, firms must be transparent about what is expected day to day.

    Firstly, efficient code delivered in a timely manner should be the goal of every developer. Testing and QA will, of course, reveal issues, and no one is perfect, but developers must be mindful of the impact inefficient or inaccurate code can have on a business. Workarounds may get you past a problem, but this is not best practice and leaves the business exposed should a client pick up on it–especially if the workaround causes more serious issues further down the line.  

    Fewer bugs or defects means scrum meetings can naturally focus more on strategy and new initiatives that might help grow the business. Organizations should therefore establish best practices and coding guidelines to reduce the temptation for workarounds, ensuring code releases are reliable and ready for the production environment. 

    Developers must also be able to comprehend the requirement to work with designs given to them by design teams, as these will align with customer expectations. Being able to dynamically incorporate client feedback into the development process is also key, particularly for those working with continuous delivery and continuous integration pipelines. 

    An interest in emerging technologies is desirable, as is an eagerness to innovate new solutions using them, but so too is an aptitude to leverage rather than re-invent solutions. This helps to keep costs down and ensures a maximum return on investment in existing solutions. 

    Keep an Eye on the Future

    Increasingly, the ease with which organizations can react to advances in technology will determine their long-term success. It is therefore in their interest to ensure developers have the freedom to learn new skills and explore new tools that might increase efficiency or unlock new offerings. 

    Advances in IoT, connected devices, augmented and virtual reality, AI and machine learning, blockchain and 5G networks are just some of the technologies opening up new challenges for firms and developers alike.

    Developers with the skills to harness these technologies will increase their employability, allowing them to secure better positions and salaries. They will also be well placed to advise on wider business goals, positing new use cases and solutions and fueling innovation.

    — Arun Ramachandran