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


=== Sponsor ===


TimeShiftX - Travel in Time, Test with Ease

TimeShiftX lets you time travel your software into the future or past to temporal test date and time sensitive functionality and code such as year-end, daylight savings, billing, and policies. Employ instant time travel inside Active Directory & Kerberos without changing system clocks, editing code, or isolating servers. TimeShiftX is multi-platform, cloud & container compatible, and supports all applications and databases.

Start your free trial today!


*** Updates ***


Last Articles Published on Methods & Tools Website

early Model Based testing (eMBT) - An early model based exploratory testing approach in practice early Model Based Testing (eMBT) is a software testing approach that aims to optimize the test case design phase. This is achieved by stimulating communication and collaboration between all project stakeholders to get early feedback and a shared understanding of the requirements in an early stage of the software development life cycle. Read more...


*** From The Archives ***


Articles from Methods & Tools' Archives

Will Pair Programming Really Improve Your Agile Project? This article focuses on some of the problems typically encountered by pair programming teams and examine how they may affect an Agile project as a whole. Read more...


=== Sponsor ===


Unblock Content with Ivacy VPN from as low as $1.19

Ivacy is a leading virtual private network provider with 3500+ servers in over 100+ locations. We have specifically designed our network to offer the best connectivity with fast and private streaming speeds across the world. Customers are provided with multiple protocols to choose from and connect. Also Ivacy gives you the freedom to connect to our network without limitations.

Unblock Content with Ivacy VPN from as low as $1.19 + Premium Password Manager for Free


*** Quote of the Month ***


The time elapsed between writing and shipping is the room temp petri dish where pathological symptoms breed and snowball. Longer lead times lead to larger code diffs and slower code reviews. This means anyone reviewing or revising these nightmare diffs has to pause and swap the full context in and out of their mind any time they switch gears, from writing code to reviewing and back again. 

Thus the elastic feedback loop of the development cycle begins to stretch out longer and longer, as people spend more and more time waiting on each other—to review, to comment, to deploy, to make requested changes—and more and more time paging state in and out of their brains and trying to remember where they were and what they were trying to do.

But it gets worse. Most deploys are run by hand, at some indeterminate interval after the code was written, not by the person who wrote the code, and—worst of all—with many developers’ changes batched up at once. It is this, above all else, that severs the engineer from the effects of their work, and makes it impossible for them to practice responsible ownership over the full lifecycle of their code.

Batching up changes means you cannot practice observability-driven development; you can’t expect engineers to watch their code go out and ensure it is working in production. You don’t know when your code is going out and you don’t know who is responsible for a change in production behavior; therefore, you have no accountability or autonomy and cannot practice software ownership over your own code. Ultimately, your engineers will spend a higher percentage of their time waiting, fumbling, or dealing with tech debt, not moving the business forward.

Since so many of your existing engineers are tied up, you will need to hire many more of them, which carries higher coordination costs. Soon, you will need specialized roles such as SRE, ops, QA, build engineers, etc. to help you heroically battle each of the symptoms in isolation. Then you will need more managers and TPMs, and so on. Guess what! Now you’re a big, expensive company, and you lumber like a dinosaur.

It gets slower, so it gets harder and more complicated, so you need more resources to manage the complexity and battle the side effects, which creates even more complexity and surface area. This is the death spiral of software development. But there is another way. You can fix the problem at the source, by focusing relentlessly on the length of time between when a line of code is written and when it is fully deployed to production. Fixate on that interval, automate that interval, track that interval, dedicate real engineering resources to shrinking it over time. 

Until that interval is short enough to be a functional feedback loop, all you will be doing is managing the symptoms of dysfunction. The longer the delay, the more of these symptoms will appear, and the more time your teams will spend running around bailing leaks.

How short? 15 minutes is great, under an hour is probably fine. Predictability matters as much as length, which is why human gates are a disqualifier. But if your current interval is something like 15 days, take heart—any work you put into shortening this interval will pay off. Any improvement pays dividends. 

This is where lots of people look dubious. “I’m not sure my team can handle that”, they may say. “This is all very well and good for Facebook or Google, but we aren’t them.” 

[…] This may surprise you, but continuous deployment is far and away the easiest way to write, ship, and run code in production. This is the counterintuitive truth about software: making lots of little changes swiftly is infinitely easier than making a few bulky changes slowly. 

Think of it this way. Which of these bugs would be easier for you to find, understand, repro, and fix: a bug in the code you know you wrote earlier today or a bug in the code someone on your team probably wrote last year?

Source: Fulfilling the promise of CI/CD, Charity Majors, https://stackoverflow.blog/2021/12/20/fulfilling-the-promise-of-ci-cd/


Contact us if you want to publish a white paper with ScrumExpert.com or SoftwareTestingMagazine.com.


*** Software Development Linkopedia ***


Text: How To Be More Productive Than Most Programmers Even one simple change in your day can make you twice as productive. In the article, you will find eight way to become more productive. The trick is that most programmers are too focused on how to write programs, and they overlook the essential things that make people productive.

Text: Design, Together As consultants, we often step into projects that are full of ambiguity, in business domains overwhelmed by complexity. We have learned that the art of successful delivery depends on tackling that complexity head-on, usually by diving in with questions.

