{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/wQkrKbJZUqK24WDRABya/9JJSd55kUCD7308oVHah/VttwVM63r-19.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{Link as n}from\"framer\";import*as o from\"react\";export const richText=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Understanding the Product-Oriented Mindset\"}),/*#__PURE__*/t(\"p\",{children:[\"What do we, as humans tend, to run from the most? Well, it can vary. But if we were to point out something specific, \u201Cchaos\u201D would be a viable answer. \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/biggest-reason-release-risk-going-up\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"No one likes a mess\"})}),\". It\u2019s a human tendency to crave order in life.\"]}),/*#__PURE__*/e(\"p\",{children:\"Imagine that you\u2019re at a beach. To fight the chaos of the random sand grains, we try to build sandcastles to maintain order. But what we fail to realize is that the tide can wash it all away in a single sweep. Even though chaos reduces the castle back to randomness, we keep on building castles in the hopes of restoring confidence.\"}),/*#__PURE__*/e(\"p\",{children:\"Now, let\u2019s relate this to product development.\"}),/*#__PURE__*/e(\"h3\",{children:\"Applying the Product-Oriented Mindset to Current Business Scenarios\"}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s say someone presented a brilliant product idea. The team leaders and project managers make a plan and instruct the team to adhere to it. Then they keep monitoring every step before reaching the end goal. If everything goes well, they can celebrate and move on. But what if the competitive forces and unexpected customer requests change everything? Won\u2019t it knock down the sandcastles before we even finish building them?\"}),/*#__PURE__*/e(\"p\",{children:\"Now imagine if there was a better way to develop a product: one that could favor quick and consistent delivery with timely feedback. What if the burden of deadlines didn\u2019t limit the potential of the development team? Instead of sticking to advanced planning, teams directed their energy toward managing the product. They could work in collaboration and eliminate silos.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"When the burden of deadlines isn\u2019t overwhelming, team members can bring forth the most creative ideas, resulting in an innovative product.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Perhaps you\u2019re thinking such an approach might be disorganized. Well, not necessarily. But they need a product-oriented mindset to do this.\"}),/*#__PURE__*/e(\"p\",{children:\"Before moving on to a product-oriented approach, let\u2019s understand a product-oriented mindset first. A product-oriented mindset focuses on realizing a product with minimal effort. You don\u2019t have to spend much time and money while following this mindset. It\u2019s a set of behaviors that makes the realization of products plausible.\"}),/*#__PURE__*/e(\"h2\",{children:\"What Is a Product-Oriented Approach?\"}),/*#__PURE__*/e(\"p\",{children:\"A product-oriented approach focuses on enhancing development abilities. At the same time, this approach maintains the highest possible quality. The approach is design-focused, and it means spending maximum efforts on maintaining product quality.\"}),/*#__PURE__*/e(\"p\",{children:\"If you follow this approach, your customers will understand the difference between your company\u2019s products and those of others. When they find something striking about the product, they\u2019re more likely to make a purchase. And that\u2019s exactly what you\u2019ll be focusing on if you\u2019re taking a product-oriented approach.\"}),/*#__PURE__*/e(\"h2\",{children:\"Why You Should Be Building Product-Oriented Teams\"}),/*#__PURE__*/e(\"p\",{children:\"In current business scenarios, a product-oriented approach can offer several benefits. On that note, let\u2019s take a look at why you should be building product-oriented teams.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. You\u2019ll Have a High-Quality Product\"}),/*#__PURE__*/e(\"p\",{children:\"The first factor to consider in any business is the product\u2019s quality. Usually, firms are so engrossed in marketing and boosting sales that they overlook the most important aspect of success. The product quality is what makes or breaks a business in the long haul.\"}),/*#__PURE__*/e(\"p\",{children:\"When the focus of the entire team is on the product, its quality increases. On the other hand, if the teams are more worried about deadlines, all the focus goes into bringing things back on track in case of any issue. This can reduce the quality and distract the teams from the main target.\"}),/*#__PURE__*/e(\"p\",{children:\"If your teams are product-oriented, all efforts and funding go into creating an impeccable product. If they focus on the product as a single pivot point, teams can work towards an end goal of enhancing the product quality as much as possible. When the quality is better, it will result in more purchases. And we know what that means. More sales equal more revenue and better business!\"}),/*#__PURE__*/e(\"h3\",{children:\"2. You\u2019ll Have Better Flexibility\"}),/*#__PURE__*/t(\"p\",{children:[\"Having a product-oriented team makes tasks flexible. To understand this, let\u2019s look at a contrast. In a \",/*#__PURE__*/e(\"em\",{children:\"project\"}),\"-oriented mindset, teams assume in the beginning that they know how to achieve the result. They make a plan, and if everything goes according to it, that\u2019s all well and good. But what if the team discovers that something is wrong with the initial assumption? Moreover, what if the team realizes this at a later stage? In large firms, it\u2019s difficult to pivot and make too many changes at the last moment.\"]}),/*#__PURE__*/e(\"p\",{children:\"Teams adapt and learn as the product development progresses. Milestones and deadlines don\u2019t take precedence over the product when the teams are product-oriented. Instead of fretting over ruining a plan, teams can continue to work towards the outcome even if everything doesn\u2019t go according to the plan.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. You\u2019ll Develop Economies of Scale and Efficient Outsourcing\"}),/*#__PURE__*/t(\"p\",{children:[\"Product-oriented teams help to develop \",/*#__PURE__*/e(n,{href:\"https://businessjargons.com/economies-of-scale.html\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"economies of scale,\"})}),\" meaning you\u2019ve cut down production costs by developing a product in bulk. By following a product-oriented approach, you can focus on the product only, and you\u2019re able to mass-produce the product. And the best part? The efficiency of tasks increases without compromising on the quality of the product!\"]}),/*#__PURE__*/e(\"p\",{children:\"When a firm decides to create the best product, it leads to efficient outsourcing. For instance, suppose you own an e-commerce company. You can send shopping cart designs to a vendor to mass-produce multiple online shopping cart components. Once delivered, you can also use those in your app.\"}),/*#__PURE__*/e(\"p\",{children:\"Most companies thrive on mass production at a lower rate. A firm with product-oriented teams can collaborate with these companies and increase profits.\"}),/*#__PURE__*/e(\"img\",{alt:\"Economies of Scale\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,uiGBkSmA0bQwfeoWyGm2xt6kM.png?originalFilename=product-oriented-teams-diagram.png\",src:\"https://framerusercontent.com/images/uiGBkSmA0bQwfeoWyGm2xt6kM.png\",srcSet:\"https://framerusercontent.com/images/uiGBkSmA0bQwfeoWyGm2xt6kM.png?scale-down-to=512 512w,https://framerusercontent.com/images/uiGBkSmA0bQwfeoWyGm2xt6kM.png 637w\"}),/*#__PURE__*/e(\"h2\",{children:\"How Can I Build Product-Oriented Teams?\"}),/*#__PURE__*/e(\"p\",{children:\"Now, we\u2019ve realized the benefits of a product-oriented approach. So, how should firms go about with the implementation of this method? Let\u2019s take a look at how to build product-oriented teams.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Eliminate Silos From Product and Design\"}),/*#__PURE__*/t(\"p\",{children:[\"In most companies, employees in different positions have specific roles. But to make a product-oriented team, a function-separated dynamic\u2014a \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/tear-silos-agile-release-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"siloed\"})}),\" organization\u2014isn\u2019t the best way to go. Everyone works together and is responsible for the product. In short, all teams and team members share ownership of the product.\"]}),/*#__PURE__*/t(\"p\",{children:[\"As a result, the relationship between employees will improve. This will bring about \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/4-reasons-communication-single-important-software-testing-goal\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"better teamwork\"})}),\", and it will help development processes move at a faster pace.\"]}),/*#__PURE__*/e(\"h3\",{children:\"2. Have Direct Interactions With Customers\"}),/*#__PURE__*/e(\"p\",{children:\"Usually, firms have a separate team or a coordinator to interact with the customer. But when the developers talk directly to customers, it has a positive impact on product direction.\"}),/*#__PURE__*/e(\"p\",{children:\"For instance, suppose you\u2019re working on a page and have some doubts regarding a nav-bar. Instead of waiting for the coordinator, what if you talked to the client yourself? You\u2019ll fix the issue in the same day.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Understand the Importance of Iterations\"}),/*#__PURE__*/e(\"p\",{children:\"Suppose the designer creates a product outline. The developers are on for development. But what if the work done isn\u2019t in line with what the customers want? This is where iterations come into the picture.\"}),/*#__PURE__*/e(\"p\",{children:\"With every iteration, product-oriented teams modify the scope of a product. During this time, any team member can come up with creative alternatives. Iterations help the team learn new scenarios and figure out next steps.\"}),/*#__PURE__*/t(\"p\",{children:[\"If you want to know more about how dividing the work in iterations by following the agile and DevOps approach eases your work, check out \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/agile-devops-effect-6-keys-software-delivery-evolution\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Plutora\u2019s post on it\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"4. Celebrate Wins After Measuring Outcomes\"}),/*#__PURE__*/e(\"p\",{children:\"Project management is about developing everything according to a plan. Often, teams start celebrating as soon as they deliver the product. On the other hand, a product-oriented team waits until they get the measured outcome and receives feedback from users. If these things show increased profits and met expectations, only then is it time to celebrate.\"}),/*#__PURE__*/t(\"p\",{children:[\"All in all, don\u2019t focus on just releasing the product. \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/release-management-best-practices\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Manage the product release\"})}),\" efficiently. Making a quality product should be the main target of a product-oriented team.\"]}),/*#__PURE__*/e(\"h3\",{children:\"5. Don\u2019t Be Afraid of Experimentation\"}),/*#__PURE__*/e(\"p\",{children:\"To keep the quality bar high, you should encourage experimenting with new ideas to build a product-oriented team. Your team members might make mistakes. Remember, each mistake will teach a person a lesson. This might sound disruptive or inefficient at first. But when you provide the freedom to express and experiment, you widen the scope of development. This increases the chances of developing a quality product.\"}),/*#__PURE__*/t(\"p\",{children:[\"For instance, suppose you\u2019re building a website using Bootstrap 4. What if your team wants to try out another CSS framework? If a sufficient timeline is available, let them experiment. Who knows? Once you \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/deployment-planning-success\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"deploy the product\"})}),\", the result might be great for the customer.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Make Revolutionary Ideas Come True With Product-Oriented Teams!\"}),/*#__PURE__*/e(\"p\",{children:\"The constant evolution of the market calls for an efficient approach towards building products. This makes a product-oriented approach more efficient.\"}),/*#__PURE__*/e(\"p\",{children:\"In the end, it all comes down to the idea you had in mind. Remember that your original idea gives rise to the product, not the project. It\u2019s high time product owners stop favoring the project and the processes over the original product.\"}),/*#__PURE__*/e(\"p\",{children:\"In fact, the efforts spent on a product itself is the strength of a business. Focusing on quality results in long term positive results. Thus, by working with a product-oriented team, a firm can increase its overall profits.\"})]});export const richText1=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h6\",{children:\"Historically, software development moved slowly. Companies might ship out a new suite of tools once a year\u2014and that\u2019s only if they were lucky. As an example, Microsoft Office 95 came out in August 1995, Microsoft Office 97 came out in November 1996, and Microsoft Office 2000 came out in June 1999.\"}),/*#__PURE__*/t(\"p\",{children:[\"Fast-forward to today, and software developers face a whole new challenge. Today\u2019s leading organizations are \",/*#__PURE__*/e(n,{href:\"https://techbeacon.com/devops/10-companies-killing-it-devops\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"increasingly embracing the DevOps approach\"})}),\" to software development. As a result, engineers now need to ship software updates frequently. This is why your iPhone is constantly retrieving software updates and your favorite platform gets a facelift every few months.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"With DevOps, companies can ship software faster, patch bugs quicker, improve the quality of their software, bring new products to market faster, and build more efficiency into their development processes.\"}),/*#__PURE__*/e(\"p\",{children:\"Meeting the DevOps demand for velocity, however, requires a robust set of tools.\"}),/*#__PURE__*/e(\"p\",{children:\"Before we explore what such a toolchain looks like, let\u2019s take a step back and briefly make the case for DevOps.\"})]});export const richText2=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Why DevOps?\"}),/*#__PURE__*/t(\"p\",{children:[\"The concept of DevOps traces its roots back to the \",/*#__PURE__*/e(n,{href:\"https://agilemanifesto.org/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"agile movement\"})}),\", which has been around for nearly 20 years. Since then, leading software companies have grown to understand that combining development and operations leads to better products and happier users.\"]}),/*#__PURE__*/t(\"p\",{children:[\"The benefits of DevOps speak for themselves. According to \",/*#__PURE__*/e(n,{href:\"https://www.upguard.com/blog/devops-success-stats\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"recent research\"})}),\":\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"63% of DevOps teams produce higher-quality software.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"63% also ship software more frequently.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"55% of DevOps teams say they\u2019re better at collaborating.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"At the same time, DevOps teams spend 60% less time dealing with customer support issues. This makes perfect sense, since user feedback is incorporated directly into the development lifecycle.\"}),/*#__PURE__*/e(\"p\",{children:\"Add it all up, and you end up with better software produced in less time. What\u2019s not to like?\"}),/*#__PURE__*/e(\"p\",{children:\"Now that you understand the benefits of DevOps, let\u2019s explore the tools engineers use to pump out software rapidly.\"}),/*#__PURE__*/e(\"h2\",{children:\"What Does a Software Toolchain Look Like?\"}),/*#__PURE__*/e(\"p\",{children:\"Creating next-level software experiences involves many moving parts and requires many different tools.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Every developer has different preferences, and every company uses different tools, so each engineer\u2019s toolchain will likely look a bit different.\"}),/*#__PURE__*/e(\"p\",{children:\"Still, the below should give you a fairly good idea of what a sample software toolchain looks like.\"}),/*#__PURE__*/e(\"p\",{children:\"Without further ado, here are seven tools that can be found in many DevOps engineers\u2019 toolchains.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Jira for Issue Tracking\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.atlassian.com/software/jira\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Jira\"})}),\" is an issue tracking and project management tool built by Atlassian. The platform helps DevOps engineers plan projects and track progress with ease\u2014even in distributed environments that prioritize collaboration.\"]}),/*#__PURE__*/e(\"p\",{children:\"With Jira, DevOps teams can keep tabs on releases with the peace of mind that comes with knowing all information on the platform is up to date.\"}),/*#__PURE__*/e(\"p\",{children:\"Jira also integrates with a number of other DevOps tools. As a result, it\u2019s found in many developer toolchains.\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Mattermost for Collaboration\"}),/*#__PURE__*/t(\"p\",{children:[\"In the age of remote working, it\u2019s more important than ever for development teams to stay on the same page. An easy way to do that is by using a messaging platform like \",/*#__PURE__*/e(n,{href:\"https://mattermost.com/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Mattermost\"})}),\" to coordinate projects and bring people together.\"]}),/*#__PURE__*/e(\"p\",{children:\"With Mattermost, DevOps teams can collaborate in real time with ease\u2014even when they\u2019re distributed around the world. Not only does this help keep software development projects moving forward rapidly, but it also helps with a number of other use cases, like ChatOps, ops theater, social coding, war rooms, and more.\"}),/*#__PURE__*/e(\"p\",{children:\"Increasingly, leading DevOps teams are ditching email and moving to platforms that make work easier, like Mattermost.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Puppet for Infrastructure Automation\"}),/*#__PURE__*/e(\"p\",{children:\"One of the worst things about any job is having to do the same monotonous tasks over and over again. When you\u2019re a DevOps engineer building transformative software solutions, this problem is perhaps even more pronounced.\"}),/*#__PURE__*/t(\"p\",{children:[\"Enter \",/*#__PURE__*/e(n,{href:\"https://puppet.com/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Puppet\"})}),\", which builds powerful tools that automate infrastructure provisioning to ensure compliance and security. With Puppet, engineering teams can automate and orchestrate a number of repetitive tasks\u2014including starting and stopping services and rebooting systems.\"]}),/*#__PURE__*/t(\"p\",{children:[\"A tool like Puppet can transform DevOps productivity. In fact, \",/*#__PURE__*/e(n,{href:\"https://www.esg-global.com/hubfs/pdf/EVV-Report-Ex2.pdf\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"one study\"})}),\" found that using Puppet can result in a 210% increase in time savings while reducing costs by 97%.\"]}),/*#__PURE__*/e(\"h3\",{children:\"4. Jenkins for Server Automation\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://jenkins.io/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Jenkins\"})}),\" is another DevOps tool that makes life easier for engineers around the world. It supports DevOps teams\u2019 continuous integration efforts while helping developers build and test software rapidly. In other words, Jenkins automates the build process.\"]}),/*#__PURE__*/e(\"p\",{children:\"Thanks to Jenkins, engineers will know right away whether the code they\u2019ve written works or not. This is a big deal. Remember, DevOps teams focus on shipping software updates regularly and repeatedly.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"By immediately notifying teams that something is wrong in the code, Jenkins helps prevent shipping unstable or bug-filled releases.\"}),/*#__PURE__*/e(\"h3\",{children:\"5. GitLab for Source Code Management\"}),/*#__PURE__*/e(\"p\",{children:\"Anyone who\u2019s ever collaborated on a Word document in a traditional enterprise setting knows the drill. You end up in a never-ending email chain with a document that has a perpetually changing file name. In these scenarios, version control is impossible. All too often, folks will work off of different documents, and everyone will pull their hair out.\"}),/*#__PURE__*/t(\"p\",{children:[\"The same situation can apply to software teams, too. However, tools like \",/*#__PURE__*/e(n,{href:\"https://about.gitlab.com/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"GitLab\"})}),\" can save the day here.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"Thanks to GitLab, dispersed DevOps teams can easily keep track of their CI/CD pipelines, and version control is a cinch. With everyone working off the most up-to-date branches, DevOps efforts accelerate.\"}),/*#__PURE__*/e(\"h3\",{children:\"6. Prometheus for Monitoring\"}),/*#__PURE__*/e(\"p\",{children:\"When you\u2019re shipping software on a nearly continuous basis, something is bound to go wrong sooner or later. Welcome to the world of computers.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"When that happens, it is critical for DevOps teams to work quickly to resolve the issue. Otherwise, productivity can grind to a halt internally. Externally, customers can become incredibly irate.\"}),/*#__PURE__*/t(\"p\",{children:[\"As such, monitoring tools like \",/*#__PURE__*/e(n,{href:\"https://prometheus.io/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Prometheus\"})}),\" are often found in the software toolchain. With Prometheus, DevOps teams can receive alerts and notifications whenever something isn\u2019t working correctly.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"The tool ships with several visualization options, making it incredibly easy for engineers to make sense of the data it shoots out.\"}),/*#__PURE__*/e(\"h3\",{children:\"7. Plutora for Value Stream and Release Management\"}),/*#__PURE__*/e(\"p\",{children:\"Suffice it to say that there are many moving parts in the developer toolchain. Reaching your full potential as a DevOps engineer starts with having deep insight into all of these tools.\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"This is where a platform like \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Plutora\"})}),\" can be particularly helpful. Plutora helps software development teams scale by providing crystal-clear insights into their DevOps toolchains. With Plutora, it\u2019s easier than ever to build transparency into \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/resources/solutions-briefs/enterprise-devops-with-plutora\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"DevOps pipelines\"})}),\" and measure the progress of your team.\"]}),/*#__PURE__*/e(\"p\",{children:\"Plutora integrates with many popular engineering and operations tools found across the enterprise. In other words, the platform makes the engineer\u2019s life easier by providing a central location that consolidates all of the information they need to do their jobs.\"}),/*#__PURE__*/e(\"p\",{children:\"As you can see, software toolchains are complex. But thanks to platforms like Plutora, that complexity is simplified.\"}),/*#__PURE__*/e(\"h2\",{children:\"Ready to Gain Deeper Insight Into Your DevOps Workflows?\"}),/*#__PURE__*/e(\"p\",{children:\"Whether your DevOps toolchain looks like the one we\u2019ve illustrated above or not, one thing remains true: You need transparency into your tools to reach your full potential.\"}),/*#__PURE__*/t(\"p\",{children:[\"We may be a bit biased. But we believe that Plutora is a must-have in \",/*#__PURE__*/e(\"em\",{children:\"any \"}),\"DevOps engineer\u2019s toolchain. That\u2019s because Plutora provides the granular visibility and transparency needed to deliver transformative software experiences.\"]}),/*#__PURE__*/t(\"p\",{children:[\"To learn more about how Plutora can help your organization take its DevOps initiatives to the next level, \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"check this out\"})}),\".\"]})]});export const richText3=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h6\",{children:'For organizations delivering high-quality software, a well-functioning QA environment is paramount. Test environment managers (TEMs) play a crucial role in ensuring efficient resource allocation and optimal testing conditions within software testing environments. One of the most frequent questions TEMs face is: \"Why do we need so many QA environments?\" This blog post delves into the benefits of utilizing a dedicated set of QA environments, exploring the various testing stages and the value they offer.'}),/*#__PURE__*/e(\"h2\",{children:\"A Breakdown of Testing Environments\"}),/*#__PURE__*/e(\"p\",{children:\"Before diving into the reasons for using multiple environments, let's establish a common ground by exploring the different types of testing environments typically encountered:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Development Environment: Primarily used by developers for unit testing their code before it progresses to the next stage. In essence, this environment often comprises the developers' machines themselves.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"QA/Testing Environment: This environment serves as the testing ground for QA analysts and testers. Here, they perform a multitude of tests, including functional testing, non-functional testing (e.g., load testing, integration testing), and user acceptance testing (UAT).\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Staging Environment: Essentially a replica of the production environment, the staging environment allows teams to verify the application's behavior under conditions that closely mirror production. This is crucial for identifying potential issues before deployment.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Understanding these different environments is a stepping stone to comprehending the advantages of employing multiple ones.\"})]});export const richText4=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"3 Compelling Reasons to Utilize Multiple QA Environments\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Parallel Development Efforts and Streamlined Workflow:\"}),/*#__PURE__*/e(\"p\",{children:\"In projects with frequent releases, development teams often complete a feature and hand it over to the QA team for validation. However, development teams typically have a continuous workflow, moving on to the next feature after completion. Here's where having multiple QA environments becomes advantageous. With two or more QA environments, features can be tested concurrently, preventing delays and bottlenecks in the development lifecycle.\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Dedicated Environments for Long-Term Feature Development and Bug Fixes:\"}),/*#__PURE__*/e(\"p\",{children:\"Projects involving the development of major features over extended periods (often months) necessitate a dedicated QA environment. These comprehensive QA efforts require database customizations unsuitable for production deployment. A dedicated environment safeguards ongoing development while enabling the identification and resolution of bugs encountered in the production system.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Efficient Testing for Systems Reliant on External Services:\"}),/*#__PURE__*/e(\"p\",{children:\"Applications that interact with back-end services under independent development often necessitate multiple environments. These environments need to be configured to connect with the appropriate testing services specific to the development stage. Service-oriented architectures and microservices inherently require a greater number of environments to facilitate thorough integration testing and performance tests.\"}),/*#__PURE__*/e(\"h2\",{children:\"Determining the Ideal Number of QA Environments per Project\"}),/*#__PURE__*/e(\"p\",{children:\"There's no magic formula for the ideal number of QA environments per project. TEMs carefully consider various factors to determine the optimal allocation:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Projects Interacting with Services Under Development: Applications that rely on services undergoing active development will likely necessitate more QA environments to connect with different service releases and versions. The complexity grows exponentially with multi-layered architectures where services depend on other services.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Critical, Customer-Facing Applications: Projects involving mission-critical customer-facing applications often require a faster turnaround time for bug fixes. These projects may benefit from additional staging or production environments to facilitate rapid response and maintain optimal user experience.\"})})]}),/*#__PURE__*/e(\"h2\",{children:\"Cost-Effectiveness and Agility: A Delicate Balance\"}),/*#__PURE__*/e(\"p\",{children:\"Some projects, particularly those involving continuous deployment and multi-stream development, might require a significant number of QA environments. TEMs play a crucial role in striking a balance between cost-effectiveness and agility. They meticulously assess the project's needs and calculate the optimal number of environments to ensure thorough testing without incurring excessive expenses.\"}),/*#__PURE__*/e(\"h2\",{children:\"The Rise of Hybrid Cloud Environments and Its Impact on QA Strategies\"}),/*#__PURE__*/e(\"p\",{children:'The IT landscape is constantly evolving, and hybrid cloud environments are emerging as a game-changer for many organizations. Hybrid cloud refers to a blend of on-premises cloud infrastructure and public cloud services, offering a \"best of both worlds\" approach. Public cloud services boast scalability, affordability, and ease of management, while private cloud environments provide enhanced security and control for specific needs.'}),/*#__PURE__*/e(\"p\",{children:\"The economic benefits of public cloud for scaling resources are undeniable. However, some industries with stringent regulations, like banking, might have limitations on public cloud usage. Hybrid cloud environments offer a solution by enabling organizations to leverage the public cloud for scalability while retaining the security and control of private cloud environments for specific requirements.\"}),/*#__PURE__*/e(\"h2\",{children:\"Managing Multiple QA Environments with Efficiency\"}),/*#__PURE__*/e(\"p\",{children:\"Managing a multitude of QA environments, sometimes numbering in the thousands, can be a daunting task. This is where software delivery tools come into play. These tools can streamline the process of provisioning, configuring, and managing QA environments, allowing TEMs to focus on strategic initiatives.\"}),/*#__PURE__*/e(\"p\",{children:\"The Intricacies of QA Environments: Why Multiple Environments Are Essential for Robust Testing\"})]});export const richText5=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"In most enterprises, the concept of having a\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/it-release-schedules\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"reliable release schedule\"})}),\" which represents what is going on in the development arm of your IT shop is quite foreign. The currency of the release schedule can\u2019t be relied on or, in some cases, doesn\u2019t even exist.\"]}),/*#__PURE__*/e(\"p\",{children:\"A classic case of bad practice is receiving weekly email updates or SharePoint alerts iterating that the release schedule is updated, something along the lines of \u201Cattached is Version 12\u201D. Let\u2019s face it \u2014 we all hate receiving updated documents, and release schedules are no exception.\"}),/*#__PURE__*/e(\"p\",{children:\"But still, we cannot deny the importance of a release schedule. Releasing the product in a timely order ensures that the client gets the entire product on time. Building on that, in this post, we\u2019ll discuss what a release schedule is. We\u2019ll cover some key factors which release schedule owners should improve on. Finally, we will find out how Plutora\u2019s release management tool eases software delivery.\"}),/*#__PURE__*/t(\"p\",{children:[\"We cannot deny the importance of a\",/*#__PURE__*/e(\"strong\",{children:\" release schedule.\"})]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});export const richText6=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"What is a Release Schedule?\"})}),/*#__PURE__*/t(\"p\",{children:[\"A release schedule is important and required for landscapes where you have multiple teams working on multiple systems delivering Projects or BAU changes. What this important artifact provides is an evident approach that planning for the delivery of releases and changes has occurred (to what extent comes down to the product or\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/release-manager-job\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"release manager\"})}),\"\\xa0and their experience). It graphically shows you immediately the contentions and dependencies around releases and gives you the mechanism to make decisions around release dates and\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/platform/test-environment-management/allocation\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"test environment allocations\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"I wanted to mention a few points around some of the key issues that owners of release schedules need to improve on:\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"The Stakeholders\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Your release schedule should be shared with the following people:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"CIO/CTOs\\xa0(they\u2019ll use it as a release\\xa0roadmap)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All IT resources involved in IT Dev and IT Ops.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Business stakeholders will require it as well to gain insights into what changes are occurring to their systems.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Vendors, yes vendors. The amount of times we have seen vendors overlooked from accessing the release schedule is absurd.\\xa0\",/*#__PURE__*/e(\"strong\",{children:\"Your vendors need to know your release dates and major milestones.\"}),\"\\xa0They need it for their planning to ensure they can deliver the items they are on the hook for.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Communication\"})}),/*#__PURE__*/t(\"p\",{children:[\"There is no use having a release schedule if no one knows about it or can\u2019t access it. Having lots of different schedule versions in a file share or SharePoint somewhere is no good either. You need to ensure that stakeholders know where it is and can easily access it, whether your release schedule is in\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Plutora\"})}),\"\\xa0or in some other location.\"]}),/*#__PURE__*/e(\"p\",{children:\"Using Plutora has many benefits. One advantage is that the release schedule is always the latest and greatest version of the real world. How, you ask? Because managers of Plutora are coordinating all their activities from Plutora in real time.\"}),/*#__PURE__*/t(\"p\",{children:[\"There is \",/*#__PURE__*/e(\"strong\",{children:\"no use\"}),\" having a release schedule if no one \",/*#__PURE__*/e(\"strong\",{children:\"knows about it\"}),\" or \",/*#__PURE__*/e(\"strong\",{children:\"can't access it.\"})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A viewer of a release schedule always needs to know what they are viewing is latest and greatest version.\"}),\"\\xa0For some stakeholders, they might use it as a\\xa0roadmap\\xa0or IT pipeline reference point while others might use it for day to day delivery such as Product and Test managers.\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Confidence\"})}),/*#__PURE__*/t(\"p\",{children:[\"Ok, so you have a great looking release schedule but how achievable is the delivery of each line item? Have you ensured that the dependencies and any potential risky release date are addressed? Do you have all the activities and milestones identified?\\xa0\",/*#__PURE__*/e(\"strong\",{children:\"Ensuring you have as much detail as possible in your release schedule is extremely important.\"})]}),/*#__PURE__*/e(\"p\",{children:\"You may wonder \u201CIs the release schedule really that important?\u201D\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Why a Software Release Schedule Matters More In Product-Oriented Teams\"})}),/*#__PURE__*/e(\"p\",{children:\"Launching a product in the market is never an easy task. Even though a product-oriented approach doesn\u2019t encourage strict planning, a schedule for software release is an important part of product development. When there are multiple teams working on different systems, it is important to have a release schedule to enforce some order.\"}),/*#__PURE__*/e(\"p\",{children:\"The deployment of software happens in various environments. It\u2019s an elaborate process and takes time. Although the focus is on the product in product-oriented teams, a software release schedule instigates a \u2018not-so-overwhelming\u2019 deadline. Thus, when there is a precise software release schedule, it helps teams maintain quality within less time.\"}),/*#__PURE__*/e(\"p\",{children:\"No business can get rid of competitive threats. When a team is product-oriented, its focus is productivity along with following the best practices and standards.\"}),/*#__PURE__*/e(\"p\",{children:\"One of the practices includes a software release schedule. It is a part of strong governance that mitigates the risk of a release failure. When the schedule is clear, teams are able to pinpoint potential reasons for failure. This way, they can stay extra cautious and avoid a potential disaster. Thus, the software release schedule helps retain better risk management in a product-oriented team.\"}),/*#__PURE__*/t(\"p\",{children:[\"When there is a \",/*#__PURE__*/e(\"strong\",{children:\"precise\"}),\" software release schedule, it helps teams to \",/*#__PURE__*/e(\"strong\",{children:\"maintain quality.\"})]}),/*#__PURE__*/t(\"p\",{children:[\"Now, let\u2019s discuss how Plutora\u2019s release management solution helps users have a smooth \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/software-release-management/release-management-process-improvements\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"release process\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Plutora Release Manager\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.plutora.com/platform/release-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Plutora\u2019s Release Management tool\"})}),\" was originally conceived due to the frustration experienced around visibility into the release pipeline. Regardless of if you\u2019re an enterprise release management team following the \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/waterfall-methodology\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"waterfall methodology\"})}),\"\\xa0or a single software line running a\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/scrum-vs-agile\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Scrum or Agile dev process,\"})}),\" the need to see the release pipeline is the same.\"]}),/*#__PURE__*/e(\"p\",{children:\"Basically, you need to know what is happening and when to make decisions about various factors. A solid, repeatable release plan reduces rework, lowers risk, and eliminates the need to piece together the definition of a release from myriad spreadsheets and documents.\"}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s take a look at some of the features of this tool in detail.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Release Calendar\"})}),/*#__PURE__*/e(\"p\",{children:\"Are you managing the release schedule of your project manually? You must have become bored with the same old font and layout of Excel or Google Sheets.\"}),/*#__PURE__*/e(\"p\",{children:\"Well, Plutora\u2019s Release Manager comes with a dynamic calendar where you can define your tasks. You can also assign resources and check whether everything is going according to plan. By maintaining a well-defined plan in the release calendar, you no longer need to browse the excel tables and check manually to see if there is any delay in a task.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Schedule Your Release\"})}),/*#__PURE__*/e(\"p\",{children:\"Again, eliminate the use of Excel or Sheets for defining release plans. Release Manager comes with an intuitive UI where you can define the start and end time of a release process. You can also set quality check gates.\"}),/*#__PURE__*/t(\"p\",{children:[\"You can \",/*#__PURE__*/e(\"strong\",{children:\"monitor\"}),\" each activity during the release and ensure \",/*#__PURE__*/e(\"strong\",{children:\"client satisfaction.\"})]}),/*#__PURE__*/e(\"p\",{children:\"But how does it work? Suppose there is a certain build that does not meet the expectations of the QA team. The build can proceed to the next stage only after the moderator approves the quality gate. Thus, you can monitor each activity during the release and ensure client satisfaction.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Reusable Templates\"})}),/*#__PURE__*/e(\"p\",{children:\"Tired of defining the release process over and over in every release? With Plutora\u2019s Release Manager, you can create a single workflow that follows the release policies of your company. You can include both automated and manual tasks in the template. You can also create as many templates as you\u2019d like and you can reuse them in the future release tasks of your company.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Widen the Scope of Your Product\u2019s Release\"})}),/*#__PURE__*/t(\"p\",{children:[\"Manual release management does not have enough scope to cover non-production environments. As a result, it becomes quite difficult to track dependencies or some other aspects that increase the release\u2019s complexity. But, you can integrate Plutora\u2019s tool with your \",/*#__PURE__*/e(n,{href:\"https://en.wikipedia.org/wiki/CI/CD\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"CI/CD\"})}),\" tools. Thus, tracking dependencies and checking the complexity of the release. Also, the tool provides you with an advanced filter to check the status of an issue and it\u2019s level of risk.\"]}),/*#__PURE__*/e(\"p\",{children:\"Release management is an important part of your project. However, this task often doesn\u2019t get the attention it deserves. We hope that we\u2019ve been able to explain why your project needs release management and how you can automate it and reduce complexities with Plutora\u2019s solution. Good luck with your next release.\"})]});export const richText7=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"h6\",{children:[\"This post highlights the importance of an efficient and reliable \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/managing-test-environments\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"test environment management\"})}),\"\\xa0process in supporting application releases/project delivery. We begin with the introduction of test environments and the problems that companies are facing due to poorly implemented and executed test environment management practices.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Finally, we suggest\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.itsmfi.org/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"itSMF ITIL V3\"})}),\" compliant best practices for improving the test environment management processes and explain how a dedicated test environment solution can help you achieve those best practices.\"]})]});export const richText8=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What Is Test Environment Management?\"}),/*#__PURE__*/e(\"p\",{children:\"Before we dive too deep, it is important that you understand a little bit about test environment management. If you have operated a software system that saves anything, you\u2019ve probably dealt with test environments. When preparing for a launch many concerns about these environments, normally hidden, come forth.\"}),/*#__PURE__*/t(\"p\",{children:[\"If you have operated a \",/*#__PURE__*/e(\"strong\",{children:\"software system\"}),\" that saves anything, you've probably dealt with \",/*#__PURE__*/e(\"strong\",{children:\"test environments\"}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"You may hear things like \u201Cplease don\u2019t deploy to staging, some clients are load testing on it\u201D or \u201Ccan you refresh the user data so that our consumer can regression test on it?\u201D These sorts of requests come through ad-hoc communications, like Slack and e-mail.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"These communications and how we respond are our test environment management. It is often ad-hoc and full of error-prone, manual processes.\"}),/*#__PURE__*/e(\"p\",{children:\"Those communications are often composed of the following concerns: tracking dependencies; scheduling data refreshes and new testing environments; and dealing with conflicts of interest between consumers.\"}),/*#__PURE__*/e(\"h2\",{children:\"The Balcony View of the Poorly Run Test Environment Management Process\"}),/*#__PURE__*/t(\"p\",{children:[\"Any software development has to go through\\xa0\",/*#__PURE__*/e(n,{href:\"https://en.wikipedia.org/wiki/Software_development_process\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"a series of development stages\"})}),\" that are defined in the Software Development Lifecycle (SDLC) methodology. The unique stages will include, requirements analysis, design of the software module, implementation or development of the software module, Testing of the software modules and continuous evolution of the software modules.\"]}),/*#__PURE__*/e(\"p\",{children:\"Testing is a very critical stage of the SDLC and can decide the ultimate fate of the quality of software being released into the live environments. Therefore, it is very important to ensure that the test environments used for testing the software are reliable and as close to production as possible.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Here is a list of hotspots\"}),\" \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/solutions/roles/environment-manager\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"environment managers\"})}),\" should take a special interest in:\"]}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Managing test infrastructure\\xa0such as hardware servers, application servers, networking, firewalls, software components required for testing, build software required for testing releases etc.,\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Managing test environments such as database clusters,\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.techopedia.com/definition/3887/user-acceptance-testing-uat\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"UAT\"})}),\", Pre-prod and the data required for testing.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Manage or monitor Service Level Agreements (SLA).\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Planning and analysis of test environments.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Monitoring servers and infrastructure.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Environment Maintenance.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Effective Communication between the test team and other stakeholders.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Bug or Defect Lifecycle & triage processes.\"})})]}),/*#__PURE__*/e(\"h2\",{children:\"Why Is the Test Environment Management Process Important?\"}),/*#__PURE__*/t(\"p\",{children:[\"In today\u2019s ever-changing dynamic IT/Software field, requirements keep changing and evolve as technology evolves. \",/*#__PURE__*/e(\"strong\",{children:\"There is a complex entanglement between three dimensions \u2013 namely cost, quality and time.\"})]}),/*#__PURE__*/t(\"p\",{children:[\"Ideally, if we have sufficient budget and time, software teams will be able to implement a high-quality product. In practice though, it\u2019s rarely the case that projects have the right budget and time. More often, projects run over budget and time constraints. As a result, the quality of the product suffers. \",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"It's rarely the case that projects have the right \",/*#__PURE__*/e(\"strong\",{children:\"budget\"}),\" and \",/*#__PURE__*/e(\"strong\",{children:\"time\"}),\".\"]}),/*#__PURE__*/t(\"p\",{children:[\"In most of the cases, the reason for a bad quality product is because test environment management isn\u2019t given high priority or the environment management process is not managed efficiently. With regulatory compliance such as\\xa0\",/*#__PURE__*/e(n,{href:\"https://en.wikipedia.org/wiki/Sarbanes%E2%80%93Oxley_Act\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Sarbanes Oxley\"})}),\", it\u2019s becoming increasingly important for IT to ensure that their software or service is compliant with industry norms or business requirements.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Test Environment Mis-management\"}),/*#__PURE__*/e(\"p\",{children:\"Here are a few, expensive problems that occur when you poorly manage your test environment:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Test environments differ from production environments in terms of the operating systems, configuration, software versions, patches, etc. \",/*#__PURE__*/e(\"strong\",{children:\"The wider the gap between test and production, the greater the probability that the delivered product will have more bugs/defects.\"}),\" This not only results in poor code quality but may also lead to product failures in production or live environments.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Poorly managed infrastructure assets can result in budget spikes and may delay the testing process.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Poorly administered and poorly controlled environments/infrastructure assets can result in unintended consequences. It may also result in poor configuration and\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/the-link-between-change-management-and-release-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"change control\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://en.wikipedia.org/wiki/Root_cause_analysis\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Root Cause Analysis\\xa0\"})}),\"of incidents and defects becomes challenging due to the misalignment of test and production environments.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Due to budget or time constraints, it isn\u2019t uncommon for companies to assign the application developers as testers or for testers to directly test the code in production. This has not only resulted in a lack of accountability but also poses a deep risk in the software development process. Sarbanes Oxley requires that IT companies steer strict controls and accountability of their software development processes.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"It is very common for test teams to clone or extract the production data and use it for testing purposes. This approach is time-consuming, error-prone and may not meet the data protection policies. Further, it isn\u2019t change-controlled and cannot be audited.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/transparency-and-communication-the-keys-to-agile-software-releases\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Communication plays a very critical role\"})}),\" in any phase of the software development lifecycle. Poor communication can result in misunderstanding of the testing/business requirements and may also result in failure to identify important defects.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"You need to configure bug or defect tracking tools well and there should be a process in place to manage their lifecycle. It isn\u2019t uncommon to assign defects to the wrong teams and miss important information. This not only results in wasted time/money but may also infuse more defects at later stages.\"})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Fixing bugs or defects is easier at the early stages of the software development process, rather than at later stages.\"}),\" It is also extremely expensive to fix bugs found in production, compared to fixing them in earlier stages such as the testing stage. This is the reason that test environment management is extremely important and organizations need to take this seriously.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Embracing Test Environments With Good Practices\"}),/*#__PURE__*/t(\"p\",{children:[\"We can combat the problems we see above with healthy practices. We also want to procure useful tooling, like \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/platform/test-environment-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Plutora\"})}),\" to ease our ability to put such practices into place. First, we want some \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/test-environment-management-metrics\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"level of metrics\"})}),\" to know where our trouble spots may lie. When we have those, we can implement some of the following practices.\"]}),/*#__PURE__*/t(\"p\",{children:[\"It is \",/*#__PURE__*/e(\"strong\",{children:\"extremely expensive\"}),\" to fix bugs found in production, compared to fixing them in \",/*#__PURE__*/e(\"strong\",{children:\"earlier stages\"}),\" such as the testing stage\"]}),/*#__PURE__*/e(\"h3\",{children:\"Package and Publish Environments, Not Just Your Code\"}),/*#__PURE__*/e(\"p\",{children:\"To mitigate the costs of poorly managed infrastructure we can package our entire test environments\u2014lookup data and all. Then we can publish these packages to multiple clients.\"}),/*#__PURE__*/e(\"p\",{children:\"For example, an e-commerce company named XYZ may be adding a new webpage to sell bikes online. Once the development team at XYZ writes the code for the new webpage, the code is packaged and released into the test environments. Multiple test teams may have to test this component(s), across different environments, before it is approved for deployment in production, for usage by end-users or customers.\"}),/*#__PURE__*/e(\"p\",{children:\"In order to ensure that the product is tested efficiently, test teams need to have the testing infrastructure/environments and other testing components pre-configured well in advance of the code release to test teams.\"}),/*#__PURE__*/e(\"h3\",{children:\"Align With Production\"}),/*#__PURE__*/e(\"p\",{children:\"Further, these pre-configured assets will have to align correctly with the production/live environments, with minimal distortions and variations. Many companies lack this process of efficiently managing the test environments, resulting in production bugs or failures, missed SLA\u2019s and poor quality of end products.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"It is very problematic if your software charges your customers twice in a transaction due to a bug in the credit card processor. And there is no excuse if it was because you didn\u2019t configure the test environment to be like production during testing.\"}),/*#__PURE__*/e(\"h3\",{children:\"Track and Schedule Environment Usage\"}),/*#__PURE__*/e(\"p\",{children:\"If you have test environments shared by multiple clients you need a way to keep them from bumping into each other. It is good, then, to have a centralized place to book and schedule test runs. You can use this scheduling to ensure test data is refreshed in time. It can help you ensure the environment is automatically in its configured state by the target date.\"}),/*#__PURE__*/t(\"p\",{children:[\"Directors use \",/*#__PURE__*/e(\"strong\",{children:\"budgets\"}),\" to give teams constrained \",/*#__PURE__*/e(\"strong\",{children:\"autonomy\"}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"Make Everything Self-Service\"}),/*#__PURE__*/e(\"p\",{children:\"Directors use budgets to give teams constrained autonomy. Within the confines of their budget, a team lead can purchase resources they need to get the job done. In the same way, we can make our published environment and scheduling self-service. This keeps us away from being a bottleneck, giving teams the ability to make the right bookings and configurations for their needs. After all, they have the most knowledge about what they need to do their job.\"}),/*#__PURE__*/e(\"p\",{children:\"https://youtu.be/0Q-VT0QKnVI\"}),/*#__PURE__*/e(\"h2\",{children:\"Practice Makes Perfect\"}),/*#__PURE__*/t(\"p\",{children:[\"Although we have traditionally relegated test environments as second-class citizens, we have the tools to do better. With such tools, we can bring better practices and avoid the problems of misconfigured, manually-managed test environments. We can enter into an era where we treat test environments as code by controlling their configurations, aligning them to production, and publishing to the clients that need them. We can also embrace centralized scheduling to ensure our clients have the resources they need to test without a chain of hard-to-follow emails. With such practices, we will see untold cost savings and gains. Or\u2014if you prefer to be told\u2014you can use Plutora\u2019s \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/platform/roi-test-environment-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"ROI calculator\"})}),\" to get an idea.\"]})]});export const richText9=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"There\u2019s a reason more and more companies are migrating to the cloud and incorporating IoT technologies and artificial intelligence into their infrastructure.\",/*#__PURE__*/e(\"strong\",{children:\" The tools deliver a number of benefits, like increased productivity, faster development cycles, and richer data that leads to better decisions.\"}),\" Suffice to say that every leading organization today is embracing \",/*#__PURE__*/e(n,{href:\"https://www.ptc.com/en/product-lifecycle-report/digital-transformation-statistics\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"digital transformation\"})}),\". As a result, those that are slower to adapt are increasingly likely to be left behind.\"]}),/*#__PURE__*/e(\"p\",{children:\"However, the path that companies take on their digital transformation journeys is often fragmented. By and large, today\u2019s strongest companies are scrambling to keep up with the rapid pace of technological evolution.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Why is that?\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"The answer is relatively straightforward. It turns out that many companies are held back by a lack of insight about the bigger picture of where they want to go\u2014especially when it comes to their technological infrastructure.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"For example, let\u2019s say an IT department has been using the same old database architecture for the last several years. They know that an on-premises relational database management system no longer cuts it and are looking to migrate to a new solution. Developers and engineers spend countless hours on the project looking to find the best way forward. Finally, they identify a solution. Months or potentially even years pass until the updated database system is complete.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"But by that point, a more efficient database solution is already on the market. What\u2019s more, customers and internal business users are asking for features that the company\u2019s new database doesn\u2019t have (e.g., tunable consistency and automatic failover).\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});export const richText10=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Enterprise Architecture: A Better Way Forward\"}),/*#__PURE__*/e(\"p\",{children:\"At this point, what should the IT department do? Should they start all over again? If not, what steps can they take to avoid this disconnect in the future?\"}),/*#__PURE__*/t(\"p\",{children:[\"This is where enterprise architecture (EA) enters the equation. \",/*#__PURE__*/e(\"strong\",{children:\"With the right approach to EA, it\u2019s possible for IT teams to avoid costly missteps\"}),\" like the hypothetical scenario described above.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"If you\u2019re interested in learning more about EA, you\u2019ve come to the right place. This post will explore everything you need to know about EA, including what it is, what its benefits are, what it looks like in action, and more.\\xa0\"}),/*#__PURE__*/e(\"h2\",{children:\"What Is Enterprise Architecture?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Enterprise architecture is an IT framework that guides an organization\u2019s digital transformation initiatives.\"}),\" EA is a holistic approach that in many ways mimics how architects lay out plans for a building.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"In the past, companies might have made somewhat random investments in technology, hoping for the best. EA represents a better way forward. It\u2019s a proactive approach that ensures an organization\u2019s IT investments align with and help them achieve their business goals.\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"What\u2019s more, \",/*#__PURE__*/e(\"strong\",{children:\"EA enables organizations to account for future disruption caused by new technologies while still pursuing its objectives.\"}),\" By developing a plan for what reliable infrastructure should look like and building something that\u2019s extensible and customizable to last into the future, organizations can make shrewd technological investments with purpose instead of just throwing money at new tools and hoping to get amazing outcomes.\"]}),/*#__PURE__*/e(\"p\",{children:\"With the right approach to EA, businesses are more nimble, more efficient, and more profitable.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"By now, we\u2019ve got our definitions down. So, let\u2019s turn our attention to how, specifically, enterprise architecture can help organizations like yours improve results.\"}),/*#__PURE__*/e(\"h2\",{children:\"What Are the Benefits of Enterprise Architecture?\"}),/*#__PURE__*/e(\"img\",{alt:\"Benefits of Enterprise Architecture\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Sw1y41wv8jMgkYL3DYsopUNViSc.png?originalFilename=Enterprise-Architecture-Benefits.png\",src:\"https://framerusercontent.com/images/Sw1y41wv8jMgkYL3DYsopUNViSc.png\",srcSet:\"https://framerusercontent.com/images/Sw1y41wv8jMgkYL3DYsopUNViSc.png?scale-down-to=512 512w,https://framerusercontent.com/images/Sw1y41wv8jMgkYL3DYsopUNViSc.png 600w\"}),/*#__PURE__*/e(\"p\",{children:\"Businesses across all industries are increasingly implementing EA due its numerous benefits it provides. Let\u2019s take a look at some of the main ones.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Increased Alignment\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Organizations that successfully implement EA will increase IT transparency among their various teams.\"}),\" This is because all employees\u2014from the IT department to customer success managers\u2014have access to the same plans and can see what the future looks like.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"In addition, team members across different business units can offer suggestions as to what the best way forward might look like. And if adjustments or changes are required, they can happen quickly, and everyone stays in the loop.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Altogether, this translates into increased alignment among team members. At the same time, businesses are much more likely to make IT investments that actually help them meet their goals. As a result, the right approach to EA can help teams work better together and move toward the same goals faster.\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Increased Collaboration\"}),/*#__PURE__*/e(\"p\",{children:\"An effective EA plan requires contributions from more than just the IT department.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"With that in mind, teams across the entire organization will be encouraged to contribute to the company\u2019s plans. The more front-line employees involved in the process, the better.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Add it all up, and this results in increased employee engagement and better project outcomes.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Faster Software Delivery\"}),/*#__PURE__*/t(\"p\",{children:[\"Enterprise architecture initiatives can help businesses supercharge their approach to \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/resources/whitepapers/accelerate-enterprise-software-delivery\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"enterprise software development\"})}),\".\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"For example, by successfully incorporating the benefits of real-time analytics and artificial intelligence into DevOps workflows, businesses are able to streamline the complex decision-making process of software development.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"As a result, they can accelerate development lifecycles and reduce error in the coding process. At the same time, businesses can also figure out the most efficient ways to allocate computing resources and IT investments, making sure their teams have the right tools for the job and are in the right places at the best times.\"}),/*#__PURE__*/e(\"h3\",{children:\"4. Reduced Costs\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"EA helps organizations bring its technological developments to market faster.\"}),\" At the same time, it helps organizations avoid unwise or unproductive IT investments. In turns, this helps them realize ROI much faster.\"]}),/*#__PURE__*/t(\"p\",{children:[\"In other words, EA helps organizations save significantly on development costs and IT investments. By making the \",/*#__PURE__*/e(\"em\",{children:\"right \"}),\"investments in new technologies, businesses can become more profitable. At the same time, organizations also save money when they spin down legacy infrastructure that costs more to maintain.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"By making smart, planned-out investments in technology instead of just trying things out and seeing how they work, organizations can reduce future technology investments. \"}),\"They\u2019ll always have access to an efficient and lean computing infrastructure that can grow with their needs over time.\"]}),/*#__PURE__*/e(\"p\",{children:\"At this point, you understand why more and more organizations are prioritizing EA. Next, we\u2019ll shift our attention to some EA use cases to see this powerful approach to IT in action.\"}),/*#__PURE__*/e(\"h2\",{children:\"Example of Enterprise Architecture in Action\"}),/*#__PURE__*/e(\"p\",{children:\"EA sounds great and all. But what does it look like in action?\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Here are three use cases to give you a better idea.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Restructuring Tech Infrastructure\"}),/*#__PURE__*/e(\"p\",{children:\"When an enterprise needs to restructure its IT systems, EA can provide a helpful roadmap for both IT teams and other business units to follow.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"With EA, the overall objectives of the enterprise are clearly defined. At the same time, each team is able to see where exactly they fit in to the bigger picture.\\xa0\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Mergers and Acquisitions\"}),/*#__PURE__*/e(\"p\",{children:\"If your company is in the process of merging with another business, EA can help you figure out how to merge the tech stacks of two companies together.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"For example, clear diagrams in an EA framework can highlight which areas of the two businesses overlap, where they intersect, where they complement one another, and where they are inefficient.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"In this light, companies going through mergers or acquisitions can use EA to save considerable time and resources building and consolidating efficient infrastructure.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Insourcing and Outsourcing\"}),/*#__PURE__*/e(\"p\",{children:\"One of the trickiest aspects to managing your IT systems is making the decision between building tools in house or purchasing them from third-party vendors.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"EA can help you determine the tools and infrastructure you can handle in-house and which you should rely on other vendors for.\"}),/*#__PURE__*/e(\"h2\",{children:\"Enterprise Architecture and Your Business\"}),/*#__PURE__*/e(\"p\",{children:\"Now that you have an understanding for what EA is and how it works, you might be wondering how your business can start implementing it.\"}),/*#__PURE__*/e(\"p\",{children:\"Well, you\u2019re in luck.\"}),/*#__PURE__*/e(\"p\",{children:\"Plutora is a leading enterprise value stream management platform. The company helps businesses streamline the delivery of software development and refine their approach to enterprise architecture.\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"To learn more about how Plutora can help your business build efficient architecture that delivers rapid ROI and business agility, \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/why-plutora\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"check this out\"})}),\".\\xa0\"]})]});export const richText11=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"DevOps, \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/12-agile-principles\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"agile methodologies\"})}),\", and continuous improvement (CI) have transformed the way that teams collaborate when they create software.\"]}),/*#__PURE__*/e(\"p\",{children:\"Rather than waiting for several months or years for major updates, software engineers are now able to improve their products with more efficiency than ever before. As such, DevOps teams put out feature-rich releases more frequently. The result is better software that delivers more value to customers. Everyone wins.\"}),/*#__PURE__*/e(\"p\",{children:\"CI methodologies trace their roots to the world of software.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"But the philosophy can be used to improve all aspects of the organization\u2014from operations and culture to products and services. If you\u2019re looking to take your company to the next level, continuous improvement may be just the ticket you need.\\xa0\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});export const richText12=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What Is Continuous Improvement?\"}),/*#__PURE__*/e(\"p\",{children:\"Continuous improvement is an organizational philosophy that empowers every employee to contribute to their company\u2019s advancement and improvement. It\u2019s about eliminating traditional obstacles and barriers\u2014such as schedules, employee titles, and meeting-driven cultures\u2014that might hinder growth.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Businesses that embrace CI encourage all employees to express their ideas. And they are also encouraged to act upon them at any time.\\xa0\"}),/*#__PURE__*/e(\"img\",{alt:\"continuous improvement\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,VoX2Uj36UyvOa6bK5phLxjIEfRw.png?originalFilename=continuous_improvement_diagram.png\",src:\"https://framerusercontent.com/images/VoX2Uj36UyvOa6bK5phLxjIEfRw.png\",srcSet:\"https://framerusercontent.com/images/VoX2Uj36UyvOa6bK5phLxjIEfRw.png?scale-down-to=512 512w,https://framerusercontent.com/images/VoX2Uj36UyvOa6bK5phLxjIEfRw.png 592w\"}),/*#__PURE__*/t(\"p\",{children:[\"According to the American Society for Quality, continuous improvement consists of \",/*#__PURE__*/e(n,{href:\"https://asq.org/quality-resources/continuous-improvement\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"four interconnected steps\"})}),\". Together, they are\\xa0known as the Plan-Do-Check-Act cycle:\"]}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Plan. \"}),\"This is perhaps the most critical step of the cycle. At this stage, employees identify an opportunity and begin planning for an improvement or change.\\xa0\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Do. \"}),\"This step involves implementing the improvement or change.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Check. \"}),\"The next step involves analyzing the results of the new method using data whenever possible. Did the new action improve the way things are done? Or did it make things less efficient?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Act. \"}),\"Lastly, if the new change resulted in a positive outcome, you should implement the change across the entire organization. After that is done, continually measure the new process to ensure repeatable results. And if for some reason the change causes operational inefficiencies, you need to abandon it and restart the cycle.\\xa0\"]})})]}),/*#__PURE__*/e(\"h2\",{children:\"CI Advances Improvement by Eliminating Traditional Time Constraints\"}),/*#__PURE__*/e(\"p\",{children:\"Organizations that embrace CI eliminate the need for employees to wait for a quarterly or annual review in order to suggest how their work could be streamlined.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Rather, if the employee is able to execute the idea on their own\u2014without disrupting the normal course of business for other employees\u2014they\u2019re encouraged to do so.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"For more complex ideas that might affect how an entire team operates, the employee can submit their idea to a supervisor for approval. To encourage buy-in, supervisors are encouraged to frequently review employee suggestions and execute them as quickly as possible.\\xa0\\xa0\\xa0\"}),/*#__PURE__*/e(\"h2\",{children:\"What\u2019s the Difference Between Continuous Improvement and Continual Improvement?\"}),/*#__PURE__*/e(\"p\",{children:\"If you\u2019ve searched the term \u201Ccontinuous improvement,\u201D you\u2019ve probably seen that some websites consider it the same thing as \u201Ccontinual improvement.\u201D\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Well, the two terms are not the same\u2014and here\u2019s why.\"}),/*#__PURE__*/t(\"p\",{children:[\"According to \",/*#__PURE__*/e(n,{href:\"https://www.dictionary.com/browse/continual?s=t\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Dictionary.com\"})}),\", \",/*#__PURE__*/e(\"em\",{children:\"continual\"}),\" means \u201Cof regular or frequent recurrence; often repeated; very frequent.\u201D \",/*#__PURE__*/e(\"em\",{children:\"Continuous\"}),\", on the other hand, means \u201Cuninterrupted in time; without cessation.\u201D\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"In a business setting, the differences between the two terms become even more apparent.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, CI encourages employees to share their feedback and contribute to updates whenever inspiration strikes. There are no scheduled meetings or deadlines that determine when an employee can or cannot offer suggestions to improve their workflow. As such, an employee\u2019s ability to make improvements is, quite literally, uninterrupted in time.\"}),/*#__PURE__*/e(\"p\",{children:\"Under a continual improvement model, however, an organization might have a defined schedule that consists of monthly or quarterly reviews. Only then can an employee reveal ideas or suggestions.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"In such an environment, an employee\u2019s ability to make improvements confined to a regular, repeated occurrence. It\u2019s not free-flowing. This results in ideas being lost to the ether.\"}),/*#__PURE__*/e(\"h2\",{children:\"Other Methods of Continuous Improvement\"}),/*#__PURE__*/e(\"p\",{children:\"There are many methods of continuous improvement. Here are two of the more common ones.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Six-Sigma\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Six-Sigma is a continuous improvement methodology that Motorola engineer Bill Smith introduced in 1980.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"The goal of the Six-Sigma process is to improve a business\u2019 operations by minimizing variations and conducting rigorous statistical analysis.\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"By all accounts, Motorola went on to experience tremendous success as a result of the Six-Sigma philosophy. Many other \",/*#__PURE__*/e(n,{href:\"https://en.wikipedia.org/wiki/List_of_Six_Sigma_companies\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"large corporations\"})}),\", such as General Electric and Boeing, followed suit.\\xa0\"]}),/*#__PURE__*/e(\"h3\",{children:\"2. Kaizen\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"Kaizen\"}),\" means improvement in the Japanese language. It\u2019s a combination of two words; \",/*#__PURE__*/e(\"em\",{children:\"kai\"}),\", meaning \u201Cchange\u201D and \",/*#__PURE__*/e(\"em\",{children:\"zen\"}),\" meaning \u201Cfor the better.\u2019\\xa0\"]}),/*#__PURE__*/t(\"p\",{children:[\"Kaizen was made famous by the Japanese author Masaaki Imai, who wrote \",/*#__PURE__*/e(\"em\",{children:\"Kaizen, The Key to Japan\u2019s Competitive Success,\"}),\" in 1970. These days, Kaizen essentially means the same thing as continuous improvement.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:\"In the business world, corporations that embrace Kaizen embody the philosophy that all employees, regardless of job title, have the ability to make their companies and products better. The idea is that every task that each employee does throughout the day contributes to the company\u2019s success.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"From the janitor\u2019s sweeping to the CEO\u2019s interaction with team members, every employee\u2019s actions matter. When every member of the team wholeheartedly commits to performing each action with the goal of producing an excellent result, the organization as a whole continuously improves and builds upon itself.\\xa0\"}),/*#__PURE__*/e(\"h2\",{children:\"What Are the Benefits of Continuous Improvement?\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Better Quality Products and Services\"}),/*#__PURE__*/e(\"p\",{children:\"Thanks to every employee\u2019s unimpeded ability to improve their work, it comes as no surprise that their products are higher quality.\\xa0\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Happier, More Productive Employees\"}),/*#__PURE__*/e(\"p\",{children:\"Believe it or not, employees tend to feel more valued when they can freely express their opinions and make a direct impact on the company\u2019s success.\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"According to a \",/*#__PURE__*/e(n,{href:\"https://psychcentral.com/blog/why-its-important-to-feel-valued-at-your-job/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"survey\"})}),\" by the American Psychological Association, employees who feel valued are happier and more productive. And they also stick around longer.\\xa0\"]}),/*#__PURE__*/e(\"h3\",{children:\"3. Increased Customer Satisfaction\"}),/*#__PURE__*/e(\"p\",{children:\"When customers receive better products and services, customer satisfaction rises alongside customer retention.\\xa0\"}),/*#__PURE__*/e(\"h2\",{children:\"What Are the Downsides of Continuous Improvement?\"}),/*#__PURE__*/e(\"p\",{children:\"The success of a business\u2019 CI initiative depends wholly upon the dedication level and example set by its leaders. With that in mind, here are some downsides you can experience when you don\u2019t implement CI correctly.\\xa0\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Suggestion Bottlenecks\"}),/*#__PURE__*/e(\"p\",{children:\"If management isn\u2019t attentively reacting to employee suggestions, there could be a substantial backlog of work. And it might also cause employees to feel undervalued if it seems as though management is ignoring their suggestions.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Either way, employees can\u2019t get enough done efficiently, and they won\u2019t be as engaged because they won\u2019t feel as though their opinions matter.\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Suppressed Innovation\"}),/*#__PURE__*/e(\"p\",{children:\"Employees and businesses that overly focus on CI often lack the mental energy to think outside of the box. Additionally, they might miss out on opportunities to innovate.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"In fact, in these scenarios, they will be too caught up with their daily responsibilities to come up with new ideas and help their companies get stronger.\"}),/*#__PURE__*/e(\"h2\",{children:\"How Can Continuous Improvement Be Used to Get Your Organization to the Next Level?\"}),/*#__PURE__*/e(\"p\",{children:\"In the world of software development, successful organizations embrace agile philosophies, DevOps workflows, and CI. To keep pace, you need to do the same.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"But the good news is you don\u2019t have to do all the heavy lifting on your own.\"}),/*#__PURE__*/t(\"p\",{children:[\"For example, Plutora specializes in simplifying the enterprise software delivery process. Their platform streamlines and facilitates collaboration across development teams in a range of industries, including \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/solutions/industries/financial-services\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"financial services\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/solutions/industries/healthcare\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"healthcare\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/solutions/industries/telco\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"telecommunications\"})}),\".\"]}),/*#__PURE__*/t(\"p\",{children:[\"To learn more about how Plutora can help your team get to the software-release finish line faster, \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/solutions/use-cases/enterprise-release-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"check this out\"})}),\". And if you\u2019re ready for your first demo, \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/evaluate-now-b?ref=nav-bar\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"contact us\"})}),\" today\u2014we\u2019d love to hear from you!\"]})]});export const richText13=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h6\",{children:\"he most crucial time for a software company is when a project is ready to go-live, as this is the moment when the purpose of all prior effort is realized. All the development and testing processes have been completed. The QA team has considered and validated all necessary product factors, assumptions, and changes have been approved.\"}),/*#__PURE__*/e(\"p\",{children:\"Now that you\u2019ve completed all these milestones, the product is ready for real-life use and it\u2019s time to transition the project to production according to the rollout schedule. However, this cutover transition to production can be risky if not properly planned and executed.\"}),/*#__PURE__*/e(\"p\",{children:\"Building on that, in this post, we\u2019ll discuss the project cutover plan, starting with what it is. We\u2019ll also discuss practices for successful cutover planning and execution.\"})]});export const richText14=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What Is A Project Cutover?\"}),/*#__PURE__*/t(\"p\",{children:[\"In simple terms, \",/*#__PURE__*/e(\"strong\",{children:\"a project cutover is the part of the go-live phase when a project is deployed in production\"}),\". The cutover process includes a series of steps that must be precisely orchestrated to ensure the successful deployment of project components from pre-production environments\"]}),/*#__PURE__*/e(\"h2\",{children:\"Why Do Enterprises Need a Cutover Plan?\"}),/*#__PURE__*/e(\"p\",{children:\"Even after successful development and testing, cutover is critical to the success of a software project. In large enterprises, deployment can be complicated, requiring coordination and steps to be conducted in a particular sequence to properly configure environments and applications in production. If the cutover fails, the team\u2019s hard work can be in vain. Not only will many costly hours of work need to be repeated and the project launch be delayed, but customers may experience service issues while the cutover is being rolled back from the production environment.\"}),/*#__PURE__*/e(\"h2\",{children:\"Planning for Cutover\"}),/*#__PURE__*/e(\"p\",{children:\"For a successful go-live, a well-written project cutover plan is a must. It reduces end-user downtime and streamlines the schedule of people involved. There are many dependent steps like data migration or code migration, creating versions in the repository, and many more. A cutover plan helps to complete all those activities.\"}),/*#__PURE__*/e(\"img\",{alt:\"cutover plan\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,iWQOh7CN9lExVxV3X2ALa2WkEY.png?originalFilename=cutover_plan.png\",src:\"https://framerusercontent.com/images/iWQOh7CN9lExVxV3X2ALa2WkEY.png\",srcSet:\"https://framerusercontent.com/images/iWQOh7CN9lExVxV3X2ALa2WkEY.png?scale-down-to=512 512w,https://framerusercontent.com/images/iWQOh7CN9lExVxV3X2ALa2WkEY.png 592w\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://framerusercontent.com/images/iWQOh7CN9lExVxV3X2ALa2WkEY.png\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"cutover plan\"})}),\"cutover planLack of knowledge about the dependencies can risk the go-live. For example, what if an important file gets missed while migrating the code? The application may have some major functionality failure. The absence of a cutover plan results in missed steps. As a result, additional downtime can occur.\"]}),/*#__PURE__*/e(\"p\",{children:\"You can make a cutover plan as early as the development stage, and should be completed before testing begins. The project manager or release manager should begin creating a detailed project plan that captures the many implementation steps, cutover build steps, and dependencies on other applications and technical resources. A robust cutover strategy comprises the activities detailed below. It also covers events before and after the cutover is complete. Now, let\u2019s take a look at the components of a cutover plan step by step.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Preparation Activities\"}),/*#__PURE__*/e(\"p\",{children:\"Preparation activities are the tasks that lead up to the cutover day. The project team needs to take them up one to two days before the cutover day. This involves validating a task checklist and communication plan for the main day. These cutover processes need to be rehearsed beforehand to ensure that the plan has captured all dependencies and that team members understand their responsibilities.\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Preliminary Activities for the Cutover Day\"}),/*#__PURE__*/e(\"p\",{children:\"Take care of all the downstream and upstream linkages. Formulate a cutover plan that comes under preliminary activities for the cutover date, ensuring everyone understands its purpose and assumptions. The team should address the dependencies as well, understand all cutover requirements and the final cutover schedule.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Activities on the Cutover Day\"}),/*#__PURE__*/e(\"p\",{children:\"In this phase, which often involves data migration, the team deploys components into the production environment, which end-users should be kept out of for the duration of the formulate cutover plan process. The project manager or release manager that owns the cutover process keeps track of timelines for all activities and their sequence, aligning everything closely with the rollout schedule. This way, the release manager can manage the communication and orchestration of activities and maintain timelines that are reasonable and practical and no team member faces a last-minute workload. Activities begin with the initiating phase of the cutover through the final cutover to go-live.\"}),/*#__PURE__*/e(\"h3\",{children:\"4. Activities After Cutover Day\"}),/*#__PURE__*/e(\"p\",{children:\"Your team must complete all the scheduled cutover activities. This also includes post-deployment testing. The process confirms the success of the deployment. It's also important to have the back out plan documented and tested just in case. After testing, end users can enter the production environment again. A few days after the cutover, the company should assess the system for inconsistencies.\"}),/*#__PURE__*/e(\"p\",{children:\"A communication plan goes hand in hand with a cutover plan. It involves communication between the clients and the management team. An exchange and listing of contact details of the team and stakeholders is a part of this phase.\"}),/*#__PURE__*/e(\"h2\",{children:\"Best Practices for a Successful Cutover Plan\"}),/*#__PURE__*/e(\"p\",{children:\"Now, we have a foolproof cutover plan. After rigorous planning and detailing, it\u2019s important to follow the implementation steps for step-by-step execution. To achieve positive outcomes, a firm needs to follow the best practices. On that note, here are the best practices for a successful cutover plan.\"}),/*#__PURE__*/e(\"h3\",{children:\"1. Be Prepared for Surprises\"}),/*#__PURE__*/e(\"p\",{children:\"The biggest advantage of making a plan is having the knowledge of what will happen next. But what if everything doesn\u2019t go according to plan? Should you just lose hope? Of course not! It\u2019s understandable that the goal is to execute preplanned steps. But there is a reason we call a surprise a surprise. It\u2019s unexpected, and we can\u2019t anticipate it. Here are some questions you should have the answer to beforehand. How will the team handle unanticipated events? If the situation arises to abort the cutover, who will pull the plug? How will you resolve it?\"}),/*#__PURE__*/e(\"h3\",{children:\"2. Communicate Well and Triple-Check\"}),/*#__PURE__*/e(\"p\",{children:\"Smooth communication and coordination between project members is a must for a successful cutover. All members should know their roles. Effective communication helps confirm whether things are on track. It also helps to keep things according to the predetermined schedule. When you have made sure the communication is smooth, have dry runs. This will keep the process according to a routine. Forget double-checking. Triple-check to ensure high accuracy of the project cutover. Also, have a fallback or backup plan in case something goes wrong during the deployment phase.\"}),/*#__PURE__*/e(\"h3\",{children:\"3. Plan Early Implementation\"}),/*#__PURE__*/e(\"p\",{children:\"A project cutover requires more effort than we sometimes estimate that it will in the beginning, which underscores the purpose of meticulous planning. There are so many issues to resolve in a short period. The early implementation helps reduce the number of matters to sort on the day a project goes live. Every company comprises different teams for implementing strategies, and it is essential to outline the implementation steps clearly, including the rollout schedule. In fact, it\u2019s important to hold exploratory meetings and discuss the strategies with these teams. Questions arise when you analyze the coordination, assumptions, and workflows of teams involved in the cutover. Consider the business cycle and technical updates in advance.\"}),/*#__PURE__*/e(\"h3\",{children:\"4. Testing of the Deployment Plan\"}),/*#__PURE__*/t(\"p\",{children:[\"The project development team needs to rehearse every step of the cutover plan in a test environment to ensure that the data migration, cutover strategy, and communication plan result in a properly configured\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/deployment-planning-success\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" deployment\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"This way, you won\u2019t overlook any step during the final execution. Also, the predictability of outcomes increases. Sometimes, the project can have interdependencies. But they often tend to get ignored. For instance, what if during deployment, installation of a built-in update fails. As a result, the team will fail to deliver their promised tasks, resulting in a penalty for the company. These kinds of scenarios that lead to unexpected expenditure or budget loss are cost overruns. However, with simulation exercises, your team can simulate a deployment scenario. There, they can check for mishaps that can lead to cost overruns. Once the team gets an idea about probable mishaps, they can create a backup plan, thereby avoiding cost overruns. This also saves time.\"}),/*#__PURE__*/e(\"h3\",{children:\"5. Being Alert and Ready on the Cutover Day\"}),/*#__PURE__*/t(\"p\",{children:[\"This is the most important day for both the team as well as the stakeholder. The entire team needs to be prepared for application deployment. Not only that, the team should be ready for configuring databases, servers, and other infrastructure as well as creating backups in case deployment fails. The head of the operations team usually gives a green light. The decision-makers have to be fully alert. The\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/release-management-best-practices\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" release of a new system\"})}),\" takes place. But after some hours, the decision-makers have the right to instruct the team according to the situation. They can signal the team to continue with the implementation.\"]}),/*#__PURE__*/e(\"p\",{children:\"It\u2019s better to have a flexible checklist for the cutover day. The checklist should ideally contain things to check after certain intervals. For instance, this can include whether deployment is going on as planned or if a mandatory step has been completed. It\u2019s crucial to check at intervals because there are some processes like installing dependencies that may consume quite a few hours. If some issue occurs during such an event, the entire deployment procedure may be jeopardized.\"}),/*#__PURE__*/e(\"p\",{children:\"Your team must also check for any issues. If you find some issues that may hamper a smooth deployment, get them resolved as soon as possible.\"}),/*#__PURE__*/e(\"p\",{children:\"Alternatively, the decision-makers can also tell the team to fall back. This means they can stop the implementation if things don\u2019t go according to the plan. However, this is only possible when the implementation hasn\u2019t reached the point of no return. Just like all other phases, the team should rehearse the fallback option too. After that, post-implementation support comes into the picture. It is the absolute final stage. In this, the project concludes and ensures success.\"}),/*#__PURE__*/e(\"h2\",{children:\"Summing It Up\"}),/*#__PURE__*/t(\"p\",{children:[\"A project cutover, even though it\u2019s the last phase, is an important one. Unless it\u2019s over without any roadblocks, you can\u2019t relax. It\u2019s the most crucial activity of the project\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/software-development-life-cycle-making-sense-of-the-different-methodologies\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" life cycle\"})}),\". Project managers usually wind down after the design, build, and testing phases are over. Well, the major portion of the work has passed. But the work isn\u2019t completely over until and unless deployment has been successfully completed. Thus, it\u2019s important to make a foolproof cutover plan. After that, follow the best practices for the execution of a project cutover plan.\"]}),/*#__PURE__*/t(\"p\",{children:[\"If you want to know more about automated deployment planning and managing your project\u2019s cutover, take a look at the\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/platform/deployment-planning\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" Plutora deployment planning and orchestration solution.\"})})]})]});export const richText15=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"h6\",{children:[\"The following is a \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/12-agile-principles\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"principle\"})}),\" upon which the \",/*#__PURE__*/e(n,{href:\"https://agilemanifesto.org/principles.html\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Agile Manifesto\"})}),\" was built: \u201CAt regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.\u201D The agile retrospective is just that, a ceremony conducted at regular intervals that is focused on continuous improvement. The retrospective is the time of the week that the team figures out how to get better. I would argue that it\u2019s the most important ceremony an agile team (or any team, for that matter) has.\"]}),/*#__PURE__*/e(\"p\",{children:\"In this post, we\u2019re going to look at how to structure a retrospective, some different types of retrospectives, and some norms that will make your retrospective more effective. Let\u2019s start off by going over how often we should run a retrospective.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});export const richText16=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"How Often and How Long\"}),/*#__PURE__*/e(\"p\",{children:\"There\u2019s no definitive answer on how frequently to have a retrospective other than \u201Cit depends\u201D. The cadence depends on the team, but a good place to start is once a week. Similarly, the amount of time required depends on the team\u2019s current context. A safe bet is to schedule an hour.\"}),/*#__PURE__*/e(\"p\",{children:\"If the team is consistently ending retrospectives (or retros) without covering all the listed items, it\u2019s an indication that the cadence might need to increase. On high-performing teams, the retrospective can take less time because the team is happy with its current process. Alternatively, it might turn into a time to discuss process experiments for even greater benefits.\"}),/*#__PURE__*/e(\"p\",{children:\"Because each team is different and has peaks and valleys in performance, the cadence and length of a retro are moving targets. However, one hour a week near the end of the week is a great jumping-off point.\"}),/*#__PURE__*/e(\"p\",{children:\"So now that we\u2019ve scheduled our retro, let\u2019s go over the format and how to run it!\"}),/*#__PURE__*/e(\"h2\",{children:\"The Format\"}),/*#__PURE__*/e(\"p\",{children:\"Here\u2019s a good format for starting a retrospective:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Icebreaker: five minutes\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Review previous outstanding action items: five minutes\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The retrospective activity: 45 minutes\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Assign action items: five minutes\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"The Icebreaker\"}),/*#__PURE__*/e(\"p\",{children:\"I do icebreakers in all the retrospectives I participate in. This might be a little difficult for larger group sizes, but for typical teams, an icebreaker is a great way to kick off the retrospective. The intent is twofold.\"}),/*#__PURE__*/e(\"p\",{children:\"The first and most important purpose of the icebreaker is that it helps get people talking. For teams that have a lot of introverted or shy people, answering an icebreaker question is a less risky way to open up to the group. After speaking out once during the icebreaker, it\u2019s easy to speak again when discussing issues affecting the team.\"}),/*#__PURE__*/e(\"p\",{children:\"The second purpose the icebreaker serves is to facilitate building interpersonal relationships. If you build relationships and create a culture where people care about each other, you build an environment people want to work in. If people care about the environment they work in, they\u2019re more likely to be concerned about its health and function.\"}),/*#__PURE__*/e(\"p\",{children:\"Here are some fun icebreaker questions we\u2019ve used on my teams recently:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"\\xa0What\u2019s your favorite and/or least favorite concert experience?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"\\xa0What\u2019s your favorite holiday memory?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"\\xa0If you didn\u2019t have your current job, what would you be doing instead?\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Reviewing Previous Action Items\"}),/*#__PURE__*/e(\"p\",{children:\"Before working on generating new ways of improving, it\u2019s important to be committed to existing action items. Use this time to see if current process experiments are accomplishing their purpose and if one-off action items have been resolved by their owners.\"}),/*#__PURE__*/e(\"h3\",{children:\"The Retrospective Activity\"}),/*#__PURE__*/e(\"p\",{children:\"There are a whole bunch of cool retrospective ideas people have come up with over the years. Let\u2019s take a look at a few of them:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Happy, Confused, Sad\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Liked, Longed, Lacked, Learned\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Sailboat\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Timeline\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"DIY\"})})]}),/*#__PURE__*/e(\"p\",{children:\"All of these retrospective ideas help flesh out ways the team could improve but in varying ways. Let\u2019s start by taking a look at the Happy, Confused, Sad retrospective format.\"}),/*#__PURE__*/e(\"h3\",{children:\"Happy, Confused, Sad Retrospective\"}),/*#__PURE__*/e(\"p\",{children:\"This is a pretty common retro format that doesn\u2019t require a lot of up-front planning. Team members will discuss the current team\u2019s context in terms of what they are happy, sad, or confused about. This is a good retro for inexperienced or shy facilitators because the main job of the facilitator in this is to keep the discussion productive and cut it off when it starts rambling. I like to rotate columns when discussing items here so that you don\u2019t discuss all the happy items first and then end on sad or confused items.\"}),/*#__PURE__*/e(\"p\",{children:\"The prompts for this retro include the following:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"What were you \",/*#__PURE__*/e(\"strong\",{children:\"happy\"}),\" about this week?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Are there some things that made you \",/*#__PURE__*/e(\"strong\",{children:\"sad \"}),\"this week?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Are you \",/*#__PURE__*/e(\"strong\",{children:\"confused\"}),\" about something the team is doing?\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"And here\u2019s how to run this retro:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Start with a whiteboard or a place where you can label three columns with Happy, Confused, and Sad.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Give everyone some sticky notes and a permanent marker.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Allot five or so minutes to have each team member write down answers to the prompts.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Dot vote! \",/*#__PURE__*/e(n,{href:\"https://en.wikipedia.org/wiki/Dot-voting\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Dot voting\"})}),\" is a way to vote on the most important topic. You set a dot budget and then let everyone in the room vote on the topics in the three columns they think are most important to discuss. If there are five to six people, three votes are usually sufficient.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Organize the columns by the number of votes.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The facilitator should introduce each item in the order of its importance and let the person who wrote it explain the thought.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Discuss and capture potential action items if there are any.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Liked, Longed, Lacked, Learned Retrospective\"}),/*#__PURE__*/e(\"p\",{children:\"This retro is good after a week where the team struggled with a hard problem. The importance of calling out items that the team learned during a week where they struggled with something is a good way to focus on positive outcomes that they can use going forward.\"}),/*#__PURE__*/e(\"p\",{children:\"The prompts for this retro include these questions:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"What did you \",/*#__PURE__*/e(\"strong\",{children:\"like\"}),\" about this week?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Was anything \",/*#__PURE__*/e(\"strong\",{children:\"lacking\"}),\" this week?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"What are you \",/*#__PURE__*/e(\"strong\",{children:\"longing\"}),\" for in the coming weeks?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Did you \",/*#__PURE__*/e(\"strong\",{children:\"learn\"}),\" something this week?\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Here\u2019s the process for running it:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Set up a 2\\xd72 square grid. Label each square in the grid with either Liked, Longed, Learned, or Lacked.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Give everyone sticky notes and a permanent marker.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Give five minutes to respond to the prompts.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Dot vote if there are a lot of items to go through.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Organize items by importance.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Discuss each item and capture actions/outcomes.\"})})]}),/*#__PURE__*/e(\"img\",{alt:\"Agile 4L Retrospective\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,JaqUbK3j2NhPrzUaPdFXG6lgNQY.jpg?originalFilename=agile-restrospective-4L.jpg\",src:\"https://framerusercontent.com/images/JaqUbK3j2NhPrzUaPdFXG6lgNQY.jpg\",srcSet:\"https://framerusercontent.com/images/JaqUbK3j2NhPrzUaPdFXG6lgNQY.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/JaqUbK3j2NhPrzUaPdFXG6lgNQY.jpg 600w\"}),/*#__PURE__*/e(\"h3\",{children:\"Sailboat Retrospective\"}),/*#__PURE__*/e(\"p\",{children:\"This is a fun retrospective that can help the team analyze their work with respect to a broader goal. The idea is to use a sailing metaphor to think about what\u2019s propelling the team forward toward a specific goal. The team is a boat, and the goal is represented by an island. Wind represents what\u2019s propelling the team toward the goal. An anchor indicates what\u2019s slowing or dragging the team down. We also use rocks as a way to indicate risks to the project.\"}),/*#__PURE__*/e(\"p\",{children:\"This format can go a couple of ways depending on the facilitator\u2019s intent. If the team already knows what their current goal is, then you can orient the other prompts around what\u2019s helping or preventing the team from achieving that goal. It can also be useful to ask the team members what they think the current goal is. This helps show everyone on the team either that there are some conflicting opinions or that everyone is on the same page.\"}),/*#__PURE__*/e(\"p\",{children:\"Here\u2019s the prompt for this retro:\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine our team is a sailboat, and our end goal is an island we\u2019re sailing toward.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"What is the \",/*#__PURE__*/e(\"strong\",{children:\"wind\"}),\" in our sails propelling us toward our goal?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Are there risks (\",/*#__PURE__*/e(\"strong\",{children:\"rocks\"}),\") we might hit that will stop us from achieving the goal?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"What are the \",/*#__PURE__*/e(\"strong\",{children:\"anchors\"}),\" dragging us down and preventing us from getting there faster?\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"And here\u2019s how to run it:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Draw the sailboat, island, wind, rocks, and anchor.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Explain the prompts to the team, and give the team members five to 10 minutes to write down ideas.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Have the team place the ideas on the appropriate parts of the drawing. More so than the other retrospectives, this might take some facilitation and help to make sure the stickies are in the right spot. People often confuse what\u2019s currently dragging the team down with risks that might cause problems in the future.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"After doing the grouping, discuss each aspect of the analogy, one at a time.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Discuss outcomes related to enhancing the wind cards, mitigating the rock cards, and reducing the effect of the anchor cards.\"})})]}),/*#__PURE__*/e(\"img\",{alt:\"Agile Timeline Retrospective\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,2DgEcqJf3MZnjozc6MDlTmPrZg.jpg?originalFilename=agile-timeline-retrospective.jpg\",src:\"https://framerusercontent.com/images/2DgEcqJf3MZnjozc6MDlTmPrZg.jpg\",srcSet:\"https://framerusercontent.com/images/2DgEcqJf3MZnjozc6MDlTmPrZg.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/2DgEcqJf3MZnjozc6MDlTmPrZg.jpg 600w\"}),/*#__PURE__*/e(\"h3\",{children:\"Timeline Retrospective\"}),/*#__PURE__*/e(\"p\",{children:\"This retrospective is a good one to run to look at a broader period of time for the team to understand where things went wrong or right. It\u2019s also a good way to learn about how each team member is feeling about the direction of the project. The timeline retrospective can also be used as a postmortem activity. I think for this to be most effective, you\u2019d want to look at a period of a month or more.\"}),/*#__PURE__*/e(\"p\",{children:\"There isn\u2019t as much of a prompt for this retro. It\u2019s a fluid activity. Here\u2019s how to run it:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Define the period of time you\u2019re going to review.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Draw a graph with only the positive quadrant (top right) showing on a large whiteboard (preferably eight to 12 feet or more).\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Put the start and end of that time period as an x-axis.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"On the y-axis, we\u2019re going to put a happy face at the top. Zero is going to be a sad face.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Give everyone stickies and a couple of minutes to collaborate on listing out the good and bad events that occurred during the time frame. Put those in chronological order on the x-axis.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Give everyone a different colored marker or have them label a line with their name. Each person is going to draw how they were feeling from the start of the time period to the end. You will notice that people generally have similar peaks and valleys.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Use the peaks and valleys as talking points about what went wrong or right, and discuss how to either avoid or recreate similar situations.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"DIY Retrospective\"}),/*#__PURE__*/t(\"p\",{children:[\"I included this section mainly because I think that everyone should come up with their own retro formats. As long as the focus is on \",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/continuous-improvement-cicd-pipeline\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"continuous improvement\"})}),\" and getting input from everyone, it\u2019s hard to go wrong. Experiment with different things. To get the best feedback from your retros, you have to get people outside of their normal thought process.\"]}),/*#__PURE__*/e(\"p\",{children:\"Take the team outside or to a different space. Bring some sticky notes and markers and come up with your own prompt. It can be as simple as saying, \u201CLet\u2019s talk about what went well and what didn\u2019t go well this week.\u201D\"}),/*#__PURE__*/e(\"h3\",{children:\"Assigning Action Items\"}),/*#__PURE__*/e(\"p\",{children:\"Alright, so we\u2019ve done the retrospective activity. It\u2019s important before we disperse to make sure that all the action items or process experiments we\u2019ve come up with have someone who is committed to making sure they get resolved. This gives us someone to follow up with next week to see how action items are progressing.\"}),/*#__PURE__*/e(\"p\",{children:\"So that\u2019s the structure of the retrospective and some ideas for retrospective activities. Let\u2019s take a look at some ways we can be effective with this meeting.\"}),/*#__PURE__*/e(\"h2\",{children:\"How to Have a Good Retrospective\"}),/*#__PURE__*/e(\"p\",{children:\"Good retrospectives take practice, and every team is different. What is a good result for a retrospective for one team might be considered ineffective for a different team. That being said, there are a few simple guidelines that are generally applicable.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Set the stage for everyone to speak their mind\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Facilitation, facilitation, facilitation\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Rotate facilitators\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Be disciplined about your action items\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Run experiments\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Set the Stage for Everyone to Speak Their Mind\"}),/*#__PURE__*/e(\"p\",{children:\"When running your first retrospective, and whenever a new team member joins, it\u2019s important to level-set with the group. The retrospective is a meeting we have specifically to address areas of improvement and sometimes that means saying things that are difficult to say. You\u2019re free to speak your mind while still being respectful to your fellow team members.\"}),/*#__PURE__*/e(\"p\",{children:\"We want the team to be able to discuss uncomfortable things. There are two antipatterns for this. One is where you have retrospectives where it\u2019s a bit of a facade and there is some tension about stuff that isn\u2019t being said. The other is where people are overly combative. Both can be resolved by leadership modeling the desired behavior and setting expectations for what the meeting is.\"}),/*#__PURE__*/e(\"h3\",{children:\"Facilitation, Facilitation, Facilitation\"}),/*#__PURE__*/e(\"p\",{children:\"A facilitator\u2019s role in the retrospective is to hold off on their opinions and help everyone else get a chance to articulate theirs. The three big things you want to watch out for as a facilitator are as follows:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Is everyone getting a chance to speak? Are some people dominating the conversation?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Are the conversations relevant to the stated goal of helping the team improve?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"When people speak, are they blaming others or being disrespectful?\"})})]}),/*#__PURE__*/e(\"p\",{children:\"You\u2019re not likely to encounter the third one as much, but it is the one that should be taken the most seriously and resolved immediately. That is the job both of the facilitator to call it out and of the leadership on the team to ensure that it\u2019s not tolerated. The quickest way to kill the productivity of a retrospective is to cast blame.\"}),/*#__PURE__*/e(\"p\",{children:\"You\u2019re much more likely to encounter the first and second scenarios. As the facilitator, try to ask the opinion of others who are being quiet. If the same repeat offenders are taking up most of the airtime, a side discussion outside of the retro is a good place to bring it up. In retrospectives that I\u2019m a part of, we agree at the beginning that we\u2019re OK with being \u201Cfacilitated.\u201D\"}),/*#__PURE__*/e(\"p\",{children:\"When dealing with off-topic discussions, it\u2019s the same strategy. You can ask that we hold off on a particular discussion and get the right people to have it after the retrospective. Facilitation takes practice and empathy. One way to improve empathy is to rotate facilitators.\"}),/*#__PURE__*/e(\"h3\",{children:\"Rotate Your Facilitators\"}),/*#__PURE__*/e(\"p\",{children:\"This is a great way to get everyone involved and build your team. Have the facilitator pick the retrospective and the icebreaker question. Create a supportive environment for people who are new to running these meetings. Encourage facilitators to try new retrospective activities. On the teams I\u2019ve been on with the most impactful retrospectives, we have facilitator rotation. This has the added benefit of keeping the retrospective a fresh and useful experience. We have someone volunteer to facilitate the next retro at the end of every retro we do.\"}),/*#__PURE__*/e(\"h3\",{children:\"Be Disciplined About Your Action Items\"}),/*#__PURE__*/e(\"p\",{children:\"Action items should be clearly defined, have enough context to ensure people remember what they are, and be assigned to an individual. Action items should be captured from each retrospective, and they should be completed regularly. There are a few antipatterns to watch for with action items.\"}),/*#__PURE__*/e(\"p\",{children:\"One pattern is where you consistently don\u2019t have or don\u2019t remember action items from the previous retro. If you consistently don\u2019t have any outcomes, there might be something wrong with the format or facilitation. If you did have some, why were they not captured or assigned? Action items and experiments are the outputs that translate the discussion from the retrospective into tangible improvement. If this happens, take on the responsibility as a group to ensure that the action items are captured and assigned.\"}),/*#__PURE__*/e(\"p\",{children:\"The opposite pattern is where you have a board or information radiator overflowing with action items, some that are weeks or months old. If this is happening, there are some questions you can ask yourself. Are the action items actually achievable? Does the group review the action items weekly? Are the individuals to which they\u2019re assigned determined to make sure they get done? In this scenario, it\u2019s a good idea to limit action items from a retrospective to a single action item. When you consistently resolve those, gradually increase the items you allow yourselves to have.\"}),/*#__PURE__*/e(\"h3\",{children:\"Run Experiments\"}),/*#__PURE__*/t(\"p\",{children:[\"Not every outcome of a retrospective should be an action item. Some outcomes might be process experiments. Maybe the group wants to experiment with the stand-up format. Maybe they want to try mob programming on certain types of user stories. In any case, an action item to \u201Ctry \",/*#__PURE__*/e(n,{href:\"https://www.agilealliance.org/glossary/mob-programming/#q=~(infinite~true~filters~(postType~(~'page~'post~'aa_book~'aa_event_session~'aa_experience_report~'aa_glossary~'aa_research_paper~'aa_video)~tags~(~'mob*20programming))~searchTerm~'~sort~false~sortDirection~'asc~page~1)\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"mob programming\"})}),\"\u201D isn\u2019t the best way to capture this outcome.\"]}),/*#__PURE__*/e(\"p\",{children:\"Try to get your team to take these types of actions and turn them into experiments that have defined desirable outcomes. Here\u2019s an example:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"We\u2019re having problems with \",/*#__PURE__*/e(n,{href:\"https://www.efilecabinet.com/knowledge-silos-how-theyre-impacting-your-organization/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"knowledge silos\"})}),\" on hard parts of our codebase.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"We believe that mob programming on stories relating to that part of the codebase will improve everyone\u2019s understanding of that code.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The engineers are going to mob program on two stories in the next two weeks.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"We\u2019ll measure whether this was effective or not based on a \",/*#__PURE__*/e(n,{href:\"https://cspfastpass.com/2017/11/23/the-roman-voting-technique-for-agile-teams/\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Roman vote\"})}),\" of whether we have a better understanding of that code.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Try to get your team to think about how they would determine whether a process improvement was successful. Try new things, but make sure you capture the outcomes so you know whether you should continue to do them or not.\"}),/*#__PURE__*/e(\"h2\",{children:\"Keep Improving\"}),/*#__PURE__*/e(\"p\",{children:\"We\u2019ve gone over quite a bit of information, and I hope that some of these ideas resonated with you. Retrospectives are not only good opportunities for high-performing teams to continue to improve, but they also provide an avenue for building team chemistry on new or struggling teams. They empower your teams to own their ways of working, which leads to more motivated team members and better team outcomes.\"}),/*#__PURE__*/t(\"p\",{children:[\"I\u2019m passionate about teams running retrospectives, and I think you should be too! There are lots of great resources out there on retrospectives. One thing your teams might be consistently concerned about is remote collaboration. Did you know that Plutora can help you with that with its\\xa0\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/platform/value-stream-management\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"value stream management\"})}),\" platform? For other issues surrounding the team, turn to retrospectives.\"]})]});export const richText17=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"h6\",{children:[\"The introduction of agile has transformed the way companies work. Agile has worked wonders for firms, and the positive effects are out in the open\u2014shorter time to market and lower costs, just to name a few. But companies can\u2019t take advantage of the full benefits of agile just by making the switch. Without bringing agile\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/metrics-kpis-test-environment-stability\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" metrics\"})}),\" into the picture, using agile won\u2019t bring much value to a company.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Agile metrics help monitor productivity across the stages of the\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/software-development-life-cycle-making-sense-of-the-different-methodologies\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" software development life cycle\"})}),\" (SDLC). In this post, we\u2019re going to discuss agile metrics that matter for success. We\u2019ll take a look at why they\u2019re important for a firm.\"]}),/*#__PURE__*/t(\"p\",{children:[\"But, agile alone doesn\u2019t always help a company succeed in delivering quality work in time. For reducing excessive expenses, activities, and labor, lean is there.\",/*#__PURE__*/e(n,{href:\"https://www.plutora.com/blog/how-lean-agile-relate\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" Lean and agile\"})}),\" together result in a fast and bug-free application that ensures client satisfaction. Lean and agile also eliminate waste that causes a company to lose money. After discussing agile metrics, we\u2019ll move on to lean metrics and their importance. Apart from agile, we\u2019ll also take a look at a few lean metrics essential for a company\u2019s success.\"]}),/*#__PURE__*/e(\"p\",{children:\"So, let\u2019s dive into the details.\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText16\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText13\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText15\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText17\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText14\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "richText1", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "richText11", "richText12", "richText13", "richText14", "richText15", "richText16", "richText17", "__FramerMetadata__"]
}
