22May Custom Software Development During The Credit Crunch
If your company depends on technological systems for its survival, the last factor you should be doing is suspending essential development function that could give you the competitive edge. Or if you’re a newbie with a bright idea, holding fire on your dreams could mean somebody else beats you to the punch by the time you determine to act. This post examines how enterprise survival depends on evolution and those that choose to wait out the credit crunch could locate themselves obsolete.
So your turnover is down, and your buyers appear to be window-shopping rather than purchasing.
What can you do? Batten down the hatches and wait for the economic storm to pass? That may possibly be your natural instinct, but the chances are that by the time you re-appear from your self-imposed exile, your competitive edge might have gone, and rather than re-emerging into a post credit-crunch world where economic recovery delivers you fresh opportunities for company prosperity, you could uncover your self obsolete.
Survival depends on evolution. Hold still and the world will pass you by.
That’s why if your company depends on technological systems for its survival, the last thing you ought to be performing is suspending crucial development function that could give you the competitive edge. Or if you’re a newbie with a bright concept, holding fire on your dreams could mean someone else beats you to the punch by the time you choose to act.
So how do you steer your company by way of an uncertain economic marketplace to the safe shores of a brighter tomorrow?
Firstly, bear in mind that a tough economic marketplace does not quit innovation – on the contrary, history informs us that adversity fuels innovation.
If you are an innovator, the chances are that the aspects that came together to spark your bright thought in the 1st place may possibly be there for other people to draw the identical conclusions from. Innovation very rarely happens in a vacuum and, referring to history again, it’s the very first person to capitalise on an thought that wins (take, for example, the invention of the light bulb – Thomas Edison succeeded in making the initial practical prototype, but he wasn’t the 1st, or the only person working on the light bulb).
Nonetheless, without having money flow to grow your notion into some thing tangible, an notion is all it will stay.
With banks and lending institutions producing it quite tough for firms to raise the capital needed to undertake large custom software projects, it is maybe understandable that some companies may possibly be tempted to put their software projects on hold until the marketplace recovers – or to settle for an off-the-shelf substitute that ‘makes-do’ for now. As attractive as this may seem, the risk is that an off-the-shelf answer could ultimately hamper your company objectives if the method isn’t right for you, which could result in having to make company sacrifices later on.
It’s also worth remembering that a tough marketplace can give clients a greater hand than in times of plenty. As a potential client, you can negotiate a lot more ‘bang for your buck’, so offsetting the cost of undertaking the project.
And if you do determine to go ahead, it’s essential to maintain control of your software development project. To do that, the remedy is to outsource the function to a dependable software house with a good track record – but you want to be careful and do your research.
Large software houses can be high-priced, as well as impersonal. Small software houses can lack resources or developer expertise. Look for a consultancy somewhere in the middle. Look at their site for contact data. Chances are that if the phone number is tough to discover, they’re not the very best communicators, which could spell trouble ahead.
Invest some time getting your idea appropriate. Make positive you know what you want your notion to do and what you anticipate from a software developer. If you are clear on how you want the software to function, chances are so will the software developer.
Bear in mind also that if you are significant about creating your notion, it is often a very good notion to run it past a software consultancy prior to you embark on spending significant amounts of money. A consultancy can assess the technical feasibility of your plans and present that extra, independent analysis of the business risks associated with your idea, so that you can move forward with confidence. Some developers will offer totally free initial guidance, so you can see what’s involved. You’d be surprised at how numerous suggestions fall at this vital initial hurdle.
Picking a custom software company
Before approaching a software development firm, work out your precise requirements in the form of a simple analysis. This includes the requirements from an end user point of view and a rough style specification. Here’s what UK-based custom software organization, Blueberry Consultants (http://www.bbconsult.co.uk) advises:
Study the Internet for custom software development firms that have undertaken similar projects. Check the consultancy’s technologies expertise Ask for client testimonials. See if the software consultancy gives a no cost detailed quote based on the very best spec you have. Assess the expenses involved and no matter whether you can afford it. Check that the project can be completed in the timeframe you want. Make positive you get on with the people who will directly work on your project and that they have the needed expertise to get the job carried out. This is easiest to assure in a medium-sized firm that is not too huge to be impersonal or too tiny to lack resources.
Top ten questions to ask your developer:
What is your policy on copyright?
Very good Answer: The customer owns all copyright when the project is paid for. If the developer uses internal libraries, a royalty-totally free, perpetual, transferable licence is granted.
Poor Answer: The developer retains copyright and offers the customer with a licence to use the program.
Blueberry advises: If you are paying to have software written, the developer ought to hand over (assign) all copyrights in the program at the end of the project. A couple of disreputable firms attempt to get buyers to sign a contract where they only pass over a licence to use the software. The developer is then legally entitled to ask for further fees in the future, even although the customer has paid for the development.
Will your method be built on leading of any other platform or method?
Excellent Answer: No, the program will be all new code built with regular tools and libraries.
Bad Answer: The program will be built on leading of our fantastic XYZ platform.
Blueberry advises: Some developers try to decrease costs by building systems on top of third-party or in-home ‘platforms’. The problem with such an approach is that it leads to problems with maintenance and licensing. The developer is unlikely to release source code to his great platform, so if there is a severe dilemma it is challenging to get another organization to take over. You should guarantee that all source code to the entire program is available.
Will your system use or depend on third-party libraries or systems?
Very good Answer: Yes, but we will make sure that you can get licences to such systems, and these expenses are clear.
Bad Answer: I’m not certain… possibly.
Blueberry advises: There are several effective libraries obtainable to developers, and these do save a lot of time. Nevertheless, such libraries may be licensed to the developer, not to the end customer, and this either presents a future additional price, or a maintenance problem. Similarly, the system might be developed to work with external systems like MS SQL Server, which have associated expenses. The developer should make certain the customer understands all such expenses.
Do you have source code control?
Great Answer: Yes. All code written by our developers is placed into a central source code control system, which is backed up off-site nightly.
Poor Answer: What is source code control?
Blueberry advises: When software is being written by a team, the team members need to share code between each and every other. A source-code control method makes this straightforward, and is a quite standard tool. All professional developers ought to use source-code control. There is a achievable argument that source code control is not needed if the project only has one developer, but we would still suggest it be employed, simply because it ensures that code is backed up to a central location. The source code need to be backed up nightly to one more location, otherwise there is constantly a risk that it may possibly be lost.
Who collects requirements from the customer? Do they have development experience?
Good Answer: A senior manager with development expertise talks to the customer to comprehend their requirements.
Less Good Answer: Our salesperson talks to the customer 1st, and then brings in the development expert later.
Blueberry advises: Obtaining the correct requirements from the customer is completely crucial to the success of any project. Whilst the finest salesperson may possibly be trained to do this, our encounter is that employing a person with development expertise makes this method a lot more dependable and far quicker, since it eliminates communication errors. Of course, the development expert must have the company and communication skills to build a rapport with the customer.
Do you have men and women who can support with System Deployment and Firewall Configuration?
Excellent Answer: Yes, we have an in-home systems administrator, who can support with any necessary firewall or other systems configuration.
Less Good Answer: Your IT department should do this, or we can maybe suggest a person.
Blueberry advises: The IT department in most companies typically has really competent individuals, but they are usually incredibly busy, which can result in unnecessary delays in the course of deployment. The skills needed to install a new system can involve numerous people inside the IT department, e.g. one person to configure the firewall, yet another to function with the database. If the development firm has in-house folks to do this, it can save really a lot of time.
How long have you been in organization?
Excellent Answer: Ideally, at least three years. More is far better, but are they up to date with new technologies?
Blueberry advises: Certainly, a organization that has been in organization longer is likely to be much more stable than a new start-up. The 1st three years of any organization are the toughest, so look much more carefully at businesses younger than this. Nevertheless, there are disadvantages to older companies, particularly in technology, as they might not be up to date.
How several developers do you have?
Great Answer: Ideally, at least 6, but not much more than 30.
Blueberry advises: A business with less than 6 developers is likely to have tighter resource constraints than a larger firm. Development projects are usually extended beyond their original deadline, and with a smaller business this can often mean that new projects cannot begin on time. A smaller firm will also have less people to draw on to solve technical troubles.
What languages do you use for programming?
Very good Answer: C#, .NET, VB.NET, C++
Bad Answer: Visual Basic 6, Microsoft Access, Delphi
Blueberry advises: The proper language for a project depends on the project requirements. Nonetheless, Visual Basic 6 is no longer supported by Microsoft, and completely need to not be employed for new projects. Microsoft Access is extremely well-known for workgroup systems, and is powerful at this level, but it is not suited for larger projects. Code Gear’s Delphi – which was Borland Delphi – is a extremely strong tool, but it’s tough to find individuals to update the code.
Do you use any form of logging in your software?
Very good Answer: Yes, our software writes detailed logs.
Poor Answer: No, we rely on debugging the program prior to we give it to you.
Blueberry advises: All programs will have bugs – this is unfortunate, but true. Programmers have really effective tools to aid eliminate bugs, but these tools usually only work on the programmers own personal computer. This is unfortunately no assist in solving bugs that take place on the customers’ laptop or computer. The finest answer to this issue is to add code to the software so that it writes detailed logs on precisely what occurs. When a dilemma occurs at the customers’ website, the program should send the log to the development team, who can then fix it. Regrettably, writing logs takes extra effort, and many programmers do not do this routinely.

