Related Content
2 Familiar Problems for Software Developers In the quest for writing good code and delivering the right thing to customers, developers have several challenges. But most of them can be boiled down to two main problems: discovering the real scope, and how to do the work. Interestingly, they’re very similar to the problems faced by testers and others in non-dev roles. |
||
Software Features to Avoid in a Production Environment When developing an application, it’s best practice not to use certain software features in a production environment. These include features related to programming language, the OS, the database, a framework, a web or application server, or a tool. You have to consider the production setup to avoid bugs or server crashes. |
||
Lessons the Software Community Must Take from the Pandemic Due to COVID-19, organizations of all types have had to implement continuity plans within an unreasonably short amount of time. These live experiments in agility have shaken up our industry, but it's also taught us a lot of invaluable lessons about digital transformation, cybersecurity, performance engineering, and more. |
||
5 Pitfalls to Avoid When Developing AI Tools Developing a tool that runs on artificial intelligence is mostly about training a machine with data. But you can’t just feed it information and expect AI to wave a magic wand and produce results. The type of data sets you use and how you use them to train the tool are important. Here are five pitfalls to be wary of. |
||
Code Integration: When Moving Slowly Actually Has More Risk Many decisions about code branching models are made in the name of managing risk, and teams sometimes pick models that make integration harder in the name of safety. Moving slowly and placing barriers to change can seem safer, but agile teams work best when they acknowledge that there is also risk in deferring change. |
||
Choosing the Right Threat Modeling Methodology Threat modeling has transitioned from a theoretical concept into an IT security best practice. Choosing the right methodology is a combination of finding what works for your SDLC maturity and ensuring it results in the desired outputs. Let’s look at four different methodologies and assess their strengths and weaknesses. |
||
Fearless Refactoring, Not Reckless Refactoring Fearless refactoring is the agile concept that a developer should be able to incrementally change code without worrying about breaking it. But it's not believing that you don't need a safety net to detect and correct defects quickly when changes are made—that's just reckless. Here's how to avoid reckless refactoring. |
||
Defensive Design Strategies to Prevent Flaky Tests Flaky tests could be the result of issues in the code, but more often they are due to assumptions in the test code that lead to non-relatable results. There are many reasons that tests can fail intermittently, and some can be easily avoided by applying good defensive design strategies. It's all about making your code agile. |