Speed Up Your Software Development in 10 Steps

Speed Up Software Development

While many of you are great software developers, you can always use a boost in speed!  Here are some tips that I try and instill in my software development team.

Learn the Keyboard Shortcuts

The mouse was one of the greatest inventions to come out of Palo Alto, however, it has made some of us a little too dependent on this great little invention.  How many times are you moving it around to find the file menu, or the tools menu, then moving along to find something else?  All this time can be saved by using the keyboard shortcuts.  Depending on your development environment, you should really make an effort to learn to do everything with your keyboard.

One way to do this, is set aside an hour when you will only use the keyboard to do your development.  This means no mouse movements or help from your little friend at all.  If you can train yourself to use your keyboard for most things and your mouse less, you will become extremely fast at development, and will be labeled the keyboard cowboy at your office.

Remove Unnecessary Dependencies

As your software expands and grows, the build process will start taking longer and longer. This will start affecting your productivity by making you sit there and wait for things to finish.  A large part of this process is caused by dependencies that are not needed.  Make sure you clean them up.  There are a lot of great tools to help you with this process, suggesting and guiding you along the way. 

Make sure you research these tools, but at the end of the day, just make sure you keep things clean on your own.  By removing these unwanted and unused dependencies, you will notice a huge improvement in speed of build, and even the overall software application.

Setup a Continuous Integration Build Environment

This tip will speed up your development time astonishingly!  One of the areas that always takes the longest is the code integration between different pieces of code, and different developers.  Software developers go and develop some great pieces of the software, time comes to put out a new version of the software, or a patch, and everyone scrambles to give the build master their new code files. 

Poor build master tries the build, and everything fails.  The software development team then spends the rest of their time for a week making sure everything works well together, and compiles.  Then come all the bugs, and it’s just a bad situation all around.  Setup a continuous integration build environment and enjoy the process of builds!

Put Source Control in Place

Source control is extremely important to any project, without it, you are going to develop slowly.  Period.  I’ve talked about this before, because it is extremely important.  It’s the foundation to your project.  Even if you are coding a small project, make sure it’s in source control.  Source Control will enable you to have a history, a journal, of you project. 

Let’s say at some point someone wanted to roll back a certain screen to a previous design, or worse yet, a huge bug was found with the current version.  What do you do?  Well if you don’t have source control, you are in big trouble.

Write Unit Tests

By adding test cases to your software development, you will speed yourself up by not allowing things to be changed.  In a future article I will explain the best way to create these unit tests, but here are some of the basics for those of you that have heard about unit tests, but haven’t had time to implement them into your software development lifecycle. 

There are a few common types of unit tests you will want to start with: Validation, Bad Input, and Code Path unit tests.  The main idea here is you will be writing these automates tests, that will run every time you check in new code, thanks to our source control and automated build environment combination we setup in the previous steps.

Remember the golden rules: If it’s broken, fix it!  If it passed, and it still broke, create the unit test.  If it’s hard to write the unit test, make your code easier to work with. If you need to do setup before executing the test, do not copy paste from the application.

Use Code Coverage Tools

Code coverage tools are fantastic and go hand in hand with unit tests.  If you want to know how much code your tests really exercise, or want to ensure that the outsourced code is tested, code coverage tools are for you.  Code coverage tools will allow you to understand what parts of your application are well tested and what is not tested.  Some of the best tools out there not only measure line coverage, but also measure branch & statement, and methods.

Become One with the Debugger

Becoming a debugger master will really speed things up for you.  I’m not going to spend a lot of time on this as its very basic, but it is far to important to not mention.  Learn all the basic and advanced features that are available to you in your debugger. Breakpoints, Watches, and Stepping will save you countless amounts of time.

Write Reusable Code

When you are writing code, don’t just write code for the problem at hand.  Write code for thinking about the future! Create classes, and put things together into reusable custom frameworks and libraries.  How to write reusable code is another article, however just make sure that each of your classes or methods does one thing.  Try and reduce the coupling in your code.  Lastly, make sure you are always thinking “modular”.

Take Advantage of Frameworks

There are hundreds of thousands of frameworks out there for you to use.  Pick one that suites your needs, and use it.  The main reason for the creation of software development frameworks is to allow software developers to focus on the software requirements, and less time on the low level details.  There are a slew of excellent frameworks out there, pick the area you need, select a framework, and you are off to the races.

Ensure Proper Testing and Quality Control

Do you have bug tracking software?  Do you have a process that works for finding bugs, reporting user issues, logging all feature enhancements?  If you don’t, chances are you will be spending a lot of your time trying to keep track of all of these times.  Set yourself up for success.  Invest in some great bug tracking software.  Some of my favorites are Joel Spolsky’s FogBugz, and Axosoft OnTime.

