Azure DevOps Server (formerly Team Foundation Server, or TFS) is the on-premise version of Azure DevOps. To license Azure DevOps Server an Azure DevOps license and a Windows operating system license (e.g. Windows Server) for each machine running Azure DevOps Server.
N/A
Oracle Java SE
Score 8.0 out of 10
N/A
Oracle Java SE is a programming language and gives customers enterprise features that minimize the costs of deployment and maintenance of their Java-based IT environment.
Azure DevOps is good to use if you are all-in on the Microsoft Azure stack. It's fully integrated across Azure so it is a point-and-click for most of what you will need to achieve. If you are new to Azure make sure you get some outside experience to help you otherwise it is very easy to overcomplicate things and go down the wrong track, or for you to manually create things that come out of the box.
Oracle Java SE is well suited to long-running applications (e.g. servers). Java Swing (UI toolkit) is now rather outdated, lacking support for modern UI features. JavaFX, the potential replacement for Swing, has now been separated out of Java core. Ideally, there would be a path to migrate a large application incrementally from Swing to JavaFX, but due to different threading models and other aspects, it is difficult. At this point, it is probably better to use an embedded web browser (e.g. JxBrowser) to provide a modern UI in HTML/Javascript and keep just the business logic in Java.
Commercial Licensing in 2019. Oracle will charge commercial organizations using Java SE for upgrading to the latest bug fixes and updates. Organizations will now need to either limit their implementation of Java SE or may need to drop it altogether.
Slow Performance. Due to the all of the abstraction of the JVM, Java SE programs take much more resources to compile and run compared to Python.
Poor UI appearance on all of the major GUI libraries (Swing, SWT, etc.). Through Android Studio, it is easy to get a native look/feel for Java apps, but when it comes to desktops, the UI is far from acceptable (does not mimic the native OS's look/feel at all).
Because we are a Microsoft Gold Partner we utilize most of their software and we have so much invested in Team Foundation Server now it would take a catastrophic amount of time and resources to switch to a different product.
For standard users the interface is friendly. but if you are a manager some tools are a little confusing to use, like the query system that you always need to create from scratch. Templates should be more helpful for queries and for standard procedures that you need to duplicate PBIs over time. The search history of Work Items is a little painful to use.
Oracle Java SE provides the new features along with timely security patches. New features like Record patterns and pattern matching for switches are very useful. With every new release of Java, it is getting better. Sequenced collections are also an interesting feature added to Java. With all these new features, backward compatibility is also maintained.
I have not had to use the support for Azure DevOps Server. There have never been any issues where I was not able to figure it out or quickly resolve. Our Scrum Master has used support before though, and the service has always been prompt and clear with a customer-focus
Java is such a mature product at this point that there is little support from the vendor that is needed. Various sources on the internet, and especially StackOverflow, provide a wealth of knowledge and advice. Areas that may benefit from support is when dealing with complex multithreading issues and security libraries.
In my opinion, DevOps covers the development process end to end way better than Jira or GitHub. Both competitors are nice in their specific fields but DevOps provides a more comprehensive package in my opinion. It is still crazy to see that the whole suite can be used for free. The productivity increase we realized with DevOps is worth real money!
Chose to go with Java instead of Python or C++ due to the expertise on the ground with the technology, for its ease of integration with our heterogeneous setup of production servers, and for the third party library support which we've found was able to address some challenging aspects of our business problem.
It has streamlined the pipeline and project management for our agile effort.
It has helped our agile team get organized since that is a new methodology being leveraged within the Enterprise.
The calendar has improved visibility into different OOOs across the project team since we all come from different departments across the larger organization.
The different versions make it harder to work with other companies where some use newer versions while some use older versions, costing time to make them compatible.
Licenses are getting to be costly, forcing us to consider OpenJDK as an alternative.
New features take time to learn. When someone starts using them, everyone has to take time to learn.