Methods & Tools - January 2022
Sharing global software development expertise since 1993


=== 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 or conference? Are you interested in buying a link to your website from a good reference?

Contact Methods & Tools today to advertise with us!


*** Updates ***


Last Articles Published on Methods & Tools Website

The 12 Agile Principles Much is said and written about the Agile Manifesto that if I were to write about it, I am sure it wouldn't be anything that hasn't been said before. There is less material out there around the 12 agile principles that go along with the manifesto though, so I had thought I could put out there my own thoughts around these 12 sentences that help us understand how to apply the agile manifesto in our daily work. Read more...


*** From The Archives ***


Articles from Methods & Tools' Archives

Non-Functional Requirements: Do User Stories Really Help? Agile teams focus on identifying user facing features that can form the basis of incremental deliveries. Often these are expressed as User Stories, slices of functionality that enable a user to achieve a specific goal. Developers work closely with stakeholders to understand what user stories must be satisfied by the product that they are developing. A flaw in this approach can be that users don't mention non-functional requirements and developers don't push to understand what quality attributes the software should satisfy. So how does a team make sure they don't lose sight of "non-functional requirements"? Are user stories of any use in making these special kind of requirements visible to the team? This article explores how teams applying agile techniques go about resolving these concerns. Read more...


=== Sponsor ===


Scrum Expert

Scrum Expert presents Agile articles, resources, book reviews, tools lists, conferences schedule, videos and industry news about Agile software development and project management using Scrum and other Agile and Lean approaches like Kanban, eXtremme Programming or Software Craftmanship with a global perspective.

Visit https://www.scrumexpert.com/ today!


*** Quote of the Month ***


The majority of failures you will see will actually be good ones – mini failures as decisions are taken by those who are less experienced. These are good because the process facilitates quick decisions, by those who need them, and more importantly, it facilitates transparency and rapid identification of failures (as those who took the decision will be aware of the issues as they code it) and a safe means to re-visit, and share the learnings. Embrace these, calling them out specifically and celebrating them in the AAF. This is a key aspect of building a learning culture.

To learn most effectively you need to feel safe, and when learning collectively everyone benefits from the broadest, most diverse range of inputs contributing to discussions. Remember, in this approach, we are explicitly not looking for consensus, but we are looking for a broad range of inputs and voices. It is here that the next failure mode lies, and it is far more insidious and damaging than the first. This second failure mode arises when you, in your job as a conversation-starter and space-holder, fail to include all who ought to be contributing and deciding and learning. For a great part early adoption stages of this style of architecture can feel like great successes. "It's working! More and more people are taking decisions, writing them up in ADRs, giving advice and discussing them in the AAF! I've never seen such engagement with principles before!". Only later, on reflection, will you realise the gains could have been far greater. It is precisely when this first flush of satisfaction strikes that you must be most on your guard. Are you really observing mass participation and learning, or is it a core group of usual suspects? You mitigate this problem actively. Watch out for who contributes. Amplify voices and ensure others listen to the quieter contributors. Make sure influence is balanced and not based on reputation, tenure or place in the hierarchy. Actively encourage many viewpoints and highlight the value it brings so that it becomes self-sustaining.

The third failure mode is an early warning that you are encountering the preceding failure mode, however, this one lives more in the grey area between desired and unwelcome. As you proceed along this journey you will uncover off-the-grid decisions. Decisions which never came up at the AAF, and which never made it into an ADR. There are two ways to approach them. The first, correct way, is to treat the discovery as what you hope it is – an honest mistake, and an opportunity to learn and teach others. Perhaps the decide-ees weren't even aware of the fact it was a key decision they were taking. Perhaps they were under pressure from elsewhere. Perhaps they thought it wasn't as significant as it turned out to be. Perhaps they felt they would be shouted down in the AAF. Whatever the reason, treat it as a way for both them, and you, to learn. To improve the process. The other, wrong way to treat these, is to fall back to old ways, and take back control. Which takes us nicely to the failure mode which completely destroys this approach and all that it promises.

It's easy to slip into this fourth and most dangerous failure mode, and so it needs constant vigilance on your part. The only thing which needs to happen to trigger this is for "capital-A" architects such as yourself to fail to trust people; it is to not practice what you preach; it is to not clear enough space for the mini failures and consequent learning opportunities just mentioned; it is to continue to perform "shadow architecture" behind the scenes to make sure things still go how you think they ought to, despite all the signals from elsewhere. The sole benefit of this failure mode is that it becomes evident very rapidly as all the benefits I've listed above fail to materialize.

If you're wondering if it's this key failure mode which makes this approach to architecture hard to pull off you'd be right. I have been lucky in the past. Colleagues have called me out when I've made decisions for others, and I've caught myself getting frustrated that folks don't know what I know. But then I realise I'm failing in my real task as a practitioner of architecture – I'm failing to get the right conversations happening, with the right people, at the right time. Remember that (perhaps even task others with calling you out when you fail to stick to the process) and you'll be surprised how easy (and satisfying) it is to succeed.

Source: Scaling the Practice of Architecture, Conversationally, Andrew Harmel-Law, https://martinfowler.com/articles/scaling-architecture-conversationally.html


*** Software Development Linkopedia ***


Text: Scrum Team Tactical Status Reporting – Conduct Updates in Only One Minute. When will you be done? This question often crosses the lips of executives, and rightly so. Executives need to know timelines to make informed decisions about prioritization at the company level and achieve the company's vision. Regardless of whether it's a traditional waterfall project or an agile product development effort, knowing the work status is vital, and scrum teams must be able to answer it with tactical status reporting.

