![]() |
Every time a new member joins the team, an existing member sets up a new environment, or a new version of the compiler comes along, you have to synchronize settings. My team recently started using Workspace Mechanic, an Eclipse plug-in that allows you to save those settings in an XML file that you put under source control. The plug-in periodically compares the workspace settings with the contents of that file. It notifies you in case of differences, and allows you to update your environment with a couple of clicks. Towards a Frictionless Development EnvironmentWorkspace Mechanic is a good example of a lubricant, a tool that lubricates the development process to reduce friction.
Let’s see what we would likely need to make such an FDE a reality. In this post, I will look at a very small example that uncovers some of the basic components of an FDE. Example: Creating the Class Under TestIn Test-Driven Development, we start out with a test and there is no class under test yet. Eclipse has a Quick Fix to create the class, but we still have to manually invoke it and select a source folder to store it in (assuming you have different source folders for main and test code). It would be nicer if the IDE would understand what you’re trying to do and automatically create the skeleton for the class under test for you and save it in the right place.
This kind of knowledge is highly user and potentially even project specific. It is therefore imperative that the tool collects usage data and uses that to optimize its assistance. We’re likely talking about big data here. Given the fact that it’s expensive in terms of storage and computing power to collect and analyze these statistics, it makes sense to do this in a cloud environment. That will also allow for quicker learning of usage patterns when working on different machines, like in the office and at home. More importantly, it allows building on usage patterns of other people. What this example also shows, is that we’ll need many small, very focused lubricants. This makes it unlikely for one organization to provide all lubricants for an FDE that suits everybody, even for a specific language.
Building an FDE will be a huge effort. To realize it on the short term, we’ll probably need an open source model. No one company could put in the resource required to pull this off in even a couple of years. The Essential Components of a Frictionless Development EnvironmentThis small example uncovered the following building blocks for a Frictionless Development Environment:
What do you think?Do you agree with the proposed components of an FDE? Did I miss something? Please share your thoughts in the comments. Filed under: Cloud Computing, Software Development Tagged: Big Data, cloud, Eclipse, FDE, friction, lubricant, open source, plug-in, Quick Fix, TDD, usage patterns, Workspace Mechanic ![]() |
Update your feed preferences |