Text: 5 Ways for Testing Time Estimation We need to distinguish the testing time and time for stabilizing the build. Time for build stabilization can vary and the whole team effort is in charge of that. In practice, the time buffer that each team member puts into his/her estimation should partially represent the build stabilization time. The main question is how much time the team can afford considering a crazy release schedule in the Agile world.

Text: 3 Team Effectiveness Models You Can Use to Create Highly Productive Teams Creating effective Agile teams is not easy. This article explores three models that can inspire you in the Scrum team creation process: the Lencioni Model, the 7T Model and the Tuckman’s Team Development Model.

Text: How to Write Good Test Cases for Database Testing: 4 Key Tips When developing software, you will need to write test cases to help ensure that your code is working as expected. Writing good database testing scenarios can go a long way toward improving your application’s reliability and making it easier to maintain in the future.

Text: How to Save a Dying, Low-Morale Team At a point in my career, I was the manager for a team at a global tech company. I had originally joined the team as an individual contributing software engineer, and when I did, the team was at a size of 8. But when I joined, I didn’t know the team was in trouble. I soon discovered that poor senior management had basically driven many members of the team to unhappiness. Low morale has its effects, and in the space of about five months, the team went from 8 to 4 people, which is about when I took over as the team’s manager. At that point, the difficult-to-work-with senior manager was gone, and so was the team’s previous direct manager.

Text: Building an Agile Assessment Tool Conceptually Scrum is simple, so why is achieving a mature agile team such a daunting experience? Maybe because it’s not just a matter of implementing the ceremonies. Scrum teams need to embrace continuous improvements through an incremental and iterative process.

Text: Architecture Jams: a Collaborative Way of Designing Software It’s a good idea to facilitate a software architecture jam early on in the design process, instead of letting it play out organically, over a longer period of time. Doing so will mean more immediate feedback, a lot more people invested in the idea and blind spots of the approach caught earlier.

Text: Optimizing Testing: Testing Realities How much are software testing and software quality assurance important in today’s software development world. This article explores this topic and how organizations could get the most out of software testing.

Video: The Monoliths or Microservices Debate is Missing the Point The “monoliths vs microservices” debate often focuses on technological aspects, ignoring strategy and team dynamics. Instead of technology, smart-thinking organizations are beginning with team cognitive load as the guiding principle for modern software. In this talk, we explain how and why the debate of monoliths versus microservices is missing the point, illustrated by real case studies.

Video: Remote-First Team Interactions with Team Topologies Team-based software delivery can be very effective, but how can we promote and enable team-based approaches in a “remote-first world” for software development projects? What should teams think about, and what patterns can teams adapt to be effective when no one is in the office?

Video: Continuous Learning with Andon Cords in Software Development Teams Learn about one software development team’s struggle to improve collaboration and how they sought to shorten cycle time by carefully crafting an experiment with an Andon Cord. The Andon Cord is a Toyota innovation designed to empower front-line employees to recognize issues, initiate a stoppage of work, and work together as a team to quickly identify a path forward. The emergency cable strung above assembly lines became a symbol of the Toyota Way, and has widely been copied throughout the auto industry and beyond. This presentation will introduce metrics that show a surprising correlation between collaboration through Andon Cord pulls and Cycle Time.

Video: Securing Java Containers So you built your Java apps and containerized them, great job! But what does it take to secure a container? Are you sure you’re following all the best practices to build container images correctly? What are the threats you are not mitigating in a running container? There is no better way to understand container security than seeing some live hacking! This session introduces the state of docker security by reviewing vulnerabilities in Docker images and their impact on your Java application. Learn and adopt best practices of running secure containerized Java applications in production

Video: Practical Guidance for a Project to Product Transformation Ross Clanton and Amy Walters walk through an enterprise playbook, tactics, and case studies for how to successfully transform from a project to product based operating model. The target audience for this paper is leaders at any level of the enterprise who are driving a transition to a product-centric model. Transformations that shift from project to product require changes at every level and in every corner of the enterprise.

Video: Shifting QA Left: Emerging Trends in Code Quality and Security Automation This talk discusses various advances in program analysis technology that enable a larger class of bugs to be detected earlier in software development projects (and even to be automatically fixed in some cases). It focuses particularly on recent developments that enable tight integration of program analysis tools into DevOps processes.

Tools: Mockoon is an open source tool to design and run mock REST APIs. Compatible with the OpenAPI specification, Mockoon integrates perfectly with your existing applications and API design workflow. Mockoon offers you complete flexibility when creating your mocks: custom statuses, route and global headers, file serving or body editor, HTTPS, etc. You can simulate real-life scenarios with dynamic templating and the response rules system. You are also able to test your app resilience with sequential and random responses.

Tools: Why Choose Kualitee as Your Test Management Tool We are in that era of technology when there are so many different software testing tools available in the market that it can be difficult to narrow down your options. Let’s discuss one of these tools: Kualitee.

Tools: Free Online Scrum Tools Agile approaches like Scrum recommend a “just enough” attitude in software development and this is also the case when you discuss tools. Ideally, you would work with a small team that is collocated, but this is not always possible and you might be running your project virtually with a distributed Scrum team scattered around the world.


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


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


*** Featured Software Development Conferences ***


Agile Prague, Prague, Czech Republic, September 19-20 2022

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

 
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