Last week I had to do a small project within Visual Basic. I wrote a database layer with 3 classes and used it from the Business-Logic – and the BL was called from the GUI (a typical 3-tier application J).
After programming for about ½ hour, I recognized that I have to do a lot of work in the declaration-writing of every function within the BL. I’ll give you an example:
Dim dbAccess as new BMODataBase.DBAccess()
dbAccess.LocalDB = MySettings.DataBaseConnection
dbAccess.SQLCommand = BMODataBase.SQLCommand.SelectStatement
…
…
…
After doing those more than 2 times, I did it with Cut&Paste J
Then I recognized, that I had many compile-errors. The cause was, that most of the code is identical – most, but not everything. So I asked myself: is there a possibility to minimize the compile-errors without writing code as much ?
YES – there is something: call Code-Snippets !
A very simple way to define your structured code what the IDE have to insert, with the possibility that the IDE asks you about the last 20 % of the code which might be different – and the best of this story: your Code-Snippet is fully IDE- intellisense !!
I don’t want to describe in detail how you write your own snippet and which tool you have to use, because there is already a VERY good and short article about that:
http://msdn.microsoft.com/vbasic/default.aspx?pull=/msdnmag/issues/06/04/AdvancedBasics/default.aspx
You will find the tool to write your code-snippet on: http://msdn.microsoft.com/vbasic/downloads/tools/snippeteditor/
Write your code more easily and with less compiling errors - without Cut&Paste – do it with Code-Snippet ! Have fun J
Scrum – another method to realize projects successfully in a short timeframe. If you have to realize a software project, your customer normally would like to see the progress of that project – this progress should normally be consistent and continuous. The methodology of Scrum sets this aspect always in the center point.
This sounds very easy: the project-team meets every day for a very short discussion – there, every team-member answer exact these 3 questions:
- What have you done the last 24 hours within the project?
- What are your next steps in the next 24 hours?
- What problems do you had the last 24 hours?
A project member (the so-called Scrum-master) has the task to solve the problems from all team-members that have arisen in the last 24 hours and to create clarity – he is the interface from the customer to the project-team and internal resources.
Basically after a short time using Scrum, you could see following positive aspects:
1. The project-team is very motivated, because there aren’t “marathon-meetings” any more – only about 5-10 minutes effort / person
2. The customer has a clear insight what’s going on with the success of his project
3. Because the result could be seen every time, changes could be made every 24 hours and the team could react very flexible
Microsoft itself works on some projects (first of all on those which are very time-critical) with this methodology. MSF – Microsoft Solutions Framework is the procedure, where all standard-projects in Redmond are build on. Right at this moment, Microsoft is working to include Scrum within MSF as the standard process for very time-critical software projects – it is not a conflict to MSF; it should be seen as an addition.
For those of you who are very interested in Scrum, I can suggest the book “Agile Project Management with Scrum“from Ken Schwaber (ISBN 0-7356-1993-X / http://www.microsoft.com/MSPress/books/6916.asp). Very intensive concerned with this topic has my colleague in Redmond: Chris Flaat. He is Development Lead in the Visual Studio Core Team. His blog could be found at http://blogs.msdn.com/cflaat/.
There are also some educational resources (first of all for scrum-masters): http://www.rallydev.com/csm_registration.jsp - and at least a very good documented website with very good field reports about scrum: http://www.scrumalliance.org/
On this note: Good luck for your project – make it with scrum!