Manchester Software Consultant

Sunday, 21 October 2007

The importance of planning in the development of large software projects

The follow is a precis snippet from a request for advice I received recently. Followed by my response.


Dear Manchester Software Consultant,
..... I find when I'm writing code that my functions end up being longer than is easily manageable. Now I am approaching the task of building from scratch a project which is much larger than anything I have taken on before. Could you give me some advice on how I might approach this?
.....


Generally speaking you make functions smaller by taking pieces of those functions and isolating them off... as functions!

I see looking at the code sample you sent me, that what you have done by separating out your function “check_object” as a separate function is a perfect example of this.

However, the key thing I notice from what you've told me is that you appear to be coding without having a plan for the design of your application.

What you need here is not lessons in C# - what you need is a plan.

It’s a mistake to think that coding is the significant aspect of programming. That is like thinking brick-laying is the significant aspect of house building. Obviously you need brick-laying, and you want it to be as good as possible, but ultimately it’s not very important.

What is much more important is the positioning of walls, where you put doors and corridors, how many rooms and how they connect.

Coding is similarly not very important! Yes, you can do it better, and you can do it worse, but as long as your coding walls stay standing what is much more significant is the design of your program building.

I would recommend that before you do any more coding, make a plan of all your classes, and the properties and methods, (variables and functions) they are going to have.

Write this down!

So for each class specify what its variables and functions are.

For each class level variable, specify what its datatype is going to be and the range of values it should take.

Then for each function you should specify what parameters it takes the data types of these, and what the return type is and write a description of what the function does.

Once you have this you have your whole application already figured out, before you write a single more line of code.

When you have the plan in place, draw some schematics of how these classes interact with each other.

With the plan and schematics in place you can see whether there is a better way to do any of what you are meaning to achieve, without having to re-write lots of code.

You may want to re-write the plan 2 or 3 times before you even start coding. Changing the plan is much easier than changing the code.

That’s why you make a plan!

Windows forms clients to bespoke database applications

Windows forms clients to bespoke database applications

Monday, 16 July 2007

Developing a "Web Presence"

Dear Manchester Software,

I am finally ready to accept your offer for a simple Web site to publicize my work services. Also, it used to be that it cost $35 or so a month for the domain, but maybe you know a less expensive way.

I would want it very simple. Just a bit of copy, some samples/links to my stuff (much is on the Web) and a photo and my contact info. I don't know how to get it up in the search pages, but I figure if I can pick key words that can point to my niche (as described above) that would be good. Can you advise me?

Regards,
Enquirer.

Dear Enquirer,

First up, $35 / month is way too much money to be spending on domain services and/or hosting.

I would love to help any way I can – would probably be a service to me to let me help in fact. I will explain why later, or you could just trust me!

I think the first step is to say how you currently get new business, and how you have it in mine that people will find your “web site”.

I put “web site” in inverted commas, because I would tend to advise that it is often better to think in terms of a “web presence” than a “web site”, but whether or not that is true for you depends on how your web presence is going to fit into the rest of your marketing.


So could you say what other marketing you do?
How will people be liking to know your web pages are there?
Would your business partners be willing to link to your site?
What would a typical visitor to one of your pages be searching for when they find your pages?
Do you have a blog / some blogs?

While we’re on the subject if you don’t have a blog specifically about your business, then start one today!
Do this here:
https://www.blogger.com/start
We can discuss why this is so useful later, or you could just trust me!

The first thing to know about marketing on the internet is:
(1) “Content is king”
(2) “Linking is queen”

Send me some answers to the questions and then we can take it from there.

Saturday, 12 May 2007

Free online marketing available for all

Two of my current favourites are Google maps and Craigslist.

For the Google maps, simply get yourself a google account, go to your account page, and select the link to the "Local Business Center". Here you can add a new listing which shows up as a balloon, when people search google maps for business of your type. Google will send you out a security code in the post, so as to verify that the map entry is legitimate. Once you receive the code, you need to go back to google's site, and enter it into the box along side your listing. Then wait for google's next update which takes about 4-6 weeks.

In the mean time you might want to think about other forms of free online advertising. As more and more people spend more and more time online, these ways of marketing will probably reap rewards for people who have been paying attention to them.

Here are a couple of examples, that I have put on Craigslist.
Craigslist is a free online classified ad site and gets massive amounts of traffic in the US, and probably the UK will eventually follow the same trend.

http://brighton.craigslist.org/act/328364141.html
http://bristol.craigslist.org/biz/328365424.html

I Recommend you get yourself an account, because it makes re-submitting your adverts easier - they are automatically delisted ever 6 weeks, so you have to log in and re-submit.

Notice how I have linked the adverts through to some of my web sites.

Saturday, 17 February 2007

Excel VBA courses for charitable organisations

Oh complete joy, I was thrilled to pieces last week to have the opportunity to lead a course on Excel VBA to administrative and financial staff at one of the UK's best loved charitable organisations. They have a regional office in Altrincham, and the area itself is quite delightful - the office was right next to M&S so nice cool deli snacks for lunch too! Lovely old building too, with lots of history. Like I say, it was a complete joy. And a special thrill for me to get to support, in whatever brief way, an organisation that I have admired and respected all my life.

Friday, 2 February 2007

Database Integration

Having been working in the I.T. industry for the last 20 years, if there is one things that we are masters of at Bindon it is the integration of new and existing software systems. In the last 2 or 3 years, this integration of software systems has tended to very often include connecting up mobile workers so that their activities can be directly input into the company's central database by means of cheap technologies such as handheld devices, PDAs, PocketPCs and mobile phones.

Wednesday, 24 January 2007

Manchester Software Consultant

Manchester Software Consultant