This week I’d like to talk in larger conceptual terms about the Software Development LifeCycle (SDLC) process and the benefits of integrating tools associated with this process. To start off, let’s identify the four kinds of tools that are important to a fully...
Software Development & Release Management
MKSSI Environment Variable – an Integrity PLM Software Primer
I'm not a programmer by trade, so I've had to force feed myself a lot of knowledge – some of it makes sense, some of it is beyond me. I've written this post to serve as an Integrity PLM Software Primer for the MKSSI Environment Variable. I hope you find it useful!...
Software Engineering Best Practices: Code Reviews – Part 1
This article is going to be the first in a three-part software engineering best practices series on code reviews. Here, we will focus on what a code review is and why it’s an integral part of a mature software development lifecycle (SDLC) process. In the following...
Software Development Best Practices: Code Reviews – Part 3
In this third and final installment of my three-part software engineering best practices series on code reviews, we will look at the various tools available to facilitate the code review process. We've already looked at the benefits of code reviews and why conducting...
Software Development Best Practices: Code Reviews – Part 2
In this installment of my three part software engineering best practices series on code reviews (read part one here), we will look at how to make code reviews successful. Code reviews are one of the most effective software engineering best practices you can adopt to...
3 Ways That HxD Can Promote Software Engineering Best Practices
It can often be the case that better software engineering practices may be promoted by the use of good software engineering tools. That is, tools that assist the engineer to better understand the current state of the work product. As we know, the final work product is...
What Are The Key Agile and Lean Software Development Practices?
Agile and Lean Software Development approaches came into favor in the late nineties and beginning of the 21st Century in reaction to the many issues with traditional plan-driven, heavyweight software development processes. However, many of the practices embodied in...
Why Software Builds Fail and Areas for Improvement
In a recently published paper, researchers at Google examined the issue of failed software builds within their organization. Specifically, they wanted to address the separate questions of "How often do builds fail?", "Why do builds fail", and "How long does it take to...
How to Deal with Single Points of Failure: People
There are things in every system that if they fail will cause the entire system to be crippled. These single points of failure can be hardware based, software based or even people based. If a problem occurs in these sensitive areas then an entire business can grind to...
5 Reasons Why Code Refactoring is Essential
Lately, I've been refactoring some code for a software engineering project completed earlier this year and for which additional work is expected. As a result, I've come to the conclusion that doing occasional refactoring is an absolute must for any programmer. I...
Agile Development in Regulated Environments – Part 1: Yes, it can work
The value system and practices that embody Agile Software Development have been around for well over a decade, and have been touted as having "crossed the chasm" by organizations such as the Agile Alliance, Gartner, and Forrester Research. Numerous studies indicate...
Exploring Java 8’s New Feature: Lambda Expressions
Recently, Oracle announced the release of Java 8. This latest edition has some interesting new features, most notably the inclusion of lambda expressions and the ability to do multiple inheritance through default methods. We’ll spend the bulk of this article exploring...