Methods & Tools - December 2021
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

Gaphor – Open Source UML, SysML and C4 Modeling Tool Gaphor is an open source Unified Modeliing Language (UML) and SysML modeling tool written in Python. It also implement the C4 Model for software architecture and Risk Analysis and Assessment Modeling Language (RAAML), Gaphor is designed around the principles simplicity, consistency and workability. Gaphor implements a fully-compliant UML 2 data model, so it is much more than a picture drawing tool. You can use Gaphor to quickly visualize different aspects of a system as well as create complete, highly complex models. Read more...


*** From The Archives ***


Articles from Methods & Tools' Archives

Lean Agile Metrics for Scaled Agile Systems As software enterprises grow from small Agile teams to programs to portfolios, sustaining the true "agility" becomes more challenging. The synergy between Agile and Lean plays a vital role on improving Agility in scaled Agile systems. This article discusses metrics to measure business agility in terms of predictability, reliability and adaptability which adhere to Lean and Agile principles. 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 ***


I've been fortunate in my recent roles, having built up enough track record, that the organization leadership has trusted me, allowed me the time and space to do this type of work. With that trust comes a high expectation and responsibility to deliver, so to sustain it you need to do what you say you will and do it well.

One thing I've learned that helps nurture that trust is being transparent about your work. I talk and write about what I'm working on, what challenges or threats there are, what my next steps are. I like this work to be discoverable, as well as just accessible, and my preferred medium for this is markdown files in a company repository. I want important discussions around tradeoffs and direction, and certainly decisions, to have a URL.

At GitHub, I enjoyed a culture of writing proposals down and having that work be discoverable by anyone in the company. Because my team and I valued our autonomy to build so much, but had an awareness of our vulnerability, we often went above and beyond with this. We would share written proposals, design documents, learnings from spikes, records of decisions, roadmaps, estimates, how we arrived at those estimates, everything. The downsides included sometimes getting unsolicited ‘drive-by' criticism, which can be unpleasant. The upsides included strengthening our own approach through having to articulate it and often adapt it.

Building that trust enabled me and my teammates to do even more: to have more autonomy, to take on more responsibility and to build more challenging work. People had seen our process work. When we said we'd do a thing, they knew not just that we would deliver but that others could see it happen and learn along with us. This is how we can have nice things.

Source: Building Bridges as a Technical Leader, Keavy McMinn, https://keavy.com/work/building-bridges/


*** Software Development Linkopedia ***


Text: Amortizing Software Rewrites: An Evolutionary Approach How to rewrite legacy applications or split monoliths into microservices without slowing down on delivering features or introducing bugs in your system. The need to rewrite whole or parts of software arises quite often. Be it legacy modernization where an organization plans to move from monoliths to microservices, or parts of the application have become so complex and difficult to extend that they call for a rewrite. With the modern pace of software development, changes are the rule rather than the exception. What was correct yesterday has to be revised again tomorrow.

Text: Writing Tests as User Stories in React Testing code can be a controversial subject, largely due to the multitude of ways one can go about writing a test. There are no clear rules, and ultimately you are the one in charge of deciding what's worth testing and how you're going to do it. One common mistake is to test implementation details, but perhaps you've read that already.

Text: Coaching Testers versus Developers After many years leading and coaching testers, for the past 6 months I've been working with developers as a quality coach. I'm keen to share lessons learned from my experience so far and to learn from others working in Quality Assistance and Quality Coaching roles.

Text: Driving Cultural Change Through Software Choices Software developers have more power than they imagine to change the software engineering culture around them. As you build software that others will use or that your peers will work on, are you making it easy for them to do the right thing? If you build platforms, bake in easy integrations for the software values you want to see. If you're in the position to choose new tools, pick ones that support the standards you want taken seriously. And as you write code, make it easy for others who will copy-paste what you've done to then do the right thing.

Text: Complete CI/CD with AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, and AWS CodePipeline An integral part of DevOps is adopting the culture of continuous integration and continuous delivery/deployment (CI/CD), where a commit or change to code passes through various automated stage gates, all the way from building and testing to deploying applications, from development to production environments. This article uses the AWS suite of CI/CD services to compile, build, and install a version-controlled Java application onto a set of Amazon Elastic Compute Cloud (Amazon EC2) Linux instances via a fully automated and secure pipeline. The goal is to promote a code commit or change to pass through various automated stage gates all the way from development to production environments, across AWS accounts.

Text: Seven Reasons To Build MVP For Your Business The Minimum Viable Product (MVP) is an approach that aims to avoid building products that customers don't need or want by maximizing your learning about what is valuable for them. In this article, Sergej Hermoni shares seven reasons why you should include building an MVP in your Agile approach.

Text: Best Practices for SQL Server Configuration Tuning and Improving Performance If a SQL server is the bedrock of your app or service, then its performance will be a big part in determining the responsiveness and fluidity of the end-user experience. As such, it is only by monitoring database performance from moment to moment and tracking usage trends over time that you can optimize it successfully.

Video: Why Software Architects Fail And What to Do About It We have all seen software architects with their ambitious projects, starting out with grand visions, ending up as costly lessons in what not to do, leaving behind the ruins of promising paradigms, technologies, tools, and careers. But why do software architecture approaches sometimes hurt instead of providing value? Why has "software architect" become a negative term for some people? And what can we do to improve our own work?

Video: Using Metrics as a Map to Navigate Uncertainty This session won't teach you to eliminate uncertainty or allow you to see the future, but it will provide you with tools to explore and chart a reasonable course through the inherent ambiguity of knowledge work by simply measuring units of value delivered over time.

Video: How to Get 100% Cleanly Refactored Tested Code In this guided demo, we are going to look at 3 different software engineering techniques that are remarkably powerful in combination to cut through legacy code without having to go through the bother of reading or understanding it.

Video: Measuring Outcomes: How to Get Meaningful Agile Metrics "How well is your delivery team doing?" That seems like a straightforward question for an Agile team, but it is more complicated that it might sound at first. Do we know what it means to "do well" or is it one of those things that is different to everyone?

Video: You Need to Redefine Test Automation Test Automation, a term everyone in testing probably hears on a regular basis, but what is it? If we listen to consultancies and tool vendors, it is the holy grail. If we listen to some gurus in the software testing domain, it is the current and future of testing. Others are more conservative. However, you commonly hear people say Test Automation when they actually mean Automated Testing, to be frank, they have become synonyms.

Tools: Selenoid is a powerful implementation of Selenium hub using Docker containers to launch browsers.

Tools: Taskcafe is a golang-based open source project management tool with Kanban boards

Tools: Open Source JavaScript Code Analysis The quality of the JavaScript code is often verified with the traditional activities of unit and functional testing. There are however tools that allow checking code before or during its execution to assess its quality and its adherence to coding standards using a process called code analysis. This article presents a list of open source tools to perform static and dynamic code analysis on JavaScript programs.


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

 
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


Testmatick.com

Software Testing
Magazine


The Scrum Expert