Software Development Linkopedia March 2024

Here is our monthly selection of knowledge on programming, software testing and project management. This month you will find some interesting information and opinions about Agile metrics, cargo cult software development, test coverage, mistakes in automated testing, code comments, code reviews and AI + Machine learning in software testing.

Software Development Linkopedia March 2024

Text: KPIs, Velocity, and Other Destructive Metrics KPI (Key Performance Indicator) metrics and Agile just don’t mix. They are the software version of Taylorism. One of my LinkedIn compatriots (Steve Gordon) said it pretty well: “The only reason for KPIs is if you do not trust your developers to deliver working software to the best of their ability and continuously learn to do it better.” Trust and respect are central to agility.
Text: Cargo Culting Software Engineering Practices What are the largest factors that influence the engineering practices we adopt? What about those which can we never know ahead of time? Here’s a thought experiment. In an ideal world the Software Engineering we do, and the practices we carry out, should be the absolute minimum required. Where this minimum is some combination of product value, reliability, maintainability, team happiness, etc. To work our way towards finding this minimum, what if every time we started a project we talked about when it will be shut down? Would knowing the deprecation date of the service, before it’s written, effect the software engineering practices used?
Text: Testing Deep and Shallow “Coverage” seemed to be an important word in testing, but it began to occur to me that I had been thinking about it in a vague, hand-wavey kind of way. I sensed that I was not alone in that. I wanted to know what people meant by coverage. I wanted to know what I meant by coverage.
Text: 4 Signs Your Agile Coach is a Fake Today’s business world is saturated with Agile Coaches, Scrum Masters, and certifications. Everyone is “going Agile” (if they haven’t already). Companies across the globe are engaging Coaches to guide their organizations and teams. Why are some gaining immense value with Agile, and others frustrated and failing? Not to say it’s all contingent upon the Coach – company culture, structure, and leadership have a hand in it too. But without a great coach, what happens to nearly every team? They lose. Have you ever encountered an “Agile Coach” who can talk the Agile Talk, but in practice, they’re clueless? In this post, we’ll share red flags that show whether your “Coach” is actually a Fake! You’ll learn how to spot a dodgy coach, and how to know when you’ve hit the jackpot and found a great one.
Text: Top 5 Mistakes in Automated Testing Working in automated testing for over seven years, test automation is becoming a cornerstone of a successful and efficient product lifecycle, especially in the era of the rapid growth of the IT industry and the high pace of software development.
Text: Best practices for writing code comments While there are many resources to help programmers write better code—such as books and static analyzers—there are few for writing better comments. While it’s easy to measure the quantity of comments in a program, it’s hard to measure the quality, and the two are not necessarily correlated. A bad comment is worse than no comment at all. Here are some rules to help you achieve a happy medium.
Text: For Delightful Code Reviews, Say Nice Things The problem isn’t that code reviews are bad; it is that they are too often done badly. Many software developers were introduced to code reviews via impersonal tools or corporate policies that require them. Those unfortunate programmers have never experienced a delightful code review and have no idea how to perform one. While I can’t give every reader the experience of receiving a delightful code review, I can share with you the tools I use to perform them. Some of those tools require a supportive context or established relationships to work, but there is one that no matter where you work you can start using today.
Text: Harnessing AI and Machine Learning for Automation Testing As we enter the age of smart technologies, automated testing has become an indispensable part of modern software development. As the demand for quick and reliable testing grows, integrating AI tools into creating test scripts is becoming a standard practice.

Video: How to Become an Effective Software Development Manager Software startups make global headlines every day. As technology companies succeed and grow, so do their software development departments. In your career, you might suddenly get the opportunity to lead teams: to become a software development manager.
Video: Your User Stories Are Too Big Product owners often struggle to translate their big ideas into small user stories that the team can deliver in a sprint. When a user story is too big, it is harder to understand, estimate, and implement successfully.
Video: Creating Software Architecture with Modern Diagramming Tools This presentation explores various diagrams-as-code approaches to software architecture, focusing on PlantUML, Structurizr, and Mermaid diagramming tools. It emphasizes Mermaid’s GitHub integration and syntax similarities with PlantUML, making migration seamless.
Video: An Overview of Spring Framework 6 Spring Framework 6 is a new generation of the core framework for 2023 and beyond. This presentation provides an overview of the major changes and new features in the 6th generation of the Spring Framework for Java.
Video: Good JavaScript Documentation: The Missing Pieces Document all the things, they say! But are we documenting for all the people? It seems that most JavaScript documentation is written for the intermediate and above JavaScript developers, those who have been around, and the devs who are already comfortable with JavaScript programming. But what about the true JavaScript beginners, the people who are in a career transition or those crossing domains? Most JavaScript documentation is certainly not written for them!
Video: Introduction to the Principles of Lean Portfolio Management Adaptive/Lean Portfolio Management (LPM) is key to effectively becoming an agile organization and can be considered one of the pillars of business agility. In this presentation, Shane Hastie introduces the key ideas around LPM, discusses the 12 principles of Lean Portfolio Management.

Tools: Keploy is a developer-centric API testing tool that creates backend tests along with built-in-mocks, faster than unit tests. Keploy record API calls and replays them during testing, making it easy to use, powerful, and extensible.
Tools: When Postman Goes That Extra Mile to Deliver Performance to APIs Postman is an API platform for building, using and testing APIs. Postman aims to simplify each step of the API lifecycle and streamlines collaboration so you can create better APIs. This article provides an introduction to the different features of using Postman as a test automation tool during the software testing activities related to API creation and management.