Business continue to strive for Continuous Integration

One of the major reasons companies eschew older software development methodologies for Agile is to make the process faster, more nimble, and ultimately better able to meet the constantly shifting needs of the business. The “holy grail” of this effort is usually continuous deployment or continuous integration, where software updates typically happen on an hourly basis. In a competitive business world, this kind of transformation is sometimes necessary for survival.

Embracing state of the art innovations like containers and automation also remain part of the process, but let’s take a closer look at the current struggle for enterprises to achieve continuous integration. Maybe these insights help your own company undergo a similar evolution in software engineering.

Continuous Integration not widely Implemented… yet

A recent study by Dimension Data, and reported on in Information Week, looked at the adoption of Agile and continuous integration at the modern business. Over 700 industry professionals responded to the study; working at companies of all sizes from the enterprise to the SMB. The survey noted the wide popularity of Agile throughout the technology world, and while continuous integration is a worthy goal, a relatively smaller number of organizations have yet to achieve it.

About one-third of the respondents reported a full engagement with Agile among all their software development teams, while 94 percent noted at least part of their organization’s software engineering process used Agile. The other six percent either didn’t use Agile at all or were experimenting with the methodology on a pilot project.

For the purposes of the study, continuous integration is considered to be the ability to deploy software updates on an hourly basis. 28 percent of the surveyed organizations consider that level of CI to be their ultimate goal with Agile, while only half of those firms achieve it today. Dimension Data noted that 18 percent of last year’s survey respondents had CI as a goal, showing a notable increase on the current survey.

Faster Software Updates and Bug Fixes

Even if companies don’t reach that final goal of hourly software updates, they are still reaping the benefits of Agile, according to the survey. 35 percent of the respondents integrate updates on a daily basis, while 17 percent are able to do so every week. Another 20 percent update their systems on a less than weekly basis, but still faster than with older methodologies, like the Waterfall.

Naturally, bug fixes also happen more quickly when using Agile – likely with other software development innovations contributing to the higher efficiency. These speed improvements were relatively minor – a few percentage points – probably due to software enhancements being more important than anything but critical fixes. Around 20 percent of the respondents use test-driven development and are seeing fewer defects as a result.

87 percent of those surveyed embrace some form of automated testing, with either Selenium and/or Appium being used by 70 percent. The use of DevOps is also emerging with 88 percent of the respondents either considering it or already leveraging some of its practices.

The bottom line remains simple: If your organization is interested in a faster development process, obviously Agile needs to be on your radar if it isn’t already. You may never reach continuous integration, but benefits are able to be achieved throughout your journey.

Stay tuned to the Betica Blog for additional dispatches from the world of software development.

News from the World of Software Development – May 2017

Welcome to this month’s collection of a few interesting software development news stories from the last few weeks. If you want to check out April’s news digest, simply click on the following link. Hopefully, the content within this May digest offers a measure of insight for your software engineering activities. Good luck!

Agile making inroads in Government Software Development

Nearing its second decade of use, Agile is finally seeing wide adoption in software development at government agencies. Doug Robinson, the executive director of the National Association of State Chief Information Officers (NASCIO) in the United States reported that 81 percent of state CIOs plan on increasing the usage of Agile and other iterative development methodologies at their shops. News about this Agile implementation growth appeared this week at CRN.

“We’re seeing a lot of excitement in the CIO world to be able to deliver projects on time and within budget using some type of agile methodology,” said Robinson. As government entities tend to be slow to embrace new technology methodologies, this growth in adoption is another obvious sign of the continued maturity of Agile.

Small Teams write more Secure Code

Teams with a small number of developers produce more secure applications compared to groups with more than 20 employees. That is one of the main conclusions from the recently released 2017 CRASH Report, published by CAST Software. As applications grow in size and complexity, they simply become too difficult to manage.

