AGILE, CONTINUOUS DELIVERY, GIT, SOFTWARE
You must have heard Marc Andreessen’s warning that “software is eating the world”, becoming the differentiator for industries that were previously thought to be more manual. A great example for this is Tesla – they’ve helped transform the automotive industry by essentially creating drivable computers. You will find a deeper notion of software leading the way for nearly every industry, and understand the trends driving software development forward.
A survey was conducted on more than 18,000 software development professionals, and here is what was discovered.
Best development firms use agile, Git, and continuous delivery
We found that of software organizations across all industries:
· 78% use a DVCS, such as Git.
· 77% practice agile development.
· 50% practice Continuous Delivery (CD).
These processes have become a normal thing with software teams. Those who practice all three together are still only 49%.
How? The iterative approach of Agile makes it easier for organization to pivot or change priorities based on customer and market feedback. But, between the customers, 50% of agile teams reported using a mix of agile and non-agile techniques indicating that teams are even adapting the process to meet their needs. Git’s support for branch-and-merge workflows takes the pain out of collaborating on code. And with a continuous delivery pipeline in place, shipping is a no-drama event, which encourages smaller, more frequent and also less risky releases.
Development teams are increasingly distributed
Regardless of industry, 72% of the professionals said some portion of their team works remotely.
What makes remote team collaboration and productivity possible?
A few ideas:
As stated above, 78% of respondents said their team had migrated to a DVCS, like Git. Using Git, the team members can work from any geography. As a distributed version control system, each developer gets their own local repository, complete with a full history of commits. With a full local history implies that you don’t need a network connection to create commits, check past versions of a file, or perform diffs between commits.
Distributed development also ensures a more reliable development environment. As every developer working in a local repo, their changes – and, more importantly, their missteps – are isolated. Combined with basic development best practices like peer review and testing changes locally before pushing them to the team’s shared repository, Git is a powerful tool.
Staying in sync as a team can be especially challenging when your team isn’t located at a same place. Work Collaboration tools like HipChat are needed for distributed teams. But group chat isn’t the only place you require to discuss the work at hand. Most issue trackers let teammates comment on issues so they can keep each other up to date. Same with development tools: the ability to have an in-context discussion about a broken build or a code change is now commonplace.
Automation and visibility
Gradually, the tools are getting integrated, whether from the same vendor or different vendors, to help with automatic sharing and syncing of content. In fact, 82% of our customers reported that their source code management tool was integrated with a build system, issue tracker, or both.
Teams are leaner and faster
Out of total, 86% of respondents said that the average development team in their company has 10 or fewer members. This is a pretty significant number so we decided to dig deeper into this.
Containers – the hottest software development trend
56% of our customers reported using containers to spin up test, staging, or production environments, compared to 34% of non-customers. With a container, you can define everything needed to run an application or service and use that blueprint (called an “image”) to make new copies whenever you need to scale, or simply share it with others. The ease and speed of using containers not only makes development more efficient, but reduces IT overhead compared to maintaining traditional bare-metal hardware.
Docker integrations for both Bitbucket and Bamboo testify to how hot containers are right now. With Bitbucket, you can see source code stats alongside your Docker repo. And for Bamboo, you can spin up more build agents using Docker. Judging by what’s trending on Twitter and the session schedule of every development conference on the planet, containers will be software’s “it” technology for years to come.
Stay ahead of the trends
No matter where your team compares in size or adopted processes, having a great data set in front of you is the first step to staying ahead of the trends. The more knowledge you gather, the more ability your team will have to shift these trends and shape the future of software development.