Lean helps Organizations implement DevOps

With more businesses jumping on the DevOps bandwagon, some still struggle during the adaptation. As with any newer methodology, it helps to analyze the best practices of those early adopters to foster a smooth implementation at your own company. Increasingly firms look to Lean, a system focused on improving efficiency first developed in the manufacturing world, as a pathway to DevOps success.

We previously talked about Lean as a popular Agile framework. Let’s look more closely at how it makes implementing DevOps easier for businesses of all sizes. It just might be what your company needs to succeed.

Lean focuses on Process Efficiency

Lean first grew out of a desire to make car manufacturing more efficient through the reduction of waste. When we covered it as an Agile framework earlier this year, we mentioned its appropriateness for companies with well-defined procedures and policies already in place. IT manager, John Rauser recently wrote an article for SD Times illustrating how Lean can also make a positive difference for businesses adopting DevOps.

Rauser notes how Lean emphasizes process efficiency, focusing on optimizing the interaction between those involved on a project. He explains the differences between this approach and traditional IT’s focus on resource efficiency. Since the prime directive of DevOps usually involves improved software delivery, streamlining the flow of that process makes perfect sense.

The hallmarks of Lean – waste reduction, enhanced collaboration, and ultimately faster delivery – dovetail nicely with the principles of DevOps. Rauser feels these same goals need to foster a transition from an IT department made up of functional silos to one group built around the flow of the software development process. Strong collaboration combined with an “experimentation and feedback loop” then becomes basis for a new organizational culture.

Joining the Efficiency Matrix

The Efficiency Matrix, from This is Lean, serves as an abstraction of the pathway from an old school resource-focused IT shop to one that embraces DevOps. Resource efficiency as it relates to localized silos offers little to a modern shop hoping to achieve continuous delivery. Hauser comments that shops using this outdated structure to deliver software in today’s business world suffer from waste due to poor interaction between these silos.

Realizing the inefficiency of their current organizational structure remains the key for most businesses looking at DevOps as a software development panacea. A Lean approach requires this realization before a transformation to a process-based structure begins. Implementing DevOps as a trial project within a subset of the organization serves as a proof of concept for those unsure about the new direction.

Finding someone passionate and experienced about leading this change offers a greater chance of success. This needs to happen before DevOps gets rolled out on a larger scale. Leveraging Agile techniques along with the integration of automation and other tools plays a key role in improving process efficiency.

Ultimately, growing into a mature Lean DevOps organization involves close monitoring while making subtle changes as necessary. It essentially becomes one living organism focused on delivering value as efficiently as possible. This is worthy goal of any software development business in today’s market.

Stay tuned to the Betica Blog for additional dispatches on the ever-changing world of software development. As always, thanks for reading!

The Evolving Modern SoftwareDevelopment Team

The Evolving Modern Software Development TeamThroughout 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.