Software Development Magazine - Project Management, Programming, Software Testing |
Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban |
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.
*** 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.
Methods & Tools Testmatick.com Software Testing Magazine The Scrum Expert |