Throughout its over half century of existence, the process of software development continues to evolve. Technological advancements are obvious, as faster processors and other innovations like new programming languages, databases, and automation impact the industry. Of course, we regularly cover the impacts ushered in by modern methodologies, especially Agile and DevOps.
Here is a quick overview of a typical organization – tools, methodology, languages – within the modern software engineering world. Use the information within as food for thought on your team’s development efforts. How does your company stack up against the new norm?
Commonalities amongst Today’s Software Engineering Companies
InfoWorld recently analyzed what similarities and standards are emerging within today’s software development shop. There’s no denying the importance of collaboration and communication in this era of DevOps. Reflecting this trend, software teams are increasingly using chat tools, like Slack, instead of email to communicate.
Source control is another important function within any software engineering team. Earlier this century, code repositories like Source Safe, PCM, and CVS were the rage. These days, Git holds a dominant status due to its support for distributed version control. Sometimes, members of a development team may reside on different continents, and Git seamlessly supports this geographic separation.
The Number of Macs in Development Shops is growing
The PC – most likely running Windows – continues to be widely used at software engineering companies. However, the number of Macs is increasing over time. This is especially true at shops building mobile apps for the iOS and Android platforms. Dumb terminals and punch cards remain the ancient artifacts of the early days of computer programming.
What about Issue and Bug Tracking?
According to InfoWorld, Jira is the leading tool when it comes to software project management, as well as functionality to provide issue and bug tracking. Its easy integration with a variety of other applications, especially source control software, is a major reason for its popularity. Considering Jira’s age, other applications, like Basecamp and Open Project, are growing in usage.
The Engine that powers DevOps
As DevOps emerges as a software industry standard, tools to manage the entire process, especially continuous delivery, are becoming more important. InfoWorld considers Jenkins to be the “engine that powers DevOps.” A free and open source application, Jenkins automates many aspects of DevOps, including builds, tests, and deployment.
Like Jira, the fact it integrates so well with other applications remains one of the reasons for its popularity. The price doesn’t hurt either! Travis-CI and Bamboo are two other continuous deployment tools worthy of note.
The Latest Trends in Software Development
InfoWorld also identified three emerging trends in software engineering, and they are all areas we’ve talked about on the Blog. Container tools – most notably Docker – have essentially become a best practice for modern software development. ChatOps is another one, letting teams use a chat interface to communicate with coworkers while also performing builds, tests, and deployments.
Machine Learning is their third trend, reflecting the growing importance of AI to help analyze massive datasets, among other relevant uses. How does your own team stack up against InfoWorld’s proverbial modern software development organization?
Stay tuned to the Betica Blog for additional insights from an ever-changing software development world.