Tag: software engineering

Organizations of all sizes continue to embrace Agile and DevOps. Some firms might adopt one or the other methodology, while others combine the two in the hopes of improving their chances at success. Whatever the approach, there’s no denying that leveraging the Cloud makes adoption an easier process.

If your company is new to either Agile or DevOps, or are looking at ways to make the practice of both more efficient, here are a few insights on how the Cloud helps. Watch your team build and deploy great applications faster than ever before. Good luck!

The Cloud helps Agile and DevOps in a Myriad of Ways

An article by Leon Tranter for Extreme Uncertainty covers the different ways Cloud services make implementing Agile or DevOps a relative breeze. Maybe your organization is currently using the Cloud for a portion of its development operations? If so, you are already one step closer to a successful Agile adoption.

Of course, the Cloud facilitates the virtualized environments used for development, QA, and production. Using a virtual container application, like Docker, is essentially an industry standard in software engineering. In this case, the Cloud helps organizations achieve the velocity required for success in DevOps, eventually reaching the Holy Grails of continuous integration or delivery.

As Tranter notes, smaller businesses embracing either Agile or DevOps as part of a Lean startup approach especially benefit from the Cloud. Lower expenses combined with a faster entry to market make the Cloud a winner for many tech startups. It allows the SMB to truly take advantage of their agility.

A Cloud-based IDE?

The Cloud also facilitates the actual process of writing and storing code, especially collaboration in a distributed fashion. This fact largely contributed to Microsoft’s recent decision to purchase GitHub. In essence it gives Redmond a better chance of competing with Amazon’s industry-leading AWS Cloud service.

But what about an actual Cloud-hosted IDE – essentially an IDE as a Service (IDEaaS)? Tranter commented on the emergence of some IDEs offered using the SaaS model. This offers many advantages to startups or existing organizations hoping for the extra efficiency for a successful DevOps adoption.

The Cloud-based IDEs tend to be simpler than their fully-fledged brethren like Visual Studio or Eclipse. Organizations – no matter their size – need to weigh the functionality factor versus the cost savings gained through the Cloud option. Companies developing complex applications may still find a desktop IDE to be a better choice.

General Business Productivity Applications

On the other hand, the Cloud makes perfect sense for the office productivity applications used by any development shop. Choosing Google Docs over the Microsoft Office suite simply saves more money even with the latter option now being provided online. Examples from Application Performance Monitoring software to HR and payroll applications are now available as a SaaS offering.

The bottom line is simple. Any company – startup or enterprise – considering an investment in Agile or DevOps needs to look at leveraging the myriad of Cloud-based tools. The efficiencies and cost savings help earn a faster return on investment, not to mention an improved ability to thrive in a competitive business landscape.

Thanks for reading the Betica Blog. Stay tuned for additional insights from an evolving software development world.

The end of April is nigh, which means another edition of our software development news digest. These intriguing stories hopefully provide a measure of insight to your own application engineering efforts. If interested in checking out last month’s digest, just click on the following link. Thanks for reading!

A Deep Learning AI Routine learns how to Code

AI and machine learning continue to make an impact throughout the technology industry. These innovations are found in everything from data analysis to self-driving automobiles. In a similar matter as with robotics, some professionals wonder if their jobs are going to be taken over by a computer in the next decade.

Recently a team at Rice University developed a deep learning routine actually able to write some code. The good news for current developers is the prime directive for this AI application involves helping software engineers more easily handle interfacing with poorly documented APIs. News about this AI innovation appeared earlier this week at Tech Xplore.

The application – called Bayou – performs a deep analysis of APIs in online source code repositories, like GitHub and others, attempting to learn about the API’s usage idioms. The application is focused on the Java language at this time. Swarat Chaudhuri, associate professor of computer science at Rice and one of the creators of Bayou, commented on the tool’s genesis.

“People have tried for 60 years to build systems that can write code, but the problem is that these methods aren’t that good with ambiguity. You usually need to give a lot of details about what the target program does, and writing down these details can be as much work as just writing the code. Bayou is a considerable improvement. A developer can give Bayou a very small amount of information—just a few keywords or prompts, really—and Bayou will try to read the programmer’s mind and predict the program they want,” said Chaudhuri.

