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
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
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
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 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:
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:
and you can run all unit tests functional tests & selenium tests from your browser:
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.