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 software architecture, software design, test automation, product ownership, pair programming, lean startup, agile requirements and diversity in software development teams.
Website: Software Architecture Playbook
Text: 8 Design Guidelines for Complex Applications
Text: Remote Pair Programming with Ben Orenstein (podcast)
Text: How To Use Selenium WebDriver for Cross Browser Testing
Text: Making Sense of Product Owner Effectiveness
Text: Our team’s troubles with hand-written automated UI tests
Text: Lean Startup: the Next Step to Foster Innovation
Text: Performance Testing: Tips for E-commerce Site Performance
Book review: Agile Software Requirements Although many might tend to limit the concept of agile requirements to “user stories”, this book by Dean Leffingwell reminds us that there could be more than just a post-it on an information radiator when we talk about Agile requirements. The title of one of the initial chapters is “The Big Picture of Agile Requirements” and this book provides it, together with the small details that can help you write better user stories
Video: How Diversity Makes a Difference in Software Development We live in a deeply connected world. Technology impacts our everyday life in many ways. However, the solutions we create do not always reflect our society and the world we live in. We have problems in the software development domain. Let’s take a look at the lack of diversity in our communities and how diversity will help us to solve our problems and meet the needs of our society
Video: Do I Have to Test the Frontend Too? Software testing is important in software development right? Your project can’t be run unless all your unit and integration tests are written (and pass), but are you also testing the front end?
Video: XP Revisited: XP As A Pathway To Enhanced Agility Is agile now more about process than people? Frameworks tend exclusively to process & have no opinion on how engineers should build software. At it’s core, XP is all about engineering & “Continuous attention to technical excellence”. It’s time to put the spotlight back on XP as a path to enhanced agility.
Video: A Java Developer Introduction to Kubernetes Ok, so you know your Docker. You know how to create images and start containers. That is cool, but where do we go from here? Well, all the cool kids are talking about Kubernetes and container orchestrators, and how they are like magic pixie dust to your applications. How they allow you to create solutions that are automatically load balanced, self-healing and even provides seamless rolling updates that allow you to release new versions with zero downtime. And knowing you, you probably want some of that too!
Video: Is it SAFe to Scale? By now most large enterprises are past the experimenting stage with Agile. Many are beginning to realize that simply training teams in Agile techniques like Scrum and Kanban, while useful, is not enough to achieve real business transformation.
Video: Software Testing Patience Automated software testing is widely considered a best practice. After considerable effort, the software development industry now agrees that unit testing, system testing, usability, and performance testing are essential in most serious software development efforts, but we know that they are hard work.
Tools: Fossil. Fossil is a simple, high-reliability, open source distributed software configuration management system with advanced features.
Tools: Semgrep Semgrep is a fast, open-source, static analysis tool that excels at expressing code standards — without complicated queries — and surfacing bugs early at editor, commit, and CI time. Precise rules look like the code you’re searching; no more traversing abstract syntax trees or wrestling with regexes. The Semgrep Registry has 900+ rules written by the Semgrep community covering security, correctness, and performance bugs, so you don’t need to DIY unless you want to.
Tools: Introducing Cerberus Open Source Test Automation Framework. Cerberus Testing is an open source low-code test automation platform. It supports testing Web, iOS, Android and API (REST, SOAP and Kafka) applications and integrates with Selenium, Appium and other testing tools.