Search code examples
programming-languagesframeworksmethodologyupdates

Constantly changing frameworks/APIs - how do we keep up?


This question isn't really for any specific technology but more of general developer question.

We all know from experience that things change. Frameworks evolve, new features are added and stuff gets removed.

For example, how might a product using version 1.0 of the "ABC" framework adapt when version 2.0 comes along (ABC could be .NET, Java, Cocoa, or whatever you want)?

One solution might be to make the frameworks backward compatible; so that code written for 1.0 will still work in version 2.0 of the framework.

Another might be to selectively target only version 1.0 of the framework, but this might leave many fancy new features unused (many .NET 2.0 apps seem to do this)

Any thoughts on what we as developers should do as best practice to keep our technologies up to date, whilst not breaking our applications?


Solution

  • Anticipate and invest in change.

    Many businesses seem to think change is a bad thing. It complicates an otherwise working process. But as developers, we tend to see things differently.

    Change, specifically new versions, can bring on many good things, like security updates, performance enhancements, and features. And more often than not, change is inevitable. So why not look at it as a reality of situation instead of a surprise?

    You can do things like keep your data backed up in a non-vendor-specific format in case some new fangled technology doesn't work out and you need to jump ship.

    Also, if you have the resources, you can keep old and new versions of something running concurrently. Ideally, you wouldn't want your production systems to be running the latest and greatest software until someone has evaluated it and signed off on it. Things like unit tests and beta/development clones of production systems can aid in this process.

    Change should be embraced, not feared. Developers, stakeholders, and business people alike should be keeping abreast of new technologies and frameworks. Always be poised to address change. In Soviet Russia, API keep up with you!