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 efficient software development, product focus, communication, healthy software, the importance of coffee, breaking silos, accelerating software releases, DevOps, giving feedback, E2E test automation, open source API testing tools and free scrum tools.
Text: Inefficient Efficiency The title of this piece is a pun. On the one hand, emphasizing throughput seems efficient but is actually inefficient. The Peter Drucker quote comes to mind, “There is nothing so useless as doing efficiently that which should not be done at all.” The title can be read the other way. By emphasizing latency, we get feedback sooner. Learning and adapting to external changes lead to less waste and therefore greater efficiency. Each piece is inefficient (compared to some theoretical maximum), but the whole is efficient.
Text: Tension: why product development requires balancing conflicting goals This article describes the simple language I use to describe product development: opportunity, output, outcome, and impact. But more importantly it describes the tensions and unexpected implications in the model
Text: Building Bridges as a Technical Leader For most of us producing software inside a company, the success of our work is dependent on our collaboration with other people. Particularly with complex or long-running projects, you need to garner support and input from across your company. If your project gets cancelled due to that lack of support, it doesn’t matter how great the code was. In this post, I’m going to look at how to build relationships and embrace cross-functional communication in order to do great work as a technical leader.
Text: The principles and habits of healthy software Habits are powerful. They help us to get from point A to B at a constant pace, starting small and taking many small steps. They allow us to work towards a higher goal, with purpose. It’s like developing muscles; it’s not possible to get there with a magic meal, you need strict gym activity and a lot of discipline. You also need small increments, otherwise you’ll get hurt. So what are the muscles in the software we write, and what habits can we adopt to maintain those muscles and avoid injury?
Text: Testing CDI Beans and the Persistence Layer Under Java SE When it comes to testing Java EE applications, there’s a wide spectrum of tools and approaches at our disposal. Depending on the specific goals and requirements of a given test, options range from plain unit tests of single classes to comprehensive integration tests deployed into a container (e.g. via Arquillian) and driven through tools such as REST Assured.
Text: Why is Coffee Important in Software Development Projects? We have all heard of phrases such as “Let’s walk and talk”, “Give me your elevator pitch” or “Let’s get a coffee”. When someone comes up to you and says “let’s get a coffee”, you instinctively know that you are about to have a conversation with this person
Text: Breaking Silos in Agile Software Development Most teams I work with have three distinct roles; BA, Developer, and QA. Most teams I work with have three distinct phases of their work; gather requirements, build, verify. Even on agile teams, these separations exist.
Text: Roadblocks vs. Automation: Accelerating Software Releases In the fast-paced world of software development, being able to release software quickly is a crucial advantage in staying competitive. Agile organizations recognize that shorter release cycles can result in satisfied customers, faster innovation, and a more efficient development process.
Video: DevOps for Java Software Development Shops DevOps is great if you have the people, processes, and tools to support it. This session highlights the easiest ways for Java developers to work with their IT organizations and partners to deliver their code to the cloud, including the best ways to reliably make updates and maintain production cloud code. The focus is on real-world examples using Linux command line tools, open source tools including Jenkins, and other free SDKs and tools available on GitHub.
Video: Fixing Feedback in Software Development Project Feedback in software development projects sucks. It is horrible to give, it can be painful to receive – even when a project manager gives praise, we are still uncomfortable.
Video: Five Mistakes to Avoid When You Select Product Metrics Product metrics and key performance indicator(KPIs) have been getting increasingly more important and useful for Agile organizations that develop digital products. When done right, they can become an engine for product growth and inform great strategic and tactical decisions. When done wrong, they can lead to a huge amount of sunk resources and wasted time.
Video: End-to-End Test Automation with Playwright You need to make sure that you test complete user flows. With the open source test automation tool Playwright, you can easily in minutes record a test and run that test and visually see what is happening, providing a cool developer experience.
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.
Tools: Using Commercial Scrum Tools for Free If the development of open source Scrum tools was in vogue some years ago, a lot of these projects have now been abandoned. Some are still active, but this is because their development is sponsored by a commercial hosted option. There is however an alternative to manage your Agile software development projects if you have a low budget… and a small team. Some providers of commercial Scrum tools provide a free version of their software, often with some limitations.