Quality Management https://tigosoftware.com/index.php/ en How to use quality gates to guide IT projects? https://tigosoftware.com/index.php/how-use-quality-gates-guide-it-projects <span class="field field--name-title field--type-string field--label-hidden">How to use quality gates to guide IT projects?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 12/20/2023 - 00:51</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>John Sinclair sits in an IT operations room where he’s responsible for managing a team fielding user calls about server and application support issues. The ops room, which looks vaguely like a NASA control room, is full of digital displays monitoring critical processes and servers on a 24/7/365 basis. John’s team is highly trained on the key enterprise software applications and services being run throughout the entire IT organization. The team monitors Veritas backup scheduling, midrange UX, NT server, mainframe, and security. His capable team rapidly responds to calls from users worldwide. “It’s really a question of knowing what’s out there and that we can fully support it,” John said.</p> <p>Unfortunately, the team doesn’t always know what’s out there. John recalled a Monday morning when all hell broke loose. The help desk call volume suddenly increased by 30 percent. Users complained that they could not access data or asked questions such as, “Did you guys maybe run backups on dev server JEDIDEV01l last Friday?”</p> <p>John said this situation happens all the time. In this case, his team didn’t know anything about the project—not even the names of the contact people for that server or all the assets that were included for that project. Also, it was assumed his team would automatically manage the development environment for that specific project team. “No one bothered to tell us,” he said. “If we had used the quality gates technique, we would have been prepared, and all that heartache could’ve been avoided.”</p> <p>Marc Dutton, an executive in portfolio management for a large pharmaceutical client, became similarly frustrated at how many project managers simply fail to transition projects properly between these project phases:</p> <ul><li>Design to development</li> <li>Development to deployment</li> <li>Deployment to operations</li> </ul><p>At the end of the day, project management isn’t always about delivering a project as quickly as you can. Often, it’s about ensuring that the project has been well thought out technically and can be supported after it is deployed.</p> <h2><strong>Understanding quality gates</strong></h2> <p>Quality gates are basically acceptance criteria reviews that can be used throughout any project. Sure, managers of smaller, agile projects might say that this involves too much paperwork, but the nice thing about quality gates is that the strategy is fully customizable. It can be seen as a set of predefined quality criteria that a software development project must meet in order to proceed from one stage of its lifecycle to the next. (<b>Figure A</b> shows a typical schema of quality gates.)</p> <p style="text-align:center"><img alt="Understanding quality gates" data-entity-type="file" data-entity-uuid="bf7bf3a6-d6d3-434b-b3d2-2cba2023d162" src="/sites/default/files/inline-images/quality_gate_figure1.gif" /></p> <p>Let’s illustrate this process using the following example: You’re appointed as project manager for a large CRM project during the development phase. Your design team e-mails the MS Visio diagrams of the architecture to the development team. The developers proceed to configure and customize the CRM application as per the design team spec. Later, you determine from the infrastructure team that the dev environment and infrastructure aren’t yet in place (e.g., there’s no database support, and IP addresses and DASD still need to be assigned). This oversight impacts the timeline. If you had utilized the quality gates process, you would have detected at the “design phase” gate that the project plan didn’t:</p> <ul><li>Detail the development environment</li> <li>Address networking</li> <li>Determine external storage or disc to be assigned</li> </ul><p>You can avoid such problems if you’re familiar with the technology and do it on a day-to-day basis. But, in reality, many project managers move from one type of project to the next, and it is likely they will forget something. So, project managers tend to build elaborate project schedules that encompass everything and ignore the key gate reviews or checklists that make or break a project.</p> <p>Here’s how quality gates work: You cannot proceed to the next gate until the previous gate has been completed. This will typically involve a checklist of deliverables, with some indication of the state of completion for each item. This checklist must be reviewed by the IT project manager and a senior executive or sponsor who is involved with the project. Quality gates therefore mean:</p> <ul><li>Formal checklists are used throughout the life of a project.</li> <li>Formal sign-off and acceptance occurs at each gate.</li> <li>Assessment of the quality and integrity of the product takes place.</li> <li>Information is assured to be communicated to the correct stakeholders (i.e., deployment hands off to operations, etc.).</li> </ul><p>Quality gates can be highly effective on any project. There are distinct advantages that make quality gates so attractive. Those advantages include:</p> <ul><li>Minimizing project risk through phase-by-phase checklists</li> <li>Enabling project managers to continuously communicate the process and build quality directly into the project</li> <li>Reducing development cycle time—getting it done right the first time</li> <li>Increasing focus on a well-designed product</li> </ul><h2><strong>Unlocking the gates</strong></h2> <p>So, where do we begin implementing quality gates on a project? The most important thing to understand is that the quality gates concept is best suited for enterprises that have the desire to instill a quality approach to the way they manage projects. Sure, this article doesn’t address every single aspect and technique of quality management, but it ensures that you address many problems upstream instead of downstream. Companies such as AT&amp;T, Lucent Technologies, and many others have successfully implemented quality gates. It’s a process that needs to be driven from the top down for all IT projects. This isn’t something done overnight, either. The reason is that quality gates need to be integrated with both the development and deployment processes of your IT project. If you would like to implement this concept from scratch within your organization and currently have multiple projects already under way, the best recommendation is to complete those projects and establish a policy that all new projects coming in after a certain date will use quality gates.</p> <p>For each phase of the project—depending upon your organization—you need to develop a series of checklists, which is used during a formal review period (for example, the review format could be an hour meeting or a workshop). These reviews prompt the project team to evaluate technical progress, specs, and project milestones. These formal quality gate reviews can also be applied to measure project cost and schedule performance, and to provide checkpoints to enable the baselining of key project information. The quality gate reviews play a significant part of any project development cycle.</p> <p>For example, if you are managing a software project and the development phase has just been completed, the quality gate concept will kick in by means of a formal meeting, which is held with individual members of the project. At this stage, the examination of the project would typically encompass the following:</p> <ul><li><b>Code review:</b> The senior designer (normally the tech leader) will concentrate on acceptable coding techniques and adherence to IT standards. The software design will be verified against the coding to identify any coding errors. Upon successful completion of the code review, the reviewing party will indicate required changes and corrections.</li> <li><b>Ops review:</b> The project manager will work with the support or operational staff to review all support tasks needed to support the dev environment. For instance, the ops review will ensure that the necessary backup and restore procedures are in place, discs are available, escalation procedures have been created, etc.</li> <li><b>Sponsor review:</b> The project manager will review the overall project performance with the sponsor. This review will determine the status of project costs and schedule and whether the scope is still accurate.</li> <li><b>Test review:</b> The test lead and representatives from QA will attend the test review to see if all builds were tested correctly and make sure that all relevant questions have been posed to the development team.</li> </ul><p>Once these meetings have been held and all the questions answered and accounted for, the quality gate review team reports to the stakeholders that the project has signed off on all relevant items for that particular phase and that the project may proceed to the next phase. (For example, without gate reviews, one of the biggest areas we tend to neglect is turning over the system for support.) <b>Figure B</b> highlights sample checklist questions that need review once a system is handed off to production.</p> <p style="text-align:center"><img alt="Quality Gates Checklist" data-entity-type="file" data-entity-uuid="99b6ba04-15bc-4b1b-b6b6-016ff51b2ceb" src="/sites/default/files/inline-images/quality_gate_figure2.gif" /></p> <p>Ignore quality gates at your peril. It’s an important process for your project when transitioning from one environment to the next. Don’t torpedo your IT project by thinking that this is yet another series of useless documents to be completed. More and more IT organizations are now starting to compile and use such checklists on their projects.</p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/taxonomy/term/47" hreflang="en">IT Consulting</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/553" hreflang="en">Total Quality Management</a></li> <li><a href="/index.php/taxonomy/term/560" hreflang="en">Software Quality</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> <div class="field field--name-field-via field--type-link field--label-inline clearfix"> <div class="field__label">Via</div> <div class="field__item"><a href="https://www.techrepublic.com/article/how-to-use-quality-gates-to-guide-it-projects/" target="_blank">Tech Republic</a></div> </div> Tue, 19 Dec 2023 17:51:00 +0000 admin 1740 at https://tigosoftware.com https://tigosoftware.com/index.php/how-use-quality-gates-guide-it-projects#comments Benchmarking and Software Benchmarks https://tigosoftware.com/index.php/benchmarking-and-software-benchmarks <span class="field field--name-title field--type-string field--label-hidden">Benchmarking and Software Benchmarks</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 12/12/2023 - 23:40</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Donald J. Reifer is recognized as one of the leading figures in the fields of software engineering and management with more 40+ years of progressive management experience in both industry and government.<br /><br /> Software development processes have evolved over the past decades as people learn what works and what doesn't work. Although we don't have centuries of experience like other fields such as building houses, we have learned a great deal. There has been some pushback against the long formal software development processes (waterfall) that have been replaced with Agile software development. But some formal processes are still needed to match the agility. Included in these processes is the important concept of software benchmarking.</p> <h2><strong>What is software benchmarking?</strong></h2> <p>Software benchmarking is the collection of and comparison of data from multiple sources. This process doesn't necessarily have to do with software, and recognizing that helps you build a formal plan for software benchmarking. On the other hand, you might be benchmarking the software development process itself to determine if teams are working as efficiently as possible.<br /><br /> Consider the situation of comparing insurance rates. You might make a few phone calls, visit a few websites, and gather up the data but before you can compare the data, you need to normalize it to make sure you're not comparing apples to oranges. Are you comparing monthly rates to bi-annual rates? Are the rates for the same services? Similarly, with benchmarking software development processes, you have to make sure your data is normalized. To get the data normalized, you need to use a formal process, just as you do with software quality in general. In a sense, designing a software benchmark is similar to architecting software itself.</p> <h2><strong>Software benchmarking process</strong></h2> <ul><li><strong>Needs assessment: </strong>What are you trying to accomplish? Create the questions you need answered, and determine if those questions cover everything, you need to know. Are you factoring in cost? Often software developers think of software benchmarking strictly in terms of time, i.e. which program runs faster. But benchmarking is much broader and includes costs, quality, and so on.</li> <li><strong>Industry/Domain Classification: </strong>You need to determine what type of benchmarking you need based on the industry and domain. From there you can determine whether you can use standard benchmarking tests developed by experts, or if you need to develop your own, specific benchmarking tests.</li> <li><strong>Data Collection: </strong>This step is, of course, vital, yet it's easy to take it too lightly. In the previous steps, you determined what data you need, in this step, we cover not just the data collection itself, but how you're going to collect it. Some data might be collected automatically by software; other data might be collected through surveys from users. The data collection process might take only minutes; or, it might take months, depending on your needs. In either case, you'll want to survey the data you're collecting to make sure it's consistent and is providing the information you need.</li> <li><strong>Data Normalization and Purification:</strong> As the data comes in, you need to make sure it's normalized. A trivial example is that if some data is in US dollars and other data is in Euros, you need to normalize it to a single currency. You also need to remove data that might be inaccurate or could improperly skew the results. This, of course, will likely involve standard statistical models and methods.</li> <li><strong>Data Comparison and Benchmark Preparation:</strong> After the data is collected, you have your benchmarks. More analysis takes place here, however. If the data seems incorrect, then perhaps it is. Do some more digging and find out why, and if the tests need to be performed again.</li> <li><strong>Benchmark Reporting:</strong> The process of reporting the data is also not trivial. The results need to be presented in an accurate but usable fashion target at a specific audience. Business managers would need different information than technical managers.</li> <li><strong>Improvement Recommendations:</strong> As with any process, your benchmarking process will likely have room for improvement. Are you gathering the necessary data? Are you packaging the results into reports that are useful?</li> </ul><p style="text-align:right"><em>Via: </em></p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/taxonomy/term/47" hreflang="en">IT Consulting</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/675" hreflang="en">Software Best Practices</a></li> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/553" hreflang="en">Total Quality Management</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> <div class="field field--name-field-via field--type-link field--label-inline clearfix"> <div class="field__label">Via</div> <div class="field__item"><a href="https://www.castsoftware.com" target="_blank">CAST Software</a></div> </div> Tue, 12 Dec 2023 16:40:35 +0000 admin 1731 at https://tigosoftware.com https://tigosoftware.com/index.php/benchmarking-and-software-benchmarks#comments Ishikawa (fishbone) diagram in software project management https://tigosoftware.com/index.php/ishikawa-fishbone-diagram-software-project-management <span class="field field--name-title field--type-string field--label-hidden">Ishikawa (fishbone) diagram in software project management</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 12/08/2022 - 11:47</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>The <strong>Ishikawa diagram</strong>, also known as a <strong>fishbone diagram</strong>, is a useful tool in <strong>project management</strong>, particularly when it comes to <strong>quality control</strong>.</p> <p>This <em>diagram</em> was created by Professor Kaoru <em>Ishikawa</em> to make brainstorming sessions more effective at conducting a thorough root cause <em>analysis</em>.</p> <p><img alt="kaoru ishikawa" data-entity-type="file" data-entity-uuid="1ab2ed79-a4d8-486c-a772-dbfb4e7f5378" src="/sites/default/files/inline-images/kaoru-ishikawa.png" /></p> <p>Conducting a proper <strong>risk analysis</strong>, anticipating and solving problems are essential management skills to lead successful projects. These aspects should be taken into account as soon as the <strong>project planning phase</strong> begins. Luckily, presenting the <strong>root causes</strong> of a challenge and the ways to overcome it is the very purpose of a fishbone diagram.</p> <p>Learn more about the Ishikawa diagram, how it’s used in project management and how to build your own!</p> <h2 id="id1"><strong>An overview of the Ishikawa diagram</strong></h2> <p id="id3"><strong>What are fishbone diagrams used for?</strong></p> <p>This diagram was created by <strong>Professor Kaoru Ishikawa</strong> to make brainstorming sessions more effective at conducting a thorough <strong>root cause analysis</strong>. After the project team has discussed a problem, it is used to <strong>sort all the ideas into categories</strong>.</p> <p>Using this visualization allows your team to:</p> <ul><li><strong>Take a step back</strong> and think about a phenomenon or challenge,</li> <li><strong>Communicate</strong> and share ideas more effectively,</li> <li><strong>Make decisions</strong> more quickly.</li> </ul><p><img alt="ishikawa diagram" data-entity-type="file" data-entity-uuid="4c5aa855-f8d5-45cf-aabd-aea52cf42fd1" src="/sites/default/files/inline-images/kaoru-ishikawa-illustration.png" /></p> <h2><strong>Kaoru Ishikawa 11 Points</strong></h2> <p>Mr. Ishikawa's philosophy of total quality management can be summarized by his 11 points:</p> <ol><li>Quality begins and ends with education.</li> <li>The first step in quality is to know the requirements of the customer.</li> <li>The ideal state of quality control is when quality inspection is no longer necessary.</li> <li>Remove the root cause, not symptoms.</li> <li>Quality control is the responsibility of all workers and all divisions.</li> <li>Do not confuse means with objectives.</li> <li>Put quality first and set your sights on long-term objectives.</li> <li>Marketing is the entrance and exit of quality.</li> <li>Top management must not show anger when facts are presented to subordinates.</li> <li>Ninety-five percent of the problem in a company can be solved by the seven tools of quality.</li> <li>Data without dispersion information are false data.</li> </ol><p><strong>Ishikawa example:</strong></p> <p><img alt="Ishikawa example" data-entity-type="file" data-entity-uuid="c54fdd08-a4fb-47df-8796-01009149f640" src="/sites/default/files/inline-images/website_crash_ishikawa_diagram.png" /></p> <h2 id="id7"><strong>How does a Ishikawa diagram work?</strong></h2> <p>What makes this tool a favorite of project managers and quality professionals is its ease of use. It is simply <strong>read from left to right</strong> and can be used to collaborate with others on problem-solving.</p> <p>This visual representation resembles fishbones and helps analyze the causes and consequences of a given problem. Therefore, some may call it a <strong>cause and effect diagram</strong>:</p> <ul><li>The <strong>fishbones</strong> are oriented on the left-hand side and represent the <strong>causes</strong>,</li> <li>The <strong>head of the fish</strong> represents the <strong>final effect</strong> of the problem.</li> </ul><figure role="group" class="caption caption-img"><img alt="Ishikawa diagram to analyze requirement failures" data-entity-type="file" data-entity-uuid="c40e9f94-3cd6-40b0-aa9b-9c2bcdb38edf" src="/sites/default/files/inline-images/Ishikawa_diagram_requirement_failures.png" /><figcaption>Ishikawa diagram to analyze requirement failures</figcaption></figure><h2><strong>When should the Ishikawa diagram be used?</strong></h2> <p>An Ishikawa diagram is a diagram that shows the causes of an event and is often used in <b>manufacturing and product development</b> to outline the different steps in a process, demonstrate where quality control issues might arise, and determine which resources are required at specific times.</p> <h2 id="easier-root-cause-analysis-for-remote-teams-7"><strong>Easier Root Cause Analysis for Remote Teams</strong></h2> <p>One of the main challenges remote teams face when conducting root cause analysis is coordinating and communicating effectively. It can be difficult, primarily if team members are spread across different time zones.</p> <p>Another challenge is ensuring that tasks or follow-ups are assigned to the correct person or team. In a remote setup, it’s easy to forget who’s responsible for what and to track tasks that aren’t assigned right away. However, there are tools like SafetyCulture that can help with this issue.</p> <p>Via <a href="https://en.tigosolutions.com/post/4522/ishikawa-fishbone-diagram-in-software-project-management">TIGO</a></p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/taxonomy/term/5" hreflang="en">Methodology</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/603" hreflang="en">Japan</a></li> <li><a href="/index.php/taxonomy/term/656" hreflang="en">Japanese Methodology</a></li> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/657" hreflang="en">Diagram</a></li> <li><a href="/index.php/taxonomy/term/658" hreflang="en">TQM</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Thu, 08 Dec 2022 04:47:13 +0000 admin 1528 at https://tigosoftware.com https://tigosoftware.com/index.php/ishikawa-fishbone-diagram-software-project-management#comments Is gold plating good or bad in project management? https://tigosoftware.com/index.php/gold-plating-good-or-bad-project-management <span class="field field--name-title field--type-string field--label-hidden">Is gold plating good or bad in project management?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 10/19/2022 - 22:18</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>For example: after having met the requirements, the project manager or the developer works on further enhancing the product, thinking the customer will be delighted to see additional or more polished features, rather than what was asked for or expected. The customer might be disappointed in the results, and the extra effort by the developer might be futile.</p> <p>'Gold plating' means the addition of any feature not considered in the original scope plan (PMBOK) or product description (PRINCE2) at any point of the project. This is because it introduces a new source of risks to the original planning such as additional testing, documentation, costs, or timelines. However, avoiding gold plating does not prevent new features from being added to the project; they can be added at any time as long as they follow the official change procedure and the impact of the change in all the areas of the project is taken into consideration.</p> <p><img alt="Example gold plating" data-entity-type="file" data-entity-uuid="834577a7-cf8b-420a-8308-615f9f7a8270" src="/sites/default/files/inline-images/Example_gold_plating.png" /></p> <h2><strong>Effects of Gold Plating</strong></h2> <section id="content-collapsible-block-1"><p>Even the best outcomes of gold plating can ultimately lead to negative realities for a project manager or for the project as a whole. In a best-case scenario, the customer accepts the project deliverable with the out-of-scope work, and customer expectations on future projects may forever be elevated to unrealistic levels. In a worst-case scenario, the customer might reject the project deliverable entirely and nullify the contract.</p> <h2><strong>What’s the difference between Gold Plating and Scope Creep?</strong></h2> <p>The simple difference between the two comes from who requested it. If the client requested additional functionality but it was not paid for, it comes under “scope creep”, whilst if the person takes it upon themselves to add in additional functionality without checking first, this would be gold plating?</p> <h2><strong>Why is gold plating a problem?</strong></h2> <p>If the client or end user is getting a better product, why should gold plating matter? The main factor behind this is that the client didn’t ask for these improvements or they may perhaps not even want them/not want to move in that direction.</p> <p><img alt="quality gold plating" data-entity-type="file" data-entity-uuid="23ab77ac-84c4-4234-ae0e-811bf32e3aab" src="/sites/default/files/inline-images/quality_gold_plating.png" /></p> <p><strong>How to avoid gold plating in your projects?</strong></p> <p>At <a href="https://www.tigosolutions.com/" target="_top">TIGO</a>, our PMO office would always recommend ensuring that everyone understands the tasks that they are due to deliver, what needs to happen, what is needing to be delivered and then understands the boundaries of the tasks that they are performing. Project Managers explain all of this during the backlog /planning meetings so that everyone knows what is expected. During on-the-job training, our junior PM is guided through showing the consequences of gold plating (which can be rework/ hours not being approved) and am very strict on not only scope control but also monitoring the deliverables against the scope definition.</p> <h2><strong>Conclusion</strong></h2> <p>Gold plating is considered a <b>bad project management practice</b> for different project management best practices and methodologies such as Project Management Body of Knowledge (PMBOK) and PRINCE2.</p> <p>Being a Project Manager is not always easy, and yes, you may be seen as the strict holder of the scope definition bit both gold plating and scope creep are not good for you, your project or your organization.</p> <p><em>Via <a href="https://en.tigosolutions.com/post/4328/is-gold-plating-good-or-bad-in-project-management">TIGO Solutions</a></em></p> </section></div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/category/practial-pmp" hreflang="en">PMP - Project Management Best Practices</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/93" hreflang="en">PMP</a></li> <li><a href="/index.php/taxonomy/term/98" hreflang="en">Project Management</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Wed, 19 Oct 2022 15:18:38 +0000 admin 1507 at https://tigosoftware.com https://tigosoftware.com/index.php/gold-plating-good-or-bad-project-management#comments What is a Software Post-Mortem? https://tigosoftware.com/index.php/what-software-post-mortem <span class="field field--name-title field--type-string field--label-hidden">What is a Software Post-Mortem?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 09/21/2022 - 21:36</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>There are software bugs that can end up crippling companies if they aren't dealt with rapidly.</p> <p><a href="https://en.wikipedia.org/wiki/Knight_Capital_Group#2012_stock_trading_disruption">The Knight Capitol Group</a> was an American financial services company. A technician forgot to copy some new code to a computer server, and this software release caused to them to lose $440 million. This happened because one of the computer servers started to rapidly purchase stock (it completed over 4 million purchases and sales) over a 45 minute period.</p> <p>Not every software bug is as dramatic. But there are moments as a software developer where you have to resolve bugs as fast as you can.</p> <p>I recently learned about companies releasing publicly accessible post-mortems on their emergency bugs, and dove head first into them.</p> <h1 id="what-is-a-post-mortem">What is a post-mortem?</h1> <p>A post-mortem is where a team reflects on what went wrong with something they did, and documents it and/or amends their process to stop it happening again.</p> <p>Did a software release go bad? Let's break down a timeline of where things started to go wrong, and let's reflect how we could have caught it earlier.</p> <p>Here is the most important point: Post-mortems <strong>ARE NOT</strong> to assign blame. If we look at The Knight Capitol Group example, there should have been <strong>no way</strong> for one person to forget something and cripple the company.</p> <p>Where was the quality assurance process where someone checked the technician's work? Did they test this before going to production? Were there no automatic tests that ran before the deploy to production succeeded?</p> <p>You should be finding <strong>process failures </strong>not<strong> personal failures</strong>.</p> <h1 id="why-should-we-do-a-post-mortem">Why should we do a post-mortem?</h1> <p>So we can stop making the same mistake over and over!</p> <p>We provide more robust, bug free, stable software by learning how we failed in the past.</p> <p>Most importantly, we can catch bugs we don't even know about. And if we fix the processes that were prone to cause issues early, then those mistakes won't even happen.</p> <p>We want to learn every single lesson we can from the outages and emergencies to ensure they never happen again. Nothing is more valuable than experience.</p> <p><img alt="Postmorterm Template" data-entity-type="file" data-entity-uuid="0eb45670-6c54-4eab-a5c6-2b143e73eed7" src="/sites/default/files/inline-images/og_template_post_mortem.png" /></p> <h1 id="let-s-look-at-some-post-mortems-together">Let's look at some post-mortems together</h1> <p>I wanted a little bit of variety of companies and languages, so let's review some from Google, Microsoft, and Flowdock.</p> <p>A <a href="https://gist.github.com/adhorn/e76339b2050d468d318336c8bf6d7d6d#file-postmortem">common post-mortem template </a>will contain some key details like:</p> <ul><li>when it happened</li> <li>who owns the post-mortem (and will do the analysis)</li> <li>some lessons learned</li> <li>a rough timeline of the emergency bug and some actions from the post-mortem</li> </ul><p>So let's dive in.</p> <p><img alt="Postmorterm Template" data-entity-type="file" data-entity-uuid="aeff93e9-fa25-4d8b-8bee-f2039648054c" src="/sites/default/files/inline-images/lightweight-post-mortem-template-1024x486.png" /></p> <h2 id="google">Google</h2> <p>If you did a Google search between 6:30 a.m. PST and 7:25 a.m. PST on January 31st, 2009, you would have seen the message "This site may harm your computer" accompanying every single result.</p> <h3 id="what-happened">What happened?</h3> <p>Google flags search results with this message if the site is known to install malicious software. This is a warning to protect Google users, and is collated with Google's automatic algorithms, manual data entry, and a non-profit called <a href="https://www.stopbadware.org/">StopBadWare.com</a>.</p> <p>One of the developers had updated the list and accidentally entered in a <code>/</code>, which resolved to every single site!</p> <p>We know this one was human error, and because of this, Google implemented some tests and checks whenever that file changes. (And I haven't seen it happen again since 2009!)</p> <p>The full post-mortem can be found <a href="https://googleblog.blogspot.com/2009/01/this-site-may-harm-your-computer-on.html">here</a>.</p> <h2 id="microsoft">Microsoft</h2> <p>Microsoft had a 12 hour outage on February 29th, 2012.</p> <h3 id="what-happened-1">What happened?</h3> <p>Microsoft have <strong>Fabric Controllers </strong>which are computers that control around 1,000 servers. It manages their life cycles, monitors their health, and restarts servers when they go down.</p> <p>Isolating all these servers into 1,000 server clusters helps them keep modularity and keeps failures localized to 1 <strong>Fabric Controller </strong>(rather than all of their servers going down).</p> <p>Each server in the cluster has something called a <strong>Host Agent</strong>, and this is used by the <strong>Fabric Controller </strong>to do the work it deems necessary. One of the things it handles is deploying SSL certificates to keep the servers using HTTPS, which is a way of encrypting data.</p> <p>To know when these SSL certificates need to be re-generated, they take the next day at midnight and add one year. So if the <strong>Fabric Controller </strong>is creating a new certificate for a server on March 19, 1990 it will expire March 20, 1991.</p> <p>Do you see where this is going? These servers attempted to generate a one year certificate for a server on a leap year. It was trying to set the certificates to expire on <strong>February 30th, 2020</strong>.</p> <p>When the certificates fail to generate for the server, it terminates. And if it terminates three times in a row, it's considered to be a hardware failure, and then tells the <strong>Fabric Controller </strong>it is faulty.</p> <p>The <strong>Fabric Controller</strong>,<strong> </strong>in an attempt to "heal" the failed server, will hand over the work to another server. One by one, all the servers will error out while trying to generate these certificates. And this eventually shuts down the <strong>Fabric Controller </strong>(with it's 1000 servers!).</p> <p>This disaster resulted from faulty code. There are better ways to handle date problems like leap years and time-zone differences.</p> <p>The full post-mortem can be found <a href="https://azure.microsoft.com/en-us/blog/summary-of-windows-azure-service-disruption-on-feb-29th-2012/">here</a>.</p> <h2 id="google-take-two">Google, take two</h2> <p>From Thursday August 13, 2015 to Monday August 17, 2015, there were some errors on Google Cloud services, along with permanent data loss on 0.000001% of some hard drives.</p> <h3 id="what-happened-2">What happened?</h3> <p>There were four successive lightning strikes on the local electrical grid that sent power to Google's computers powering Google Cloud services.</p> <p>There were systems that began to immediately replace the power that was taken out by using a battery backup. Alongside manual intervention from Google employees, the service was restored with minimal permanent loss.</p> <p>Google has an ongoing program of upgrading their infrastructure so that they are less susceptible to issues like this. After this, they ran analysis covering electrical distribution, software controlling the Cloud services, and the Cloud hardware being used.</p> <p>The full post-mortem can be found <a href="https://status.cloud.google.com/incident/compute/15056#5719570367119360">here</a>.</p> <h2 id="flowdock">Flowdock</h2> <p>Flowdock instant messaging became unavailable for roughly 32 hours between April 21st and 22nd 2020. Weird behavior was also spotted, like some users not being able to log in. Also, some people found users from another organization in their organization (like Amazon employees cross-contaminated Microsoft, for example).</p> <h3 id="what-happened-3">What happened?</h3> <p>Coronavirus caused a sudden spike of people working from home, which led to a higher than usual usage of Flowdock. This caused very high CPU usage and caused the database to hang whilst trying to deal with the load. There was also some permanent data loss.</p> <p>The full post-mortem can be found <a href="https://flowdock-resources.s3.amazonaws.com/legal/Flowdock-RCA-For-Incident-On-2020-04-21.pdf">here</a>.</p> <h1 id="things-to-keep-in-mind-when-doing-a-post-mortem">Things to keep in mind when doing a post-mortem</h1> <p>I read a fantastic article by Adrian Hornsby, a Principle Developer Advocate from Amazon. In it, <a href="https://medium.com/the-cloud-architect/incident-postmortem-template-7b0e0a04f7a8">he discussed</a> some things to avoid, and things to emphasize in order to write the best post-mortem if you are ever the owner of one.</p> <p>Here are some things he suggested:</p> <ul><li>Don't do post-mortems to blame people, teams, or organisations. Instead, focus on the <strong>process(es) </strong>that<strong> </strong>failed to allow these mistakes to cause mischief. Never do a post-mortem to punish someone. There's no value in that, and you won't find improvements.</li> <li>Don't assume events that happened were more predictable than they were. Only because they've happened are they now obvious. (<strong><a href="https://en.wikipedia.org/wiki/Hindsight_bias">Hindsight <strong>bias</strong></a></strong>)</li> <li>Make sure you go deep enough. Don't just say we saw an error in the front end code. Really dig deep into the specific error and the conditions that led to it. How can the process catch this next time? A better QA process? More peer reviews? Better error logging?</li> <li>If your resolution steps to stop it from happening are really vague like "improve documentation" or "train better", you don't understand it clearly enough to be more specific. Make these resolution steps actionable and concrete.</li> <li>Try and keep your resolution steps to things that can be done in the <strong>short term</strong>.<strong> </strong>We are trying to stop these from happening again as soon as possible. Post-mortems can spawn longer term process changes, but that's not what you're focusing on at the moment. Don't try to re-architecture something fundamental or try to change the language some huge codebase is written in.</li> <li>Let your post-mortem challenge what your team currently believes to be true. Don't assume because everyone believes something to be true that it is (<a href="https://en.wikipedia.org/wiki/Argumentum_ad_populum"><strong>Com</strong></a><strong><a href="https://en.wikipedia.org/wiki/Argumentum_ad_populum"><strong>mon belief fallacy</strong></a>)</strong></li> </ul><h2 id="how-to-learn-more">How to learn more</h2> <p>If you enjoyed this, you can find more public post-mortems <a href="https://github.com/danluu/post-mortems">here</a>. These include post-mortems from the companies we have already discussed along with examples from Amazon, GitHub, Linux, Heroku, Spotify, Valve, Cloudfare, Etsy, GoCardless, Travis CI and more.</p> <h2 id="conclusion">Conclusion</h2> <p>I hope this has explained what a post-mortem is in the software development lifecycle, how to effectively write one, and common mistakes that happen when you write your first few.</p> <section><em><a data-test-label="profile-link" href="https://www.freecodecamp.org/news/author/kealan/">Kealan Parr</a><br /> www.freecodecamp.org</em><br />  </section></div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/taxonomy/term/47" hreflang="en">IT Consulting</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/105" hreflang="en">Testing</a></li> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/438" hreflang="en">Business Analysis</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Wed, 21 Sep 2022 14:36:31 +0000 admin 1434 at https://tigosoftware.com https://tigosoftware.com/index.php/what-software-post-mortem#comments TQM vs. Kaizen vs. Six Sigma: what’s the difference? https://tigosoftware.com/index.php/tqm-vs-kaizen-vs-six-sigma-whats-difference <span class="field field--name-title field--type-string field--label-hidden">TQM vs. Kaizen vs. Six Sigma: what’s the difference?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 09/09/2022 - 10:52</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>TQM, Kaizen, and Six Sigma are all unique management approaches that have a shared focus on processes rather than projects and value continuous improvement— let’s examine where they differ.</p> <h3><strong>Six Sigma</strong></h3> <p>Six Sigma focuses almost exclusively on the number of defects per million and reducing them. The percentile success rate is the north star. It lays out a concrete framework for finding production problems.</p> <p><img alt="Six Sigma" data-entity-type="file" data-entity-uuid="7504478a-f517-4776-b6ff-b9aa482859dc" src="/sites/default/files/inline-images/2022-09-09_11-15-18.jpg" /></p> <p>First, you must recognize that the issue exists. Your managers may have an idea that production is too slow. Next, you prove that the problem exists using measurement and data. Then you figure out the solution by running different numbers and using that to find a practical approach.</p> <h3><strong>Kaizen</strong></h3> <p>The Kaizen approach has more in common with TQM as it also aims to improve the work environment as a whole, rather than honing in on defects. Neither Kaizen nor TQM limits itself to fixing mistakes in the production line. The difference is that Kaizen focuses on bottom-up culture-based changes.</p> <h3>TQM</h3> <p>TQM is almost more of a cultural initiative than a management framework with concrete steps. You can see that in the high-level principles like fact-based decision-making where you involve every employee. Where it differs from Kaizen is the focus on high-level management involvement for decisions like standardizing frameworks and tools throughout the company.</p> <p>Via monday.com</p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/category/quan-tri-chat-luong-toan-dien-tqm" hreflang="en">Total Quality Management</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/530" hreflang="en">Quality</a></li> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/519" hreflang="en">Quality Control</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 09 Sep 2022 03:52:19 +0000 admin 1371 at https://tigosoftware.com https://tigosoftware.com/index.php/tqm-vs-kaizen-vs-six-sigma-whats-difference#comments Difference between Quality and Grade https://tigosoftware.com/index.php/difference-between-quality-and-grade <span class="field field--name-title field--type-string field--label-hidden">Difference between Quality and Grade</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 08/31/2022 - 15:05</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>The terms "quality" and "grade" are often used interchangeably. In this post, let's understand the difference between these two terms</p> <h2 id="t-1661933063841"><strong>Difference between Quality and Grade:</strong></h2> <p>Quality is an attribute that describes how well something works. It is often measured by its performance against specifications. In contrast, the grade is a measure of the relative value of different products or services.</p> <h2 id="t-1661933063842"><strong>What is Quality?</strong></h2> <p>Quality is the degree to which a product or service meets customer expectations at any given time. A quality system focuses on meeting those expectations to maintain or improve customer satisfaction.</p> <p>The formal definition of quality as per ISO 9000 2015 is:</p> <p><em>"Quality:  degree to which a set of inherent characteristics of an object fulfils requirements".</em></p> <h2 id="t-1661933063843"><strong>What is a Grade?</strong></h2> <p>Think of grade as a category of the product. Different grades of the products have the same functional use but different technical characteristics.</p> <p>Here is the formal definition of grade according to <a href="https://www.qualitygurus.com/link/iso90012015/" target="_blank" title="iso90012015">ISO 9001</a> 2015:</p> <p><em>Grade: "category or rank given to different requirements for an object having the same functional use". Example: Class of airline ticket and category of hotel in a hotel brochure.</em></p> <h2 id="t-1661933063844"><strong>Examples</strong></h2> <p>For example, a $1 Raymond pen and $1000 Montblanc pen are both used to write. As long as both are serving this purpose satisfactorily, both have good quality.</p> <p>However, the Montblanc pen is a separate category of luxury products. Hence it is a different grade or product.</p> <p>So next time, when you have to compare the quality of the $1 Raymond pen and $1000 Montblanc pen, don't say that the Montblanc pen is of better quality. It is just a different grade or category. You can not compare apples and oranges.</p> <figure role="group" class="caption caption-img"><img alt="Quality vs Grade" data-entity-type="file" data-entity-uuid="6f2291d6-e8f6-4176-9915-1fc0832d3284" src="/sites/default/files/inline-images/2022-08-31_15-07-13.png" /><figcaption>Bad Quality, Good Quality and Grade</figcaption></figure><p>Also, high grade does not imply high quality.</p> <p><em>Via <a href="https://en.tigosolutions.com/post/4382/difference-between-quality-and-grade">TIGO Solutions</a></em></p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/category/quan-tri-chat-luong-toan-dien-tqm" hreflang="en">Total Quality Management</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> <li><a href="/index.php/taxonomy/term/530" hreflang="en">Quality</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Wed, 31 Aug 2022 08:05:47 +0000 admin 1339 at https://tigosoftware.com https://tigosoftware.com/index.php/difference-between-quality-and-grade#comments Why does Test Scenario save time and money than Test Case? https://tigosoftware.com/index.php/why-does-test-scenario-save-time-and-money-test-case <span class="field field--name-title field--type-string field--label-hidden">Why does Test Scenario save time and money than Test Case?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 04/21/2022 - 23:50</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Software testing is one of the fundamental components of a software development project which help determine whether a software program or application meets the business requirements or not.</p> <p>It is sort of an investigation performed on the system to identify any loopholes, gaps or indiscrepancies in the program. There are many approaches to testing.</p> <p>Test cases and test scenarios are the two important aspects of software testing used to determine requirements of a project and evaluate possible outcomes to test the functionality of the application. We discuss the two in brief and highlight the key points comparing the two in detail.</p> <p><img src="https://i.imgur.com/ioibm2O.png" /></p> <h2>What is a Test Case?</h2> <p>Test cases are one of the most important parts of a software development life cycle which is responsible for feasibility of the program. It’s a detailed document that consists of a set of variables and conditions to determine whether the program or application is compliant with the business requirements and it’s working as it was originally established to perform. A test case includes a detailed documentation consisting of everything from prerequisites, inputs, and preconditions to testing procedure, expected results, and post conditions. This is a set of conditions designed originally by the tester or the QA team and further reviewed by the analyst to check the feasibility of the project.</p> <p><img src="https://i.imgur.com/zPAABma.png" /></p> <h2>What is a Test Scenario?</h2> <p>Test scenario is a collective set of test cases, sort of scenarios which determine the positive and negative aspects of the project to evaluate possible outcomes in order to identify the potential flaws in the program. It is the next level of software testing that involves a number of steps incorporated to ease the work of test cases. It’s more like a test procedure with multiple test cases which help test the program for potential bugs and errors in order to make sure the end-to-end functionality of the program is working fine as expected. Unlike test cases, they are less descriptive intended to provide the specific idea of evaluating a test case rather than getting into the details.</p> <h2>Difference between Test Case and Test Scenario</h2> <h3>Definition of Test Case and Scenario</h3> <p>A test case is a document consisting of a set of variables and conditions under which the feasibility of a software application is to be pre-determined in order to verify its functionality. It helps testers to determine whether an application or a system is functioning as it was supposed to function as per client’s requirements. If test case is the “how”, then test scenario is the “what”. It is a sequence of many test cases that need to be executed one after another to check the functionality of the application.</p> <p><img src="https://i.imgur.com/2YRiYhH.png" /></p> <h3>Prerequisites for Test Case and Scenario</h3> <p>Prerequisite is the basic requirements of a project to run the test cases before moving forward with the software application. Test scenario comes at a later stage. Test cases are all about documentation which includes everything from preconditions, test case names, input conditions, and test data to expected results, test parameters, post conditions, and actual results. Test scenario is the next level which includes determining requirements, finding problems in the requirements or design, understanding business and functional requirements, and evaluating test results.</p> <h3>Process of Test Case and Scenario</h3> <p>A test case is a single executable test that begins with a few steps performed one at a time to test the desired output in order to verify if the system behaves as it is required to behave. Generally, it begins with the QA team writing the test cases to determine the feasibility of the design and then the team decides who should be doing the testing, on a case-by-case basis. A test scenario is nothing but a test procedure which is a set of test cases built by the tester on the basis of business requirements. Test scenarios are then reviewed by the business manager or the business analyst who has a thorough understanding of the business requirements.</p> <h3>Importance of Test Case and Scenario</h3> <p>A descriptive step-by-step set of instructions flowed by inputs or conditions and expected results is what a tester need to prepare comprehensive test plans and write test cases. It is required for an effective performance of the application and to make sure the system functions flawlessly without any indiscrepancy. It is one of the most important aspects of software testing used by the quality team, development team as well as the management. It is necessary when the development is happening onsite and testing is happening off-shore which would keep them in sync. Test scenarios replace test cases when time is of the essence and there is no time to build test cases.</p> <h3>Value of Test Case and Scenario</h3> <p>A full-proof test case has a significant impact on the testing phase and is almost as important as testing itself in order to avoid any uncertainties. It is beneficial for new testers as well as for your team and is also a good source of how a software application or its features will behave. This makes sure the objective is fulfilled and the system is fully compliant with the client’s requirements. Test scenarios in the modern age are an independent test or a series of tests that follow each other to make sure the business workflows are in sync with end users’ expectations.</p> <h3>Test Case vs. Test Scenario: Comparison Chart</h3> <p><img src="https://i.imgur.com/qtRbfDq.png" /></p> <p>Summary  Test Case vs Scenario</p> <p>In a nutshell, test cases are one of the important aspects of software testing which help build and evaluate test scenarios to make sure the software or application works flawlessly in the real world. In software testing, both terms are synonymous with each other and while one cannot coexist without the other, a test scenario has a significant relationship with a test case. However, in the modern agile era, test cases seem to be replaced by test scenarios to save time and money for both the development team and the business analyst or the end users. In short, test cases are a sub-set of test scenarios whereas the latter is functionality based and is all about work flow.</p> <p>Source: differencebetween</p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/category/it-outsourcing" hreflang="en">IT Outsourcing</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/105" hreflang="en">Testing</a></li> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Thu, 21 Apr 2022 16:50:55 +0000 admin 1160 at https://tigosoftware.com https://tigosoftware.com/index.php/why-does-test-scenario-save-time-and-money-test-case#comments The Kaizen Approach to Software Development https://tigosoftware.com/index.php/kaizen-approach-software-development <span class="field field--name-title field--type-string field--label-hidden">The Kaizen Approach to Software Development</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 12/03/2021 - 20:34</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>The technology industry works on a continuously evolving mechanism, with new advancements every day. While many product development companies are more focused on producing results, a few actually believe in the importance of creative practices in the organization.</p> <p>The Japanese word ‘kaizen’ means a business philosophy of continuous improvement is working practices. A healthier practice is for businesses to invest in the improvement of the process and people rather than the end product, which is bound to give better results.</p> <h3><strong>The Kaizen Model</strong></h3> <p>Companies are evolving their processes of making products, preferring to use agile development to save time. Also, with agile, the increasingly popular approach is of the Kaizen model which companies are adopting. The model involves software development companies to encourage employees to develop new skills and focus and learning and improvement rather than just delivering.</p> <p>The approach first originated in Japan in which everyone must continually evaluate his or her work at each step helping them with a chance to look back and understand where they could have done better. The Kaizen approach proves to be more collaborative giving every individual a way to become smarter employees.</p> <h3><strong>Advantages of the Kaizen Model</strong></h3> <p><strong>1. Reduction in Costs:</strong></p> <p>As employees review their work at every step, they detect errors and shortcomings at the right time. Traditionally reviews were done at the almost end of the cycle, meaning in case of errors the software development services team needs to work from scratch all over again.</p> <p><strong>2. Smarter Employees:</strong></p> <p>Regular evaluation and feedback encourages the team members to interact and share knowledge with one another resulting in a smarter workforce which is open to innovation.</p> <p><strong>3. Enhanced Quality and Efficiency:</strong></p> <p>Reviews from peers and seniors tend to establish a healthy competition among employees which, with encouragement from management, boosts up performance quality and efficiency. The approach focuses on employee and their skills which converts into better delivery of services and products.</p> <h3><strong>Implementation of the Kaizen Model</strong></h3> <p>The model can be integrated with software development in many ways. A few are mentioned below:</p> <p><strong>1. Daily and Special Meetings</strong></p> <p>Set up a schedule for team meetings to discuss opportunities and improvement. Every employee must be inspired to come up with their share of problems and solutions which the team can get to know. This knowledge sharing platform can address many difficult issues within the company and help create better strategies in the future.</p> <p><strong>2. Individual and Team</strong></p> <p>Another sub-concept comes into play here, known as Teian. According to this, each individual must come forward with a proposal of improvement which can be applied after deliberate discussions within the team. This includes the improvements one should make to their personal self. The ultimate goal is continuous improvement which must be achieved.</p> <p><strong>3. Process of work</strong></p> <p>Kaizen cannot be implemented on the whole process but on components of it or the sub-processes. Working upon the sub-processes indirectly improves the whole work model, thus, delivering a better product than ever before.</p> <p>The key to get this model work is encouragement. If an employee reviews his shortcomings and a works his way through them, encouragement is crucial. Only then he and others will want to work dedicatedly towards the common goal, serving the client in the best possible way.</p> <p>Via octosglobal</p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/taxonomy/term/5" hreflang="en">Methodology</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 03 Dec 2021 13:34:21 +0000 admin 810 at https://tigosoftware.com https://tigosoftware.com/index.php/kaizen-approach-software-development#comments Machine learning Model Validation Testing https://tigosoftware.com/index.php/machine-learning-model-validation-testing <span class="field field--name-title field--type-string field--label-hidden">Machine learning Model Validation Testing</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/index.php/user/1" lang="" about="/index.php/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 06/02/2021 - 23:04</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2 id="xenonstack0">What is Model Validation Testing?</h2> <p>Model Validation Testing is the procedure of evaluating the wellness of models performance against the real data. It is essential that the model validated by considering the aspects and the components before introducing them into the production ecosystem.</p> <ul><li><strong>Validation –</strong> The process of developing an appropriate model.</li> <li><strong>Verification –</strong> The process of developing the model appropriately.</li> <li><strong>Calibration –</strong> The loop process of comparing the model to the real system and doing the changes accordingly.</li> </ul><h2 id="xenonstack1">How does Model Validation Testing work?</h2> <p>There are large numbers of ways estimating the quality of the aspects and the components of a model –</p> <p>Divide the available dataset into two subsets; these subsets train dataset and test dataset so that the accuracy calculated on the predictions obtained by the model.</p> <p>The different ways used to provide validity using statistical measures to detect the complications in the respective model or the data.</p> <p>Business Intelligence ways included in the examination of the output of the model to determine if the exported results have an understanding in the actual business environment.</p> <p>You would also love to explore our blog based on how <a href="https://www.xenonstack.com/blog/serverless/automated-testing-devops/">Automated Testing on DevOps</a> work.</p> <h2 id="xenonstack2">Benefits of Model Validation Testing</h2> <p>Initial Detection of Deficiencies and Errors- With the testing powered by Model Validation testing, it is easy to detect the deficiencies and errors before Model verification.</p> <p>Reducing the Costs – It is easy to cut different types of costs as Model Validation testing analyzes the defects so that it can be neglected.</p> <p>Discovering more Deficiencies and Errors – If defects neglected, it’s recognized as soon as possible.</p> <p>Enhancing the Quality of the Model – Enhancing is post process of discovering more deficiencies and errors.</p> <p>Provides scalability and Flexibility in the process of software development – With proper implementation of Model Validation Testing, the edge of scalability and flexibility submitted to the process.</p> <p>Analysis of the Data and Information related to the Model – The data is the backbone of the model and with the help of validating model testing the proper interpretation of the data and information can be done.</p> <h2 id="xenonstack3">Why Model Validation Testing Matters?</h2> <p>Machine Learning models, Deep Learning models, and other Data Science models are like wizards to generate the correct output if the exact question asked to these wizards. But how the trustworthiness provided to these models. That is where Model validation testing comes into play.</p> <p>It provides trusted results generated by these models by a mathematical and logical comparison with the actual output.</p> <p>Model Validation testing performs at the edge of tweaking the model to try different test and training data and checks the validity of the model in a looping manner.</p> <p>The process of validity automated, it’s a big advantage to check the trustworthiness of Artificial Intelligence model.</p> <h2 id="xenonstack4">How to Adopt Model Validation Testing?</h2> <p>The techniques to perform Model Validation testing are –</p> <p><strong>Resubstitution –</strong> Using all the data for training the model, the validity of the model evaluated by comparing the output value with an actual value which belongs to the same training dataset. The error, in this case, is known as the Resubstitution error and the technique is known as Resubstitution Validation technique.</p> <p><strong>Hold-out –</strong> For avoiding the above-stated resubstitution error. The best way is to divide the dataset into training and test dataset. The ratio can be 80/20, 70/30 or 60/40. This method creates an edge off to the likelihood in the contrast of the uneven distribution of different classes. To cope up this situation, the dataset divided into equal instances of classes in both the datasets.</p> <p><strong>K-Fold cross-validation –</strong> Dataset is divided into K number of subsets where K-1 subsets for training and the rest one subset for testing the model. This method provides an advantage that the model checker for the validation K times.</p> <p><strong>Bootstrapping –</strong> This is the continuous replacement technique in which the dataset for training selected randomly and the instances of the dataset which are not selected are used as a testing dataset. The main difference between this technique and K-fold cross-validation is the value of fold which is likely to change every time.</p> <p><strong>LOOCV –</strong> In this method, only one record used for testing and the rest of other records are used training. The entire data used for training and testing.</p> <p><strong>Random subsampling –</strong> The number of subsets selected and then combined to form a super subset used for testing and the rest of the data used for training.</p> <p><strong>Classification Matrix –</strong> This matrix consists of main numbers in respect for elements which are truly positive, true negative, false positive and false negative with the help the values which calculate – Accuracy, Precision, Recall, and F1-score.</p> <p><strong>Scatter Plot –</strong> This is a graphical representation of the value predicted concerning the actual values. It calculates the accuracy of the model.</p> <h2 id="xenonstack5">Best Practices of Model Validation Testing</h2> <p>Model Validation Testing is a different kind of testing. Conventional testing and Model validation testing are different. Best Practises of Model Validation Testing are –</p> <ul><li>Dividing the data into testing and training sets.</li> <li>Dribbling the models by checking the validity for the different combinations of the training and test sets with the same source of data.</li> <li>Performing various cross-validation methods on the different sets of data sets.</li> <li>Developing the Classification Matrices to make an inside view on the validity of the model in mathematical view.</li> <li>Drawing a scatter plot is a good option to check the validity of the model fitted on the regression formula.</li> <li>Drawing the profit charts with financial costs associated with the model analyzed.</li> </ul><p><br /> Source: xenonstack</p> </div> <div class="field field--name-field-blog-category field--type-entity-reference field--label-inline clearfix"> <div class="field__label">Category</div> <div class="field__item"><a href="/index.php/taxonomy/term/47" hreflang="en">IT Consulting</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix"> <h3 class="field__label inline">Tags</h3> <ul class="links field__items"> <li><a href="/index.php/taxonomy/term/105" hreflang="en">Testing</a></li> <li><a href="/index.php/taxonomy/term/106" hreflang="en">Quality Management</a></li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Wed, 02 Jun 2021 16:04:41 +0000 admin 341 at https://tigosoftware.com https://tigosoftware.com/index.php/machine-learning-model-validation-testing#comments