Business Management

Yoav Landman (Global) - Socialization Hits Developers: How IT Can Open the Door to the Crowd

For software developers, the interaction sparked by the agile movement--from developer to consumer throughout the development process--is influencing the adoption of new tricks of the trade. From agile to the beginnings of a renaissance for application lifecycle management (ALM), the Binary Repository is among the important concepts that has risen and is already considered an indispensable piece of infrastructure. But why should developers have all the fun? Many concepts of ALM aren't exclusive to developers and can actually provide immense benefit in nearby IT fields.

In development, the community is your best bet for getting information about the artifacts that you download. That's right, the building blocks that make up software are (virtually) crowdsourced--at least for those "next-generation" practitioners. With trends like socialization taking them by storm, there's no shortage of best practices to take away from their community--for developers and non-developers alike. While the binary repository is one such tool that enables building by providing a shared place for artifacts during build-time, the knowledge from peers is another significant piece of the puzzle. In IT, community knowledge is becoming your biggest asset.

With that, let's explore the practices that'll make way for an efficient and long-term socialization strategy.

Licensing, licensing, licensing!
When you use open source, it must be licensed. Nothing puts a damper on a project more than a licensing issue-monetary fees, wasted productivity hours and vendor lock-in can become a huge liability. More so than ever, responsibility for larger business initiatives is falling in IT's lap; and a large portion of honing the role comes from licensing control.

Bring It In-House
When you use open source, ensure it's stored in-house. The main reason: it guarantees you're in control and grants accessibility to others within your organization for download. It also doesn't put you at the mercy of the availability of external software repositories. Much like how storing in-house gains control and accessibility, equipping with internal backup is equally important.

Control Quality & Security Liabilities
While sharing is encouraged, be sure to filter what's coming into your organization. Who and what is allowed on the network? Ensure there are policies and procedures in place. Without proper management, you have no record of the source, and from that quality can dwindle.

When it comes to security liabilities, control is another end-goal. Security details might be found in forums; it might be in huge databases-the resolution lies in efficiently saving the information. Record the security flow and centrally save it directly so that others are notified up front that it's a malicious code. Get a good handle on the extent and potential threats of security liabilities and look into automating the processes around them.

Free Up Resources: Share Centrally & Adopt Tools that Enable Management
When storing artifacts internally, it's best practice to create a centralized resource for developers to share and pull libraries. A massive influx of source liabilities will saturate and overflow your network if everyone tries to update new versions of the libraries--when in reality every developer is accessing those same libraries. In addition, it takes a massive amount of time.

Version control systems can entirely ruin the flow of binaries-they lack searchability, proxy facilities and a certain level of permission management. These manage source code (i.e. instructions, text) not binary files (i.e. builds, executable form) and drain storage space and network resources (when using a distributed version control). Identify the environment and methods that most encourage productivity on your team to get a holistic sense of how tools really translate when put in the field.

Automated Clean-Up
We continue the automation trend. As creatures of habit, so many IT pros use manual intervention in processes that can be made automatic. One glaring example from the software development side is clean-up. Let's say you're using a continuous integration server. Binaries are constantly being built; it may build 50 versions of the library in one hour but your team only qualifies one version. Don't take time away from your team's value-add and adopt the proper tools to eliminate parts of the cycle that don't require manual intervention.

Socialization has swept professional networks. But most are limited to internal interaction among co-workers. For software developers, we converse across companies and industries, and it's common to see worldwide networks (after all, when it comes to coding we all speak the same language). With the right tools, consumer feedback, cautionary tales, successes and building blocks are shared. Sure, it's not exemplary practice for fields like marketing or law, but for so many fields in IT it's beneficial. Share your risk and the outcome is better for all involved.

By Yoav Landman, Founder & Chief Technology Officer at JFrog



« Matthew Finnie (Global) - We're Going to Need the Mother of All Networks


Michael Kogeler (Middle East) - Cloud in the Middle East: The Last Mover's Advantage »


Do you think your smartphone is making you a workaholic?