Skip to main content


What’s wrong with our development environment?

It’s very common nowadays to use multiple tools in our development environment, we use:

  • Subversion for version control
  • Sonar for static analysis
  • Selenium for web testing automation
  • Hudson for continuous integration
  • Maven for build management
  • etc.

You get the idea. In order to use these tools, constant context switching is required, I need to use:

  • Outlook to check our build notifications
  • Command line to kick start local build
  • Chrome browser to check the sonar stats
  • IDE to edit & check in code
  • Remote desktop to the dev sever to check the error log

We all know that context switching is bad for productivity, I think the root cause is these tools are not well integrated and self centered.

The Solution?

The ideal development environment should be project centered, most of the things we need should be one command or one click away from us. One great example is the Ruby on Rails environment:

  • Want to create a new project? Just one command away:
    rails new blog
  • Start to server? No problem:
    rails server

    and you have the site running, no need to edit a 147 line maven xml file.

  • Generate a new model/controller? Easy:
    rails generate model/controller

And the Java community is also starting to embrace this concept in Play Framework:

  • Edit a java file & hit reload and see the results immediately! No need to compile, deploy or restart the server.
  • Want to test your app? Just type:
    play test

    and you can run all unit tests functional tests & selenium tests from your browser: play test

Start your development environment refactoring!

You might say I don’t use RoR or Play Framework. I don’t use them either. But we all can start improving our development environment, one bash script at a time.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Follow Us