Software Development Linkopedia January 2021

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 code review, leadership, DevOps, software architecture, durable team, Agile technical coaching, software engineering management, distributed systems and software testing.

Software Development Linkopedia January 2021

Text: Code Review is the Manager’s Job
Text: How To Lead When You Have No Authority
Text: DesignOps Maturity: Low in Most Organizations
Text: How Selenium Works: Episode 1 – Transportation
Text: Unlocking value with durable teams
Text: How to Overcome Limitations of Given-When-Then tools
Text: Why should you dream big about your architecture?
Text: How To Perform Exhaustive Testing

Book review: Technical Agile Coaching with the Samman Method If today many people equal Agile with Scrum, the Agile approach is also deeply rooted in software engineering practices, like pair programming or refactoring, promoted by the eXtreme Programming (XP) movement. In this book, Emily Bache presents the Samman Technical Coaching approach. It is a method for helping software development teams to become more agile and raise the quality of their work.

Video: Easier Engineering Management with Software Engineering Practices
As a software development manager, your responsibility is not to build features, but to build systems to support the people building the features. This talk will give some tips on using familiar tools and techniques from your time as a software engineer to help make management easier and more systematic.
Video: Why Are Distributed Systems so Hard?
Distributed software systems and software architectures are known for being notoriously difficult to wrangle. But why? This talk covers a brief history of distributed computing, clear up some common myths about the CAP theorem, dig into why network partitions are inevitable. It closes out by highlighting how a few popular consensus algorithms mitigate the risks of operating in a distributed fashion. This presentation also discusses how to design systems that take into account human factors, which can help reduce the impact of programmatic uncertainty.
Video: GraalVM: Maximizing Java Application Performance GraalVM is a high-performance open source virtual machine offering new optimizations for individual languages and seamless interoperability for polyglot applications. For Java, GraalVM lets you optimize different performance aspects including a choice between JIT and AOT compilation modes, employing diagnostics tools and selecting the best language libraries for the job.
Video: C# 9: The Future of C#
This presentation covers the new features of C#9.0, the future of the language and some amazing features built for you.
Video: Selenium-Jupiter: Selenium Tests with JUnit
Selenium is a widely used open source framework for end-to-end web testing nowadays. JUnit 5 is the latest version of this popular Java open source unit testing framework and implements a brand-new programming and extension model named Jupiter. This talk presents Selenium-Jupiter. This is an open-source JUnit 5 extension that provides seamless integration with Selenium.
Video: Scrum Roles Dysfunctions and Anti-Patterns The two presenters explore the misunderstandings and usages of Scrum roles using examples of what they have seen in organizations. They witnessed these dysfunctions not only in companies who are new to these roles, but also in organizations that were already applying Scrum for a while.

Tools: Baangt is an open source solution for all your test stages and needs. Be it Frontend with Webbrowser, API, graphQL, SOAP, oData or chromium related App-Tests. You’ll use one toolset, one database per stage and one reporting to see at any given moment, how your stages and applications are doing and if it’s safe to release the current state of one stage to the next.
Tools: Kanbanara, a web-based Project Management System, uses the Kanban methodology. Started in 2013, the product is already quite well advanced. It is written in Python 3.6+ and utilizes MongoDB and CherryPy. Its Kanban board features projects, user-definable workflow with custom states, support for epic, feature, story, enhancement, defect, task, test, bug and transient cards, global and personal WIP limits, role-based columns (Owner, Reviewer or Quality Assurance), support for ghost cards (cards on their way to you or your own cards currently being reviewed or in QA), blockable cards, hidable cards, deferable cards, 46 card styles including a customisable one, 14-day future projection, Gantt Chart andcard backdrops. It also features a hierarchical workflow, global filter, backlog pyramid, force-directed graphs utilising d3.js, report generator, routine card manager, pair programming, support for continuing cards from one project to another. Full documentation in HTML and EPUB formats.