A chief scientist at CAST Software, Bill Curtis, commented on the survey’s findings. “Applications have gotten so big and complex that no single team can understand it all. It might have five or six languages, multiple databases, CRM systems, and you can’t understand all the interactions. That leaves teams making assumptions that in many cases are wrong,” said Curtis.

Shops wanting to write more secure code need to invest in the relevant training for their developers, while giving them the tools for performing both static and dynamic testing. Additionally, involving a third-party team in the final vetting of an application’s security offers a valuable second opinion before the code is deployed to production.

Microsoft switches to Git for Windows Code Source Control

Considering Microsoft’s investment in its own source control systems, it comes as somewhat of a surprise that the tech giant is migrating all the source code for its Windows operating system to the popular open source tool, Git. News about this move appeared this week in Ars Technica.

The reasoning behind this shift lies within Microsoft’s OneCore project which is aimed at simplifying the Windows codebase. Their previous source control solution for Windows, SourceDepot, was straining to handle the massive amount of source code involved, which includes 3.5 million files.

Redmond chose Git because of developer familiarity as well as its open source nature. The basic Git application needed to be updated to seamlessly handle the Windows source code. Microsoft created a fork in the Git code for this purpose and is talking with the other industry giants who use the app – Google and Facebook – about combining their efforts in the future.

Make a visit to the Betica Blog part of your daily routine before firing up your IDE in the morning. As always, thanks for reading!

Scrum, Lean, Kanban – An Analysis of Agile Frameworks

As Agile continues to mature as a methodology – forged in the fires of real-world software development projects – a variety of Agile frameworks have emerged. Three of these – Lean, Kanban, and Scrum – are arguably the most popular framework examples in the industry. One of these “flavors” may work best for your team, depending on how it builds applications or the specific needs of a particular project.

So lets take a closer look at the top Agile frameworks to help your development organization make a decision on which one fits best. Good luck!

Is it Time to join the Scrum?

Project management pundit, Moira Alexander compared the three popular Agile frameworks for CIO Magazine. We’ll summarize her take on each of them, starting with Scrum, which is beginning to be used in other industries beyond the software development world. Scrum is highlighted by its predefined roles and processes – one example being that the project manager (or facilitator) is referred to as the Scrum Master.

Scrum’s major focus – essentially like Agile itself – is the faster delivery of high quality software. Since project teams are largely expected to be self-organizing, the Scrum Master serves more as a facilitator compared to a traditional project manager. Sprints tend to be more formal, as is the framework itself, which makes it suitable for organizations used to the Waterfall, but wanting to explore a flavor of Agile.

The timeframes of sprints are also more formally defined; lasting anywhere from two to four weeks. Time spent on daily meetings is limited to 15 minutes. Changes to requirements within a sprint are discouraged.

Go Lean for a Waste-free Process

The Lean Agile framework saw its genesis in the manufacturing industry as an attempt to minimize any wasted efforts on a project, while also offering a learning opportunity to the members of the project team. Lean strives for overall systemic improvements while preserving the integrity of the process.

In most cases, Lean demands an even more formalized process than Scrum, making it another Agile framework worthy of consideration for shops coming from more structured and organized methodologies. One exception is the lack of a specific timespan for each sprint. There is also additional flexibility regarding meetings and change requests – they happen when necessary.

Kanban offers the most Flexibility

A framework relying on visual workflows to explain and define the development process, Kanban also provides more flexibility than either Scrum or Lean. Developed in the supply chain world, many software development shops now make it part of how they write code. It focuses on completing the tasks within a project while always striving to improve the underlying processes.

Since Kanban teams are extremely self-organizing, a managerial role isn’t always necessary. There is also a high level of flexibility when it comes to project timelines, the scheduling of meetings, and change control. In short, whatever keeps the project moving forward and the process continuously improving is fair game.

This high level view of the most popular Agile frameworks offers a measure of insight on which one would work best at your shop. Be sure to consider the history and experience level of your development team in addition to your goals for the future.

Stay tuned to the Betica Blog for additional insights and ideas from the evolving world of software development. Thanks for reading!