Text: Given-When-Then, tweak and try again. Given-When-Then, without any doubt, won the contest for the most popular BDD example structure. The supporting tools are now well established. Because people are familiar with those utilities, they often try to use them beyond the originally intended scope. Unfortunately, this is often with bad results. That's only logical, and in many ways a repeat of the learning curve the community went through with xUnit tools.

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.

Text: Metrics for the unmeasurable. Metrics are a remarkably effective abstraction. A well-formed metric has enough context to understand how well you're doing, contextualize that performance against historical performance, and define a clear, gradable goal.

Text: Resolving a Protracted Conflict. When we’re locked in a protracted conflict with another person, there’s one critical step that’s usually necessary to reach a resolution in which both parties feel a sense of trust and remain committed to the relationship: The higher-status person must express vulnerability first.

Text: 7 Absolute Truths I Unlearned as Junior Developer. Next year, I'll be entering my 10th year of being formally employed to write code. Ten years! And besides actual employment, for nearly 2/3 of my life, I've been building things on the web. I can barely remember a time in my life where I didn't know HTML, which is kind of weird when you think about it. Some kids learn to play an instrument or dance ballet, but instead I was creating magical worlds with code in my childhood bedroom. In reflecting on this first decade of getting regularly paid money to type weird symbols into my Terminal, I wanted to take some time to share some ways my thinking shifted over the years as a developer.

Text: Five Tips and Tricks for Testing Mobile Games. Creating a mobile game has never been easier, but releasing a product with many bugs will just ruin your reputation. This article provides five tips and tricks for testing mobile games.

Video: Why Software Developers Don't Need Agile. Agile is everywhere. There are tons of materials about Agile. There are tons of talks about Agile. There are even whole conferences focused on Agile. Agile is simply everywhere. That is a well-known fact. But did you know that software developers do not need it?

Video: Introducing The Developer Velocity Index (DVI). In April 2020 McKinsey & Company published a report called "Developer Velocity: How software excellence fuels business performance". The big finding of the report is that there is a clear correlation between higher Developer Velocity Index (DVI) and how good a company is doing from a financial perspective. But what is DVI, and why should I care?

Video: Continuous Visibility, No More Dashboards. Tired of the business asking you questions about your software that you don't know the answer to? Let's get some visibility! This presentation covers the journey from how James Brown and his team evolved visibility in their systems, reduced those 3am calls, proposes throwing those overhead dashboards in the bin and looks to the future of how we could build self-monitoring software.

Video: Understanding Microservices: Cubes, Hexagons, Triangles. The microservice architecture is becoming increasing important. But what is it exactly? Why should you care about microservices? And, what do you need to do to ensure that your organization uses the microservice software architecture successfully?

Video: Building Modular Java Applications with JPMS and Layrry. The Java Module System lays the foundation for building modularized applications on the JVM. It doesn't concern itself though with resolving module versions and obtaining modules from repositories. This is where Layrry comes in: an open source API and launcher for modularized Java applications which takes a descriptor of the module layer(s) to assemble, fetches the modules and starts up the application.

Video: NewSQL Scalable Relational Databases. NoSQL was a reaction against the scalability issues with regular SQL relational databases such as MySQL and Postgres. They scaled out well and were easy to operate but were lacking many of the features developers have relied on for decades such as ACID transactions, global indexes and complex queries with joins and aggregations.

Video: Self-Healing Automated Tests. Self-Healing Tests is an approach in which machine learning helps with the maintenance of automated tests. Self-Healing, the automation of test automation, recognizes changes in the "system under test" and automatically adapts the test execution so that the tests remain functional.

Tools: Allure Report is a flexible, lightweight multi-language open source test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process

Tools: QuAck is an open-source test management service. It allows storing test cases and test suites and execute them. This web-based service is much different from other test management tools available on the market. The main feature is that you don’t have to stick to a specific test tree anymore. You can rebuild the tree of test cases on the fly – it will be based on test cases attributes. The service is built with integration patterns in mind. Pluggable architecture allows implementing custom authentication providers, integration with tracking and test executing systems.

Tools: Free Retrospective Tools for Distributed Scrum Teams. Even if Agile approaches favor collocated teams, distributed Scrum teams are more common than what you might think. Many Agile software development teams are now based on a virtual organization. This article presents some free online retrospective tools that can be used to facilitate retrospectives for distributed Scrum teams.


*** Software Development Training ***


Software Development Lifecycle Specialization: This course is designed for people who are new to software engineering. It is also for those who have already developed software, but wish to gain a deeper understanding of the underlying context and theory of software development practices.


Contact us if you want to your training courses listed in this newsletter and reach 35'000 software development profesionnals worldwide.


=== Web Sponsors ===


This month, the Methods & Tools website is supported by Vornexinc.com, Testmatick.com, Software Testing Magazine and Scrum Expert. We thank them for their support.


*** Featured Software Development Conferences ***


Agile Alliance Agile2022, July 18-22 2021, Nashville, USA

Pacific Northwest Software Quality Conference, Portland, USA, October 10-12 2022


Contact us if you want your software development conference listed here.
Find more upcoming conferences on SoftDevConferences.com, ScrumExpert.com, SoftwareTestingMagazine.com

 
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


Vornexinc.com

Testmatick.com

Software Testing
Magazine


The Scrum Expert