Software Development Magazine - Project Management, Programming, Software Testing |
Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban |
Methods & Tools - September 2021
Sharing global software development expertise since 1993
=== Sponsor ===
5 Ways to Time Travel Test [Whitepaper]
Temporal testing is critical for date sensitive business rules such as insurance rates, billing, and enrollment. Efficient time travel testing can increase your test coverage, accelerate development, and improve software quality.
Read our whitepaper to learn the 5 ways to time travel software!
*** Updates ***
Last Articles Published on Methods & Tools Website
One Size Software Development Methodologies Fits No-One Different software development methodologies advocate different practices, and different practices manage different risks. If you want to understand methodologies, or choose practices from one, you really need to understand the types of risks you face in software development projects. Read more...
*** From The Archives ***
Articles from Methods & Tools' Archives
Use the Debugger, Stupid! The debugger is a program that helps us find out what other programs are doing. Often people use debugger to understand why their own code does not do, what they would like it to do. However the debugger is incredibly useful for other purposes as well as you will discover in this article. Read more...
=== Sponsor ===
Advertise with Methods & Tools
Reach an audience of more than 60'000 professional software developers, software testers and project managers publishing with Methods & Tools for as low a $60 / month. Do you want to promote a software development tool? Are you interested in buying a link to your website from a good reference?
Contact Methods & Tools today to advertise with us!
*** Quote of the Month ***
Complexity isn’t caused by a single catastrophic error; it accumulates in lots of small chunks. A single dependency or obscurity, by itself, is unlikely to affect significantly the maintainability of a software system. Complexity comes about because hundreds or thousands of small dependencies and obscurities build up over time. Eventually, there are so many of these small issues that every possible change to the system is affected by several of them.
The incremental nature of complexity makes it hard to control. It’s easy to convince yourself that a little bit of complexity introduced by your current change is no big deal. However, if every developer takes this approach for every change, complexity accumulates rapidly. Once complexity has accumulated, it is hard to eliminate, since fixing a single dependency or obscurity will not, by itself, make a big difference.
Source: A Philosophy of Software Design, John Ousterhout, Yaknyam Press
*** Software Development Linkopedia ***
Text: What a Senior Staff Software Engineer Actually Does Almost every software company that I’ve ever talked to has both a technical track and a management track meaning that if you stay on the technical track, you can advance to equally senior levels without managing people. At the same time, almost every career talk or panel that I’ve ever attended is by someone from the management track. Now I’ve always understood, at least at a high level, what a manager does and what the management track entails. Part of this is because the more senior roles in the management track have a high amount of visibility, both internally and externally. The same is also true on the technical track, but to a much lower extent, resulting in a bit of mystery around those roles.
Text: Rethinking the Triple Constraint: Five Project Dimensions The notion of such a “triple constraint” or “iron triangle” appears throughout project management. The problem is that I’ve seen numerous representations of the triangle with various parameters – size, cost, time, or scope – and various assumptions about what’s being held constant. The classic triangle doesn’t show quality explicitly. Does that mean that quality is a non-negotiable expectation, or — more likely — that you get whatever quality the team can achieve within the constraints the other parameters impose? In my view, the traditional triple constraint is wrong, although the concept of constraints and trade-offs is certainly valid.
Text: Dysfunctional metrics kill agile transformations Agile transformation is a journey, and a long one for most organizations. Such multi-year initiatives usually start with a strategic purpose, and from top leadership. With such stakes at play, it’s inevitable that clients ask, “are we there yet?” In response to the question, teams often come armed with charts, slides and metrics that showcase the journey’s progress. This armory of information is usually collected with budgetary justifications in mind. But, the clients just really want to know if the transformation is enabling faster delivery of high quality software, and if the business is adapting to change without losing go-to-market predictability. I’d like to discuss the reason a fiscally-motivated set of metrics are misleading and ultimately detrimental to the transformation journey.
Text: How to Write Automated Tests Correctly? Test automation is an important asset of software development teams, especially for Agile teams that have a limited amount of time to perform software testing activities. This article shares some tips to improve your automated test writing practices.
Text: Scaling Engineering Teams via RFCs: Writing Things Down I have recently been talking at small and mid-size companies, sharing engineering best practices I see us use at Uber, which I would recommend any tech company adopt as they are growing. The one topic that gets both the most raised eyebrows, as well the most “aha!” moments is the one on how the planning process for engineering has worked since the early years of Uber. When working at large companies like Microsoft or smaller ones like Skyscanner, there have been two things related to planning that have always bugged me. First, the lack of visibility on others building or having built the same thing as my team. Second, the tech and architecture debt accumulated due to different teams building things very differently, both approach-wise and quality-wise.
Text: Do You Really Need a Test Plan? Many organizations feel they need a formal test plan to drive their QA strategy. But do they really need one at all?
Text: Agile Software Development Metrics & KPIs for Teams From the perspective of Scrum, metrics and KPI evaluations are a few of the last frontiers in the process for continuous improvement. In this article, Lucas Napoli shares some metrics and KPIs that Agile software development teams should be aware of.
Text: Best Features to Look for in API Testing Tools Testing is an important activity of the deployment an API. This article shares some tips on how to choose an API testing tool with the right features for your organization requirements of your APIs as well as your business processes.
Video: The Heart of Domain-Driven Design (DDD) Domain-Driven Design (DDD) is one of the best thing to happen to software development in decades. It has within it the key to our hardest software architecture problems: how to slice up our software, how to write maintainable software, how to name things … and most importantly of all, how to meet the needs of our users. But there is a problem.
Video: Deconstructing Deep Learning and Artificial Neural Networks Watch this video for a mathematics and jargon free presentation and introduction to Deep Learning and Artificial Neural Networks!
Video: Get the Most from Modern Java Versions With the release of JDK 15, there has been seven new versions of Java in the past three years. Java developers are now being provided with new features at a faster pace than at any time in the 25-year history of the Java programming language.
Video: How to Prioritize What to Test It can be intimidating for inexperienced software development teams embarking on their test automation journey for an existing code base. There is so much to test, and so many ways to test. You can often see teams stuck with debating on where to start software testing and what tools to use and best practices.
Video: Prioritizing Technical Debt This presentation explains how easily obtained version-control data lets you uncover the behavior and patterns of the development organization and manage technical debt. This language-neutral approach lets you prioritize the parts of your system that benefit the most from improvements so that you can balance short- and long-term goals guided by data.
Tools: Kraken CI delivers a modern, open-source, on-premise CI/CD system that is highly scalable and focused on software testing. Kraken CI operates according to the Continuous Integration philosophy. It focuses on supporting two main phases of a software development workflow: pre-commit and post-commit phases.
Tools: MAF (Modular Automation Framework) is an expandable fast, easy to use automation framework built in the cucumber language. Supports API Testing and SQL Testing in a simple manner. Allows the usage of modules in isolation as well as in an integrated fashion. Utilizes the cucumber language to clearly articulate intent while preserving test data for further debugging and record-keeping. Allows the integration of custom modules and provides a core to allow for simple integration between components.
Tools: Free Retrospective Tools for Distributed Scrum Teams Even if Agile approaches favor collocated teams, distributed Scrum teams are more common that what you might think. Many Agile software development teams are based on a virtual organization.
*** Promoted Software Development Conferences ***
deliver:Agile Live! a series of online sessions by the Agile Alliance
Pacific Northwest Software Quality Conference, Portland, USA, October 11-13 2021
Contact us if you want your software development conference promoted here.
Find more upcoming conferences on SoftDevConferences.com,
ScrumExpert.com,
SoftwareTestingMagazine.com
*** Software Development Training ***
Fundamentals of Project Planning and Management: Projects are all around us. Virtually every organization runs projects, either formally or informally. We are engaged in projects at home and at work. Across settings, planning principles and execution methodologies can offer ways in which projects can be run more effectively and efficiently. Project management provides organizations (and individuals) with the language and the frameworks for scoping projects, sequencing activities, utilizing resources, and minimizing risks. This is an introductory course on the key concepts of planning and executing projects. We will identify factors that lead to project success, and learn how to plan, analyze, and manage projects. Learners will be exposed to state-of-the-art methodologies and to considering the challenges of various types of projects.
Contact us if you want to your training courses listed in this newsletter and reach 35'000 software development profesionnals worldwide.
Methods & Tools Testmatick.com Software Testing Magazine The Scrum Expert |