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 quality KPI, technical debt, technical leadership, test automation, quiet firing, API testing, fast Java development, Agile transformation, learning TypeScript and open source kanban tools.
Text: Why SOLID principles are still the foundation for modern software architecture The SOLID principles are a time-tested rubric for creating quality software. But in a world of multi-paradigm programming and cloud computing, do they still stack up? I’m going to explore what SOLID stands for (literally and figuratively), explain why it still makes sense, and share some examples of how it can be adapted for modern computing.
Text: Software Quality KPIs: A Complete Guide What are the software quality KPIs that you need to know, to evaluate the quality of a software development process? How does it help us to plan and control the lifecycle of the software development process?
Text: Technical Debt Is like a Tetris Game Technical debt, legacy code… if you’re a professional software developer you must have come across those terms, and even across some code that embodies them. But as a professional software developer, you also have to interact with people that don’t know your code. And sometimes, you have to convince these people that you need to invest in refactoring in order to improve the quality of a piece of code in order to keep working with it.
Text: Technical Leadership: A way to become a better developer As developers, we are always faced with the dilemma of whether to take on roles that require more time and focus on leadership as compared to roles that are purely technical. When faced with this decision, we would like to focus on some aspects of leadership roles that make us better developers. Leadership roles help develop critical thinking skills that are crucial for the sort of organizational change that software development seeks to achieve. Consulting skills, communication skills and broad level systems thinking about organizational processes help senior developers deliver the value expected out of expensive software development efforts. We highly encourage developers to take on technical leadership roles as part of their journey.
Text: Check the Effectiveness of Your Automated Tests Have you wondered if your automated test suite is worth the effort? Look for these areas that indicate you have effective automated tests.
Text: Is Quiet Firing the Latest Organizational Impediment Hitting the ScrumMaster Radar? ScrumMasters are accountable for increasing visibility and tackling organizational obstacles, while creating an Agile environment in which team members thrive. Quiet firing may represent the mother of all organizational impediment
Text: Which Tools Are The Best for API Test Automation? Head to any site in which testers and developers are seeking help on their testing, and you’ll see questions on which tools individuals should adopt, learn and use. For example, I recently read a question from one person who wanted to know whether they should learn about Postman or RestAssured for API automation.
Video: The Secrets of the Fastest Java Developers Learn to write Java code faster so that you can experiment more with the design and find the simplest solution to your problem.
Video: How to Sabotage an Agile Transformation Ignoring impediments is one of the fastest ways to sabotage your Agile transformation. Agile is not a cure, it will on the contrary uncover issues. So Agile transformation efforts must overcome a myriad of challenges to achieve success.
Video: Full-Circle Testing With Cypress Cypress has taken the world by storm by brining an easy-to-use open source tool for end-to-end (E2E) automated testing. Its capabilities have proven to be useful for creating stable tests for frontend applications. But end-to-end testing is just a small part of test automation efforts. What about your API? What about your components?
Video: Getting a Clean Software Architecture Driven by TDD and Behavior How can we accelerate the development of high-quality software applications? This presentation reviews the foundations of approaches to unit testing (Classicist Test-Driven Development TDD & Mockist TDD), specifically focusing on the structural and behavioral coupling between test code and production code, how to write more robust tests which focus on behavior – making our tests less costly to maintain and enabling easier code refactoring without breaking tests.
Video: How to Get Out of Technical Debt This presentation discusses what technical debt looks like, and how easy it is to get into debt in the first place. Then the presenter proposes to put a plan into action to get out of it, understanding that you should consider technical debt as a business problem, not as a tech problem.
Video: API Testing with Postman: a Course for Beginners Postman is an open source API platform for building and using APIs that has over 10 million users worldwide. Postman simplifies each step of the API lifecycle and streamlines collaboration, so you can create better APIs.
Tools: XLT is a comprehensive load and performance test tool developed and maintained by Xceptance
Tools: Open Source Kanban Tools There are still many open source kanban tools available, contrary to open source projects for Scrum tools that have mostly ended being transformed in a limited offer that supports a main commercial product. The simplicity of the Kanban approach has allowed open source software developers to create and maintain Kanban tools based on various platforms.