TeamCity is very quick and straightforward to get up and running. A new server and a handful of agents could be brought online in easily under an hour. The professional tier is completely free, full-featured, and offers a huge amount of growth potential. TeamCity does exceptionally well in a small-scale business or enterprise setting.
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and effort from your development team to be able to build applications seamlessly for android, IOS, Windows, and web on a single platform instead of requiring multiple tools to get the job done.
Xamarin allows you to write cross platform code. This allows companies to build apps more quickly by writing less code. Having code abstracted and reused across multiple platforms allows for more testing and less issues overall.
The ability to use Visual Studio is a huge plus. Visual Studio is one of the best IDE's available and being able to write cross platforms apps while in a great IDE makes everything less painful.
Xamarin is now free with a large company backing. This means that bugs on the platform get fixed more quickly and there is a large community of developers.
The customization is still fairly complex and is best managed by a dev support team. There is great flexibility, but with flexibility comes responsibility. It isn't always obvious to a developer how to make simple customizations.
Sometimes the process for dealing with errors in the process isn't obvious. Some paths to rerunning steps redo dependencies unnecessarily while other paths that don't are less obvious.
Xamarin has been great for developing different projects efficiently and effectively. It's nice to reuse the core business logic across different platforms so that there are less to maintain and little replications are needed. The biggest benefit is that C# programmers do not have to learn a different language to do mobile development.
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and efforts from your development team to be able to build applications seamlessly for android, IOS, windows, and web on a single platform instead of requiring multiple tools to get the job done
TeamCity runs really well, even when sharing a small instance with other applications. The user interface adequately conveys important information without being overly bloated, and it is snappy. There isn't any significant overhead to build agents or unit test runners that we have measured.
I never had to contact support for any help. Most of the problems we ran into, we were able to identify and use peer support through blogs and other internet sources to resolve the problems. There are plenty of sources online which provide tutorials, discuss problems, etc. Example: StackOverflow
Just with any programming tasks, have a plan first. Design out the system, spend time to build it correctly the first time and have plenty of testing and user acceptance opportunities. Xamarin was easy to implement for a C# programmer. However, you need to do tutorials to realize the platform's capabilities.
TeamCity is a great on-premise Continuous Integration tool. Visual Studio Team Services (VSTS) is a hosted SAAS application in Microsoft's Cloud. VSTS is a Source Code Repository, Build and Release System, and Agile Project Management Platform - whereas TeamCity is a Build and Release System only. TeamCity's interface is easier to use than VSTS, and neither have a great deployment pipeline solution. But VSTS's natural integration with Microsoft products, Microsoft's Cloud, Integration with Azure Active Directory, and free, private, Source Code repository - offer additional features and capabilities not available with Team City alone.
Xamarin runs natively on MacOS, and the debugger and other integration and auto-complete tools are far better than Eclipse for C# .NET. It also carries much of the plugin/add-on capabilities that are so desirable on Atom. Eclipse is a better for generalized software development, provided a developer is comfortable switching between the IDE the command line for certain parts of their workflow, like building, package management, or debugging. But for C# .NET development on MacOS specifically, Xamarin is the best product I've used for the job.
TeamCity has greatly improved team efficiency by streamlining our production and pre-production pipelines. We moved to TeamCity after seeing other teams have more success with it than we had with other tools.
TeamCity has helped the reliability of our product by easily allowing us to integrate unit testing, as well as full integration testing. This was not possible with other tools given our corporate firewall.
TeamCity's ability to include Docker containers in the pipeline steps has been crucial in improving our efficiency and reliability.