Methods & Tools Software Development Magazine

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,,

*** 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.

November 2022
October 2022
September 2022
August 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
November 2009
October 2009
August 2009
May 2009
April 2009
February 2009
January 2009
November 2008
October 2008
August 2008
May 2008
April 2008
February 2008
January 2008
November 2007
October 2007
August 2007
May 2007
April 2007
February 2007
January 2007
November 2006
October 2006
August 2006
May 2006
April 2006
February 2006
January 2006
November 2005
October 2005
August 2005
May 2005
April 2005
February 2005
January 2005
November 2004
October 2004
August 2004
May 2004
April 2004
February 2004
January 2004
November 2003
October 2003
August 2003
May 2003
April 2003
February 2003
January 2003
November 2002
October 2002
May 2002
April 2002
February 2002
January 2002
November 2001
October 2001
May 2001
April 2001
February 2001
January 2001
Winter 2000
Fall 2000

Methods & Tools
is supported by

Software Testing

The Scrum Expert