Most notably, it analyzed millions of lines of Java code as part of its self-training process. If you want to try the application for your own purposes, just simply ask Bayou.

Fannie Mae makes Software more Secure with Lean

We’ve previously talked about the Lean methodology. Considered a variant of Agile, Lean actually grew out of the manufacturing world in an attempt to make operational processes more efficient. Now, mortgage lender Fannie Mae is leveraging Lean to make its software development process faster and more secure. News about their efforts appeared this week in CSO.

Since implementing Lean in 2013, Fannie Mae’s development cycle decreased by half. Working more efficiently allowed the software engineering team to subsequently make their applications safer from hackers and other nefarious agents. They also saved hundreds of millions of dollars over that time, according to company VP, Michael Garcia.

Writing safer code from the beginning is a core principle of Lean applied to software engineering. Other Agile techniques, like smaller increments and faster testing, improve overall efficiency. The company explored applying the principles Six Sigma to their development process, but ultimately felt Lean made a better fit.

Lean is definitely an Agile variant worthy of evaluation for larger software development shops. A more efficient process simply brings many advantages, including more secure applications and an increase in business value. Dive into the CSO article for a further exploration of the use of Lean at Fannie Mae.

Stay tuned to the Betica Blog for additional news and insights from the constantly evolving world of software development.

Software developers remain a curious and opinionated bunch. Over the last few decades they tend to adapt slowly to new methodologies, with DevOps offering little exception to this golden rule. A recent survey reveals things are finally beginning to change, as it shows application engineers beginning to actually “get” DevOps.

Of course, we recently wrote about network administrators feeling DevOps is all about the “Dev” in the first place. What follows is an analysis of the survey to see what these changing opinions mean for the process of software engineering. Perhaps you might gain an insight or two to help your own team’s project work?

Survey says DevOps makes Software Development Faster

Most organizations implementing DevOps do so in the hopes of making their software development process faster and more efficient. A survey of software engineers, CTOs, and IT pros by application maker, GitLab, notes that these wishes appear to be coming true. News about the survey appeared last month on the Developer Tech website.

According to the GitLab study, two-thirds of those polled feel DevOps greatly improves the speed of the software development process. This 65 percent moves upwards to 81 percent when only taking into account the opinion of managers. 29 percent of those surveyed plan new DevOps investments in the current year.

The best shops using the methodology are able to spend at least half of their workday actually writing code. Changes get deployed on demand. In short, these top organizations are twice as productive as those whose DevOps implementation is either immature or nonexistent.

Challenges to Efficient Application Engineering Remain

In their survey, GitLab highlighted a few challenges to the software development process. Two-thirds of the respondents noted the lack of clear direction on application engineering projects. Slightly over half mentioned the need for rework and unexpected scope creep, while 31 percent felt unrealistic expectations hampered their efforts.

Leveraging automated processes to improve efficiency is a high priority at 60 percent of the surveyed organizations. Around 90 percent of those companies are currently using Agile, DevOps, or a mixture of both. 16 percent are still using the venerable Waterfall methodology for some or all of their development work.

Continuous testing also plays an important role in the ultimate success of any company’s DevOps adoption, a concept highlighted by Razi Siddiqui, SVP and CIO at GCi Technologies. “It’s a key indicator that your DevOps/agile practice is mature, and your QA strategy must take into account that 100% test automation is not practical – nor is it possible,” said Siddiqui.

Sid Sijbrandij, CEO and co-founder of GitLab, commented on their survey conclusions. “The survey reveals software professionals finally see the need for DevOps in their workflow and are beginning to adapt their workstyle in order to make this a reality. Despite the progress in the shift in mindset, current DevOps practices are not cutting it. Instead of a single application that accomplishes the goals of both Dev and Ops, many glue together the tools for the two departments, which has proven to be an ineffective means for collaboration,” said Sijbrandij.

It definitely appears that any enterprise software development not using DevOps runs the risk of being left behind in today’s business landscape. Thanks for reading this edition of the Betica Blog. Keep returning for additional insights on the wide world of software development.