All posts for the month October, 2012

Just how well does your software team rate? Answer the following questions it won’t take a minute honest.

Do you use source control?

Do you do daily builds?

Do you use bug tracking?

Do you fix bugs before adding more code?

Do you have an up to date project plan?

Do you have a specification?

Do your developers have a quiet environment?

Do you have testers?

Do you do UAT testing?

Do new developers have to write code at their interview?

Didn’t take long did it now let’s look them in turn.

1. Source control is a must have, not only does it keep your precious source code safe but developers don’t usually know what the last developer did, how good he was, whether the code he checked in actually builds. A good source control versions your code, keeps a history and allows roll backs to an earlier version.

2. Unless you perform regular builds on your code you never know what state it is in till you come to work on it. The process can be automated not only to build the whole codebase on a regular basis but to create single step checkout and builds (overnight if required) the more steps you need to get to the point of building the code the more prone to errors. Daily builds on the whole code base will highlight errors such as a developer checking back in the code but forgetting to checking new classes or libraries, the code will obviously build on his machine but won’t for anyone else checking out the code (even worse if he locks his machine and goes on holiday).

3. Without an organised listing of bugs you are going to ship not only low quality code but probably re ship the code with reported bugs unfixed, you can’t keep all of the bugs in your head. As a minimum your bug tracker must keep:-

Steps to recreate the bug

Expected behaviour (without the bug)

Who spotted the bug

Who is to or has fixed the bug

Current status of the bug

4. If you are not fixing the bugs before adding more code you are simply compounding the problem, not only will it make bug fixing harder (you can’t even attempt to debug till the current code compiles) but you could well be introducing new bugs to the existing ones.

5. The code is important to the business, it is important for them to know when the code is going to be ready, developers are notorious for saying “however long it takes” unfortunately that doesn’t (and shouldn’t) cut any ice with the business, they have to plan in advance for when they expect to get ownership back of the code and the only way to do this is to plan ahead and keep the plan up to date, from the developers point this means that there is a good chance that you won’t suffer from “feature creep” and end up working on the code for the next ten years.

6. If there is one thing about spec’s it usually that everyone agrees you should have one but no one provides one. As a result, when teams consisting solely of developers approach the problem they go straight for a solution and dive straight in to coding resulting in much higher costs to fix any design or code issues. Software which wasn’t built using a specification quite often results in a badly designed product which doesn’t meet requirements and timelines spiral out of control.7. We all know the developers work best when they can get into “the zone” where they can fully concentrate on their work, the trouble is that it is hard enough to get into “the zone” as it is without constant distractions, phone calls and the ever present “can you do this for me it won’t take you long” interruptions.

8. If your team doesn’t include at least 1 tester (ideally to every 3 developers) you are probably at best using a highly skilled developer to do a lower skilled job and at worst delivering buggy code to the business, saving money on not having testers is a false economy and can dramatically cut delivery times.

9. You simply have to have UAT testing, how many times are users given a new system and told to get on with it, more often than not they have had no input as to how the system works, scarily end users won’t even be asked what is wrong with the old system. UAT is an invaluable must have step in the process; no code should be delivered without first going through UAT.

10. Is there any other professional you would employ without first checking their work or at the very least have them highly recommended by someone you totally trust.You are placing a lot of trustthese people not to bring your business down, not to destroy the trust you earned for your business with your clients, every new developer should be asked to show competence to the level that the position requires.

If you would like any help or advice with your web presence or would like more information on cloud contact us.

At CodeSpinner we have over 25 years experience of producing custom software.

When you work for someone else, you have a set number of hours a week that you are contracted to work and your wage is set, based on the contract you signed but in most jobs you work far more than you have to, if you work for yourself every minute you work will be for your own benefit.

2. There has never been a better time.

There has never been a better time to start a business; in the current economic climate most people are scared and holding onto their jobs tighter than ever. The rewards are out there for the people who have faith in themselves.

3. Don’t just wish it.

Do what you love whether it is money, people or a hobby do what you are passionate about this will give you the energy to succeed where others are failing.

4. A more flexible approach

Your work schedule should work for you, not the other way around. Some people are ridiculously productive working a few hours a day, others need to put in 40 hours a week, but few people work at their full potential if they are working 40+ hours a week with no breaks. Don’t get me wrong the work will be hard and the hours will be long until you are established but all the time you will be working for you.

5. A challenge

You will have no choice but to be creative. When you work for yourself you won’t be able to ‘coast’ along, instead you have to constantly stay on top of things, making sure your business and more importantly your life don’t go off the rails. This adds to pleasure and excitement of working for yourself as you have a solid purpose and often get great satisfaction from the work you do. Don’t allow yourself to be part of the mainstream anymore, instead start working for yourself, get creative and build something you’ll be proud of in years to come.

6. Set Goals

You cannot build a successful business if you don’t have your priorities straight and ego in check,”

While entrepreneurs should be confident don’t let it run away with you

7. Set Goals

Too many people think they need to reinvent the wheel, why not make an existing idea better.

8. If funds are limited

If you have limited resources your business need to be focused on making money. Determine whether an expense is a necessity.

9. Clients don’t normally seek you out

Put yourself out into the world. Always look to sell yourself without being over the top and annoying, try Joining groups, network (4N, BNI etc) regularly, and find different ways to get your business in front of people who matter.

10. Be afraid, be very afraid

Do you want to wake up 30 years from now doing the same job you are doing now?, how much more scary can it get.

If you would like any help or advice with your web presence or would like more information on cloud contact us.

At CodeSpinner we have over 25 years experience of producing custom software.