Thursday
Aug282008

Whos doin wot

Here at kmsystems our focus is Microsoft web technologies like ASP.NET, SQL Server, AJAX and so on however I always encourage my team to check out the environment and other web platforms. I believe in always learning and continual improvement and by using other platforms we can learn new and better ways to build for the web.

So to try and lead the way (also eat my own dog food) I have been using the Morfik rapid web development platform for a while now and one of my first projects using the  Morfik is called "Whos doin wot". We have been using this tool internally and now I wanted to write a few posts about it and share it with you.

Basically we here at kmsystems are a remote team and needed a way to share with each other what we planned to do for any given day. At the beginning of each day we post what we plan to do and then at the end of the day (or periodically throughout the day) how well we went against our plan. Also we wanted a very simple and no intrusive way to track how much time we were spending on certain projects. The problem with our other existing time sheet tracking tool is that we didn't fill it in until the end of the week (or even later for some of us like me) when time sheets were due. This meant that it became a struggle for the team as they tried to remember what did I do last Monday? With Whos doin wot we update the application daily if not two, three or four times a day so entering how much time you had spent on a project becomes second nature and not a painful chore.

I didn't want to waste a lot of time and money building the application  as I wasn't 100% sure it was a good idea yet. I could have quite easily built it in asp.net with a SQL server database but had been playing around with the Morfik rapid application development platform which is super quick and takes the least amount of effort. So I thought it would be the perfect project to put my Morfik skills to work on.

I have set up a dedicated blog for Whos doin wot so please visit us if you are interested in using the application and red some more about the development.

Wednesday
Aug272008

Become agile

I read a great post recently "Creating an agile environment" by Gregory S. Smith based on the book "Becoming Agile". This is a great article and well worth the read, the most important point that I took away was:

An Agile team is successful because it is honest and project status is transparent.

This is simple and easy to follow, it's how I try run kmsystems no hidden items just upfront and open. I want my clients to be truly involved in the development process, providing feedback, direction, ideas so that the solution we deliver far exceeds their original expectations. Most times getting clients engaged and involved is not as easy as you think. Not from any fault of their own they already have a million things on their plate and just want you to go away and come back with a solution. Unfortunately the hit rate of mind reading and interpretation isn't that high so more likely than not if the client doesn't get involved the outcome will not be what they are after and definitely wont exceed any expectations.

Another interesting point the article raises is around change

Many people still believe requirements change because they are poorly managed. They cannot comprehend a process that embraces change.

It's time to face it and admit perfection does not come without evolution and never stops. Change is important in software development. I used to tell my guys that they had to write super flexible code because tomorrow I'm going to ask them to change it.

I've summarised what I thought were the important points Gregory's post

Practices that foster an Agile culture. Practices such as high customer involvement, testing early, and collaborative decision making

An Agile manager will never write a line of code, never document any requirements, or test a feature. What an Agile manager will do is:

* Help the development team track true status
* Encourage the automation of redundant, repeatable tests
* Mentor the team on Agile processes and demonstrate the value.
* Help the team break the work into small chunks that can be delivered quickly.
* Ensure the work being delivered is in tune with the customers need.

Attributes of an agile environment:

* behave in a way to enhance human relations.
* “Just enough” planning
* Always ready to stop, drop, and deliver
* Unrelenting pursuit of customer value
* Ensuring technical excellence
* A great collaborator, communicator, and relationship builder
* Leading the team to ownership
* “The Scrummaster”
* An Agile team member does not fear uncertainty. They look forward to the challenge and they know they will succeed.

Saturday
Aug232008

Web development made easy

Developing applications for the web is becoming easier and easier and in the near future I believe developing web applications will be as easy if not easier as it currently is for desktop application development. A lot of the hard work that goes into creating data access, business logic and presentation layers that initially started out with developers having to code 1000s of lines of code by hand is becoming automated allowing developers to focus on more important logic and getting applications completed faster and cheaper.

I've spent a fair bit of time using the Morfik web development platform a rapid application development platform. I must say I have found it to be amazing and the quickest development platform I have used so far. Stay tuned as I will do some more specific posts about my Morfik experience soon.

Even though I think Morfik is great I am still drawn back to my favorite ASP.NET mainly for the reason that I have been using it for around 5 years now and it has without a doubt the biggest developer community. I just stumbled upon a new web service called Iceberg which makes developing web apps in ASP.NET super easy. So easy that anyone can do it, they claim you can build a web app in 5 minutes. From what I have seen Iceberg is similar to Ironspeed and an internal application we have built that helps us build around 60%-70% of the application framework in a few minutes. Then the real work is building in the business logic.

As you would know ASP.NET is our primary development here at kmsystems and we have built over 60 enterprise ASP.NET web applications. My team and I will give Iceberg a run and will let you know how it goes. Heres a quick demo of Iceberg

[viddler id=eb002671&w=437&h=370]

Thursday
Aug212008

Agile development - with flash

I wrote this post on my personal blog about how cool I thought the Xero accounting application is. With the number one thing being collaboration, being able to provide your accountant, book keeper, ad visor, coach whoever real time access to your financial info changes the way small to medium enterprise currently do business.

Philip Fierlinger from Xero posted some excellent slides about agile development and getting real. I don't know if you really needed to use flash, I'd prefer to just go straight to HTML but whatever works for you as long as it quick and easy.

[slideshare id=103337&doc=xero-better-by-design84&w=425]

If you are interested you can see Phil in Sydney at the Oz-IA conference

Thursday
Aug212008

Incremental changes and inconsistent design

Just read a very interesting article "The Quiet Death of the Major Re-Launch" on UIE about applying small incremental changes to your web site instead of the old method of redesign the entire thing with a massive roll out often sending your visitors it a tail spin of confusion. Even though we don't build web sites as such we build web applications this is the same approach we apply. This way we can actually get changes and improvements out to your customers much quicker and faster. Also testing and bug fixing is quicker and simpler as we can focus on smaller sections not the entire platform.

This paragraph

Our findings show that consistency in the design plays second fiddle to completing the task. When users are complaining about the consistency of a site, we've found that it is often because they are having trouble completing their tasks. On sites where users easily complete their tasks, the users seem to pay little attention to glaring inconsistencies, often telling us in their ratings that the site was indeed very consistent.

This sings loud and true to me as we have found the same. Some of our applications are lets say design challenged with different fonts, poor colour combinations, buttons that don't look like buttons, etc. Users don't raise design as an issue as application allows them to get what they want done and gets out of their way. Other applications we have built have not been as easy for the user to get what they want done and makes them think "where's that button for xyz". With these applications the issue of design consistency is a concern.

Obviously design is a very important element of any application or site but being super critical of the layout can sometimes just get in the way or your users. The application is great to look at but to actually get the task done maybe compromised.

What has your experience been?