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 building teams, developer experience, technical debt, milestones instead of projects, team collaboration, agile charts and open source test management tools.
Text: Why it’s difficult to build teams in high growth organisations Two reasons why building teams in high growth is difficult: can’t assume stable teams, can’t rely on cultural osmosis.
Text: Five proven approaches for a better Developer Experience in your organisation A good developer experience not only benefits the developer but is essential to increase developer effectiveness and thus, your organisational performance. Developer experience (DX) encompasses all aspects of a developer’s interaction with an organisation, its tools and systems. If you’re wondering what concrete steps to take to improve the DX in your organisation, we’ve got you covered. We gathered five approaches that we tried out and might inspire you to take the first steps.
Text: How Deep Should Your Automated Test Cases Go? As testers, we can take a few glances at any app or website and make a list of dozens or hundreds of things to validate. No matter the size and scope of a software application, there’s a seemingly infinite number of scenarios to go through. And that’s just on the user interface level, without knowing the intricate details of what’s happening behind the scenes. On the backend, there are plenty of areas to test as well. At times, it can feel like QA work never ends.
Text: Hunting Tech Debt via Org Charts Nowadays, as I talk other people through their legacy modernization struggles, the first piece of advice I give them is to look at the org chart. On large, complex systems there are too many stones to flip over while looking for problems, but the types of problems organizations have are heavily influenced by their incentive structure and the easiest way to figure out their incentive structure is by looking at the org chart.
Text: Great engineering teams focus on milestones instead of projects Most engineering organizations focus on delivering projects. They should focus on milestones instead. managing projects is hard. Companies contort themselves to do it well. Instead of playing chess, switch to checkers. Milestones are an easier game, and you get better results. More importantly, milestones unlock powerful behavior. One example is project shaping. Milestones make it easy to play with the contours of a project.
Text: How to Choose the Right Name for Unit Tests As unit testing is often the first quality activity targeting code during the software development lifecycle, this article considers several examples of effective approaches to the naming of unit tests.
Video: Building Awesome Teams Using The Team Collaboration Canvas What is the secret of successful agile initiatives and awesome teams? Teamwork and effective collaboration, of course. It is important to set up software project development teams for success, as well as implement continuous improvement processes to ensure antipatterns and difficulties are addressed. Agile team chartering and retrospectives are commonly used for exactly that. However, some team charters are nothing more than a series of dot points containing generic ideas or vague statements. Learnings from Scrum retrospectives can be easily lost or forgotten. And how the team integrates with the outside world is often overlooked.
Video: Software Developer Experience Platforms Moving user experience and customer experience into the spotlight has made companies more successful. We are now seeing a strong interest in improving software developer experience, too. One reason is efficiency.
Video: Law of Demeter: A Practical Guide to Loose Coupling The Law of Demeter (LoD) or principle of least knowledge is a software design and architecture guideline for developing software, particularly object-oriented programs. In its general form, the LoD is a specific case of loose coupling.
Video: Frameworks Unplugged: Building Distributed Systems in Pure Java Building a hello-world REST example in spring-boot does not take more than a couple of minutes. ChatGPT generates it within seconds (including the maven files), and the example will probably let you pass java programming 101.
Video: Next Generation Code Architecture for Building Maintainable Node Applications In today’s fast-paced software development landscape, it’s essential to have tools that allow us to build, test, and deploy our applications quickly and efficiently. Being able to ship features fast implies having a healthy and maintainable codebase, which can be tricky and daunting, especially in the long-run.
Video: Testing Processes: One Size Does Not Fit All This talk discusses what it looks like to have a constantly evolving test process within a company, how different teams can use the context they are working in to shape their own processes, and how to have multiple teams within a development organization working with different processes and workflows effectively.
Video: How Agile Charts Lie In recent years, measurement has increasingly gained more traction in the Agile world. Many folks want to “measure” or even “measure what matters” when adopting new ways of working like Scrum.
Tools: Mermaid Live Editor is an open source tool to edit, preview and share mermaid charts/diagrams
Tools: Open Source Test Management Tools Test management is defined by Wikipedia a part of the software testing process that includes the planning of tests and test cases, their execution and the storage and analysis of the tests results. This is achieved also by the integration with requirements management tools, functional software testing tools like Selenium or Cucumber (with the Gerkhin language), continuous integration tools like Jenkins or TeamCity, bug tracking tools like Bugzilla or Mantis, project management tools like Trello, Redmine or JIRA.