StartHub

Lately there has been alot of incubators in the news again. There seem to be a trent overseas (us spesific) around helping startups or ideas come off the ground.

 In South Africa we seem to have none of that (or very little of it).

An idea came to mind to setup something with regards to helping South African based startups or people with ideas to get on the roll
or to get their ideas out there – a monthly meetup where possible funders and entrepeneurs can meetup, pitch ideas, share ideas, problems etc.

Would anybody be interested in this?

Please respond by commeting or contacting – info@elevato.co.za

Software design phases

I read a great article / post by Jon Kolko on Information Architecture (http://www.jonkolko.com/writingInfoArchAsSynthesis.php) over the weekend and it got me thinking in terms of the various levels of architecture or design that a software solution actually go through. After reading the article it became clear to me that we design software not just to provide developers with a guideline of what and how to develop. The design actually begin before the software and solution architectures get drawn up and continue beyond what we call the solution architecture. Below is how I see the design process:

1) Information architecture – gathering, sorting and mashing up of the needs and wants for a software solution;

2) Solution architecture – taking the needs and wants and fitting it to a set of technologies (black boxing);

3) Software architecture – expanding the black box into deeper levels to provide a guideline for the development or writing of the software solution;

4) Process architecture - (within the actual development phase) as the solution gets developed, the developer need to constantly redesign code to fit changing needs or technology changes or stumbling blocks.

Legacy or Legendary code?

Today I got stuck in some “legacy” code to help a client figure out aproduction problemthat has suddenly occurred after the piece of code in question has ran in production for almost 3 years. No Issue.

What I want to discuss is not the fact that code can just stop working after a loooong successful run, but what classifies cod as being “legacy”?

Does the fact that the code is “old” (more than 3 years) make it legacy? Or is it the fact the code is developed on a framework older than the code set?Is it “legacy” because there might be better ways of doing the same job faster and more efficient? What if there is no better way of doing it? What if no matter how great and shiny the new technology are, there is still no better way to code the software to do what it does any better?
Before writing this post I did some research (meaning I Googled it) and found two definitions for the concept of  ”legacy” software or systems.
The first (http://en.wikipedia.org/wiki/Legacy_software) :
•  A legacy system is an old , technology, computer system, orapplication program that continues to be used,typically because it still functions for the users’ needs,even though newer technology or more efficient methods of performing atask are now available. …
Does not really mean “legacy” to me. Company’s can decide when to stop using a certain software solution. A piece of software might be in use due to budgetary cuts, lack of skills to improve the solutions etc.

The second (wiki.ercim.eu/wg/SoftwareEvolution/index.php/Terminology) :
•  According to \cite{BrodieStonebraker1995}, a legacy system is any systemthat significantly resists modifications and change.
I totally like – “resits modifications and change”. To me legacy means doesn’t matter what you do, what framework, what genius way you find of doing the same job, you just can not better the original working solution. An old piece of software that runs and keep on getting changed is not legacy to me. That is a “work in progress”. Legacy to me means, as the quote above implies ,there just is no better way of doing a task at hand. Legacy should rather be Legendary!
And, by the way, the issue I was debugging turned out to be a server issue and not a code issue……Legendary!

BAM Portal on Windows 7 (and above) – BizTalk 2010

We recently had a struggle trying to configure BizTalk 2010 on a 64 bit Windows 7 machine (for development purposes at a client). Try after try we kept on getting an error saying that Default WebSite is not valid. After checking, and checking, and checking (to make sure we are not seeing things) we saw that Default Website does however exists, and in our opinion, is valid. The culprit here – IIS. It seem that on Windows 7 and most probably Windows Server 2008 one has to install to full IIS 6 compatibility pack. The reason, no idea.  And we have not find an answer yet.

 

Thanks Microsoft.

 

 

The value of code snippets

We are currently involved in a project where we are not just redesigning and developing the customers integration platform/ solution, but also reworking the customers development life cycle and methodologies.  Part of this process is to speed up the development time and to put down some standards for all developers to follow.

After some discussion – in-house and with the client – the idea of templeting  came to mind.  Apart from making templets out of certain projects / custom frameworks we also thought it would be a good idea to template code structure.  And this is one way we have implemented code snippets – by standardizing what the basic code structure should look like (where private methods should be grouped, public method grouping etc).

By doing this we have seen the development speed increased and we went further by snippiting general across the board methods and logic. Again, this has increased the development time by providing the developer with a build-in reference. This even helped junior developers to catch on to the client’s development trends, practises and standards and also helped them with some guidance.

 

One of our latest projects: TagBuzz – phase one

I have recently done some Tweeds around a project Elevato is working on called TagBuzz.

TagBuzz is a social network platform that we like to call the “like” button of the web. The aim of Tagbuzz is to build up a knowledge base of cloud tags and information (likes, dislikes, products, events etc) shared accross a closed closed social network. You this decide to whom you want to inform about what you have experienced on the web.

The project is currently in phase one and we are hard at working build the web front and backends and the main part – the browser plugin.

To be kept in the loop, follow this space.

Development tools

Here is some dev tools I think all .Net developers should have in their tools box:

http://msdn.microsoft.com/en-us/magazine/cc300497.aspx

Connected Services Framework

A client of mine opened my eyes to WES (Well-enabled services).  It seems that the concept is designed more or less around BizTalk Server 2010 and the ESB. But after reading up it is def one of the better SOA design efforts / partterns I have come accross. Something to consider when designing.

http://msdn.microsoft.com/en-us/library/aa302629.aspx

Code Review

Here is a good article on the task of reviewing code. Also have a look at rietveld. A tool from Google to use in this process. Very nice to use for remote teams!

http://codebetter.com/blogs/kyle.baley/archive/2010/06/01/rietveld-or-how-to-revamp-your-code-review-process.aspx

Kanban And Scrum Short Book

This is a very useful mini book that will help sort out the question arounf the efectiveness of Kanban or Scrum  within your enviroment. Worth the read:

http://www.infoq.com/news/2010/01/kanban-scrum-minibook

Follow

Get every new post delivered to your Inbox.