I love tools, and over the next few weeks I will start sharing with you some of the tools that we use to make our developers fly through the software development lifecycle.  Stay tuned.

 

  • http://www.onlinecomputerbooks.com OnlineComputerBooks

    Great tips. Thanks. Pls suggest some tips for Unit Testing.

  • http://www.solowatches.com/ solo

    I would like to know that what made you to reach at such conclusion.

  • tiffany

    Video to iPad Converter-best Video Converter for iPad for Converting Video for iPad with high quality. Guide on How to Convert Videos to iPad and Convert Movies to iPad.
    Free download best MTS Video Converter/MTS Files Converter for converting mts files without losing quality. It also enables you to capture mts video files.
    Free downlaod M2TS Video Converter/M2TS File Converter,the best Converter for M2TS, to convert m2ts files to all kinds for formats with high output quality.

  • http://WWW.WHOLESALEHANDBAGSONSALE.COM gfd

    It is too much on the elders come Jiang Lin Xiandi Jianzong!
    Depression, depressed absolutely!
    Emperor King cents now days feel bursts of strong pressure from Jiang Lin Xiandi who came. And behind him a few cents red king is looking forward towholesale designer handbags
    Jiang Lin Xiandi to resist pressure to bring their own.
    "Heaven King, you say, but really?" Just listen to Jiang Lin Xiandi asked without a trace of emotion.

  • http://www.venicehotelbookings.com Venice Hotel

    When planning your trip to Venice , you have to choose the best Venice Hotel in town.

  • zara
  • http://www.hasdress.com/ hasdress

    Great post, thank you very much,

  • http://www.borselouisvuitton-italy.com borse louis vuitton

    Gucci is one of the leading names in luxury and style. With its outstanding quality, fine Italian craftsmanship and exceptional beauty, Gucci outlet offers you only the best Gucci bags.We lead you to a genuine pool of bags the collections in wide range Gucci outlet online, discount Gucci, Gucci men bags, Gucci tote bags, Gucci on sale,and so on.gucci-bags-outlets.com are dedicated to bring you the top grade replicas gucci handbags. Cheap Gucci briefcase.We know that the quality of the product directly results in the impression given to people. Everyone hope to get noticed by their taste and elegant quality,Gucci Wallet, so our goal is to meet your demands. we believe that only focusing on quality can make us exist as long as possible. In addition to the good quality of Gucci bag,Gucci 85th Anniversary, we offer competitive pricing, our goal has been to earn the trust and satisfaction of the customer. We are determined to combine honest and helpful dealings with outstanding service before, during, and after the sale. Just go through on our for all Gucci collections,Gucci Backpack, and you could get all you want!

  • http://www.cheapmonclersales.net/ cheapmonclersales

    Moncler Jackets is nothing more than put onCheap Moncler a jacket to a more Moncler Jackets UK comfortable and warm.

  • lisseur

    moncler femme boutique en ligne, fourniture de vêtements à bas prix moncler, y compris les hommes moncler, moncler femme,doudoune moncler, veste moncler. vestes moncler Boutique, moncler france ,avec la meilleure qualité et plus rapide livrer. Livraison en gratuit aux états-Unis, Royaume-Uni, etc de réduction, de satisfaction de la clientèle au 100%.

  • http://www.teknocrat.com/ssd-vs-hdd-analysis-and-comparison.html SSD vs HDD
  • http://www.crimemuseum.org DC Museum

    Thanks for sharing, these are some great tips to speed up the development!

  • harsh

    u rock dude…..

  • http://www.louisvuittononlines.org/ LV BagsLV Bags

    and lives. For instance, if someone buys some fake medicines, it may not cure him

    of his illness, onthecontrary,<ahref="http://www.louisvuittononlines.org/"title="LV

    Bags">LV Bagsit may probably make his illness worse or even put an end to his

    life. Besides, fake commodities<a href="http://www.onlines-

    louisvuitton.org/"title="Louis Vuitton Handbags">Louis may impair the profit of

    the manufactures who<a href="http://www.onlines-louisvuitton.org/"title="Louis

    Vuitton Handbags">Louis Vuitton Handbags produce

  • yabin

    infatti, ci propone sempre delle borse louis vuitton decisamente interessanti, che vengono scelte ogni giorno dalle celebrities più in vista, ma anche dalle fashion addicted che non vedono l’ora di sfoggiare uno dei must have del fashion brand. Brand che con questa louis vuitton sito ufficiale ci propone un look assolutamente delizioso. borse vuitton– semplice ma chic al tempo stesso, per essere glamour in ogni occasione. Il noto marchio di tendenza famoso nel mondo propone la sua nuova collezione louis vuitton outlet primavera-estate 2011