Dependencies can also be an issue. A
lot of interacting code has dependencies,
whether they be through APIs, REST,
direct connections, or through
intermediary software. Calling
conventions frequently change from one
version to the next, usually for good
reasons, but it may mean that what
worked with the previous version is
completely broken with the current one.
That can lead to hours of examining new
documentation, if it exists, and retooling
the interfaces. In extreme cases it can
result in major development work. If
teams are using multiple open source
libraries, this may prove almost impossible
to diagnose and fix.
Last, frameworks like Angular, while
valuable in terms of abstracting key
programming concepts and accelerating
development, still fall short in usability. In
particular, popular free open source
software frameworks such as React and
Angular lack a single, comprehensive
component library for application