Intelligent design

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(Evolution and JDeveloper)
(Evolution and JDeveloper)
Line 7: Line 7:
It was not enough to share components in runtime (e.g. something we did in recently released version of [[JDeveloper]]). We needed to modify the build systems of [[NetBeans]] and [[JDeveloper]] to allow compilation against the [[OSGi]] bundles and modules comming from the other system. This took us a while, but we have such system now - everyone in the two teams can easily start to use libraries provided by the other system. We are ready for [[evolution]]!
It was not enough to share components in runtime (e.g. something we did in recently released version of [[JDeveloper]]). We needed to modify the build systems of [[NetBeans]] and [[JDeveloper]] to allow compilation against the [[OSGi]] bundles and modules comming from the other system. This took us a while, but we have such system now - everyone in the two teams can easily start to use libraries provided by the other system. We are ready for [[evolution]]!
-
And guess what? In the recent few weeks I've been asked by various members from the teams whether they could reuse some [[API]] coming from the other product. Some of these requests were not surprising (e.g. I know that sharing these sub-systems could be beneficial), however some where completely new! Only by creating an [[environment]] suitable for [[evolution]] would could stimulate brainstorms among minds of our collegues. Only by not having a plan we could come up with so great ideas!
+
And guess what? In the recent few weeks I've been asked by various members from the teams whether they could reuse some [[API]] coming from the other product. Some of these requests were not surprising (e.g. I knew that sharing these sub-systems could be beneficial), however some where completely new! Only by creating an [[environment]] suitable for [[evolution]] would could stimulate brainstorms among minds of our collegues. Only by not having a plan we could come up with so great ideas!
== [[API]] Architects ==
== [[API]] Architects ==

Revision as of 11:50, 25 July 2011

Are you fan of intelligent design or evolution? Most people around me would select evolution as a means of populating our world (althrough Geertjan in a recent screencast refused to answer). However when you ask the same people whether they use evolution or intelligent design methods to manage their company, their answers change. They act as intelligent designers! Is not that another example of a doublethink?

Evolution and JDeveloper

When I got the task to bring JDeveloper and NetBeans closer to each other, I knew we have to start from the basics, from creating a common ground. Thus we invested a lot of time to share the module system underneath the two products. The short term benefit was the speedup of JDeveloper launch time. However the long term visition was more important for me: such common ground would give us a chance to share. I was not 100% sure what parts should be shared, but I knew that allowing sharing is important.

It was not enough to share components in runtime (e.g. something we did in recently released version of JDeveloper). We needed to modify the build systems of NetBeans and JDeveloper to allow compilation against the OSGi bundles and modules comming from the other system. This took us a while, but we have such system now - everyone in the two teams can easily start to use libraries provided by the other system. We are ready for evolution!

And guess what? In the recent few weeks I've been asked by various members from the teams whether they could reuse some API coming from the other product. Some of these requests were not surprising (e.g. I knew that sharing these sub-systems could be beneficial), however some where completely new! Only by creating an environment suitable for evolution would could stimulate brainstorms among minds of our collegues. Only by not having a plan we could come up with so great ideas!

API Architects

Software architects are usually responsible for the final delivery. No wonder they have to work like my friends and manage their teams and their tasks like intelligent designers. API architects should however be different. Their goal is not to create the final product, rather create an API that will inspire others to do amazing things.

As a consequence the API architects should worship evolution. Not only/necessarily when asked about the genesis of the world, but (more importantly) during their regular workdays!

TBD

Personal tools
buy