Software Development Magazine - Project Management, Programming, Software Testing |
Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban |
Methods & Tools - November 2022
Sharing global software development expertise since 1993
=== Sponsor ===
Unblock Content with Ivacy VPN from as low as $1.19
Ivacy is a leading virtual private network provider with 3500+ servers in over 100+ locations. We have specifically designed our network to offer the best connectivity with fast and private streaming speeds across the world. Customers are provided with multiple protocols to choose from and connect. Also Ivacy gives you the freedom to connect to our network without limitations.
Unblock Content with Ivacy VPN from as low as $1.19 + Premium Password Manager for Free
*** From The Archives ***
Articles from Methods & Tools' Archives
Personal Quality Management with the Personal Software Process After a short introduction to what the Personal Software Process (PSP) is, this article will highlight the ways in which individual engineers (and their organizations) can benefit from adding the PSP's Personal Quality Management techniques to their professional repertoires. It will take a brief look at the benefits that have been achieved by those who have already learned to apply these principles in their work. Then it will examine in more detail the specific activities PSP-trained engineers engage in to manage the quality of the software they produce. It will look at everything from simple defect logging, to personal and peer reviews, to developing a personal quality plan and using it to guide your work. Read more...
=== Sponsor ===
How to Prevent Reliably Damages from Cyberattacks
As soon as your application is linked to a network, it will become the target of cyberattacks by hackers. This article explains how to mitigate the effects of cyberattacks and how to prevent them with security testing practices.
Learn how to protect yourself from cyberattacks.
*** Quote of the Month ***
Best practices aren’t universal and the use of the term without deeper consideration can be problematic. They’re straightforward, simplistic answers to difficult questions. Quick answers can at times work in our favor, a way to avoid cognitive overhead and set a clear path to a solution. In fact, we regularly need shortcuts in our day to day work to be able to function, the trade off of efficiency for thoroughness. This is unfortunately too often co-opted and overused, rendering it specious as a mantra of “don’t think, just do” or as hand waving promotion of a product over guidance on a course of action. What should be a starting point to a conversation, to give way to deeper consideration and approaches, is instead left to be short circuited in favor of an unassailable talking point. The concepts behind best practices may be sound, but as they are not ubiquitous, they should be up for debate. Our tendency to skip deeper investigation, to assume an answer is correct based on a label, makes use of the term “best practice” dangerous.
Source: Rethinking Best Practices, Will Gallego, https://willgallego.com/2021/08/14/rethinking-best-practices/
*** Software Development Linkopedia ***
Text: How To Keep Your Developers Refreshed with Guild Week What is a guild week? As part of a guild’s activities, each developer spends 1 week per quarter working on tasks outside your day-to-day responsibilities. As you will read, those tasks change over time, but their aim stayed the same: Get better acquainted with systems, teams, and people outside your day-2-day domain, learn & improve and help others learn.
Text: Applying the Agile Testing Quadrants to Continuous Delivery and DevOps Culture Recently, we started to think about how the quadrants model can help teams succeed with continuous delivery (CD) and deployment (also CD). We’ve explored some ways this thinking tool can spark and guide conversations that help teams succeed in their journey towards continuous delivery/deployment.
Text: Dysfunctional metrics kill agile transformations Agile transformation is a journey, and a long one for most organizations. Such multi-year initiatives usually start with a strategic purpose, and from top leadership. With such stakes at play, it’s inevitable that clients ask, “are we there yet?” In response to the question, teams often come armed with charts, slides and metrics that showcase the journey’s progress. This armory of information is usually collected with budgetary justifications in mind. But, the clients just really want to know if the transformation is enabling faster delivery of high quality software, and if the business is adapting to change without losing go-to-market predictability.I’d like to discuss the reason a fiscally-motivated set of metrics are misleading and ultimately detrimental to the transformation journey.
Text: Goodbye, Clean Code Obsessing with “clean code” and removing duplication is a phase many of us go through. When we don’t feel confident in our code, it is tempting to attach our sense of self-worth and professional pride to something that can be measured. A set of strict lint rules, a naming schema, a file structure, a lack of duplication. You can’t automate removing duplication, but it does get easier with practice. You can usually tell whether there’s less or more of it after every change. As a result, removing duplication feels like improving some objective metric about the code. Worse, it messes with people’s sense of identity: “I’m the kind of person who writes clean code”. It’s as powerful as any sort of self-deception.
Text: How To Empower Test Automation With Quality Engineering We are now moving on to building test automation wealth in the first place and maintaining it. This is a true challenge in dynamic ecosystems and organizations when test automation value is not necessarily shared. This is where Quality Engineering constraining the system to quality enters the game. This article shares the key elements of Quality Engineering. It covers how to apply the architecture, methodology, organization, skills, and management for test automation, highlighting the key benefits.
Text: Domain Expertise and the Business Analyst: How Vital Is It? The question of how essential domain expertise is to a business analyst (BA) is a recurring debate in the BA community. One school of thought maintains that domain knowledge is not critical. A skilled BA, the thinking goes, can walk into nearly any project situation and do an effective job, relying on previous experience and a rich tool kit of techniques. The counterargument avers that an analyst who has deep subject matter knowledge can be far more effective.
Text: On Story Points User stories and story points are often used as a technique to define requirements and estimate work by Scrum teams. This article explains why it is not a good practice to use story points as an estimation tool with planning poker.
Text: A Java Test Automation Framework for API Testing In this article, Oleksandr Podoliako shares with us some insights of experience in writing a test automation framework to test API with Java.
Video: Build Team Relationships and Push Through Conflicts with Nonviolent Communication This talk explores the practice of nonviolent communication, and how you can use it to build trust, develop better quality relationships and resolve conflicts in your software development team.
Video: The Software Developer Guide to Data Modelling Document Databases Document databases enable an extremely flexible data model for faster and more iterative development. At the same time, however, the data model you design can seriously speed up or slow down your application.
Video: Managing PostgreSQL changes for the Agile DBA Whether you are the PostgreSQL DBA for an Agile, Sprint-based team, or a software developer with DBA responsibilities, you may feel like the development bottleneck at every turn. Managing migrations with your ORM of choice is easy, but often error-prone and hard to manage as the project grows. Or worse yet, maybe your schema and change management is a folder full of poorly commented SQL scripts saved to a local disk.
Video: Defensive Coding Bootcamp Do you build systems that can be hacked? Want to lower those odds? In this presentation, you will learn the basics of security vulnerabilities and evasive coding maneuvers that can make your software more secure, every time. Geared for developers of all skill levels, this code-centric talk presents code samples and essential fundamentals that apply to every language.
Video: Tests That Help you Find Defects Faster This presentation is about the common mistakes that people make when writing tests. It highlights more aspects like bloated tests which make it hard to figure out what they are about and proper usage of assertions to get better error messages.
Video: Championing Security in Agile Development The world is shifting from waterfall to Agile software development and technology is changing fast. Amidst all this, security teams are not able to keep up with this pace. This has led to increase in the number, size and frequency of breaches & supply chain attacks. This talk discusses how to hack the developer mindset to build security into the product/application; also, the methods and means to make it effective at scale.
Tools: Designite is a software design quality assessment tool. It analyzes C# and Java code and identifies software quality issues. Specifically, it detects a comprehensive set of architecture, design, and implementation smells and provides mechanisms such as detailed metrics analysis, Dependency Structure Matrix, trend analysis, and smell distribution maps. Designite helps you reduce technical debt and improve maintainability of your software.
Tools: Open Source API Testing Tools The rising trend of using SOA and then microservices as a software architecture has led to the creation of multiple tools for automated testing of the services API. This article presents a list of open source API testing tools.
=== Web Sponsors ===
This month, the Methods & Tools website is supported by Testmatick.com, Software Testing Magazine and Scrum Expert. We thank them for their support.
*** Software Development Training ***
Software Development Lifecycle Specialization: This course is designed for people who are new to software engineering. It is also for those who have already developed software, but wish to gain a deeper understanding of the underlying context and theory of software development practices.
Contact us if you want to your training courses listed in this newsletter and reach 35'000 software development profesionnals worldwide.
*** Featured Software Development Conferences ***
Agile Prague, Prague, Czech Republic, September 18-19 2023
Contact us if you want your software development conference listed here.
Find more upcoming conferences on SoftDevConferences.com,
ScrumExpert.com,
SoftwareTestingMagazine.com
Methods & Tools Testmatick.com Software Testing Magazine The Scrum Expert |