DevOps and continuous delivery can improve software quality and reduce risk by offering opportunities for testing and some non-obvious benefits to the software development cycle. By taking advantage of cloud computing and automated deployment, throughput can be improved while increasing the amount of testing and ensuring high quality. This article points out some of these opportunities and offers suggestions for making the most of them.
Refactoring is a well-accepted practice for improving existing code. Yet, how do you find the code that should be refactored, in a consistent and repeatable manner? This installment of Automation for the people explains how to use static analysis tools to identify code smells to refactor, with examples showing how to improve odiferous code
Git offers Linux developers a number of advantages over Subversion for software version control, so developers working collaboratively owe it to themselves get familiar with the basic concepts behind it. In this installment, Ted dissects branching and merging in both Git and Subversion, introduces "git bisect" for bisecting changes, and shows how to resolve merge conflicts.
This article introduces Gradle and explains how to install Gradle. Gradle is a tool for build automation. With Gradle, we can automate the compiling, testing, packaging, and deployment of our software or other types of projects. Gradle is flexible but has sensible defaults for most projects. This means we can rely on the defaults, if we don't want something special, but can still use the flexibility to adapt a build to certain custom needs.
Program Managers need to continue to seek ways to improve cost, schedules and technical performance. This article provides a summary of industry best practices we have applied successfully that enable program managers to implement processes and practices that can result in the improved cost, schedule and technical performance that the DoD is continuously seeking.
Configuration management is about managing change of the multiple items composing an information system. This article puts in reference the configuration management function and the ISO 9001 standard. This standard offers a wide range of advice on how to deal with this important, but often neglected, aspect of software engineering.
When inheriting an Ant build file to maintain, it is useful to get a feel for the flow and structure. Sketching the dependencies between targets is a useful way to do this. While it is time consuming to do so by hand, there are a number of tools to help.
Gradle is a new and revolutionary build tool, based on the Groovy programming language. It is very different from existing tools like Ant and Maven in that it provides an extremely powerful capability to develop build applications using Groovy code and a compelling Groovy DSL. This allows to easily develop a non-standard build for any project, according to its needs, or to fall back to a more traditional convention-over-configuration approach also fully supported by the tool.