Entries Tagged 'Software Development' ↓

SCRUM Update: Our first Sprint completed!

A few weeks ago we implemented SCRUM software development process and it’s been a huge success!  The development team produced great results.The tasks assigned to the developers were completed by most of them.
Our daily meetings seemed to be a big help by have each member talk their issues as well as any wins (success stories). The meetings were quick and to the point, which kept everyone updated on what was going on.

We also implemented an Excel Spreadsheet that listed everyone task and how many hours left they felt were needed to complete their task. This metric measurement is much better than entering how many hours were spent on each task.

We did learn a few things from our first sprint that I believe will make our second sprint (starting tomorrow) even more successful!

Trying a new development methodology with my Product Team - Scrum!

Many of you may or may not know that for the last year I’ve been deep into product development instead of my normal role of consulting. (My company continues to offer consulting services and we’ve grown to over 40 employees! ) Our growth has allowed the company to invest my time and company capital into a product that I’ve wanted to develop for years. We plan on releasing a beta in the first quarter of ‘08.

We started with a hybrid approach of partial specifications and some form of agile development.The one thing that I’ve noticed is that this has put some stress on the development team. The traditional way of developing for a client was just not working. I wanted an Agile approach but I’ve had to re educate the development team. I believe they have been so used to the process of having everything handed to them in the spec, that they’ve lost the ability to be agile. We don’t want to be cowboys but I’m too strong a believer that “too much process” can hinder progress. However, I do have other senior executives that may think otherwise.
:) (That’s a different post. that I have to do someday.)

Our product process has begun to evolve into the scrum methodology before I even knew it existed. It really started back in May. We needed to demo what we had so far for at the BI Conference. The entire team went into a sprint to get specific features completed. We were able to complete the task and had a successful show at the Conference.We went back to developing normally for a few months but I was feeling it was probably taking a bit longer than I would have liked.

Then we had another conference in September and the sprint began again! These sprints seemed to have produced the best results. The one thing that we could improve upon is the hours. We need to have the same passion but get the guys only working a regular shift.I know sometimes the development team feels frustrated, but I 100% strongly believe that these sprints to show where we are, even if things are not completed, has proven certain things definitely work and other components we thought would, don’t. I know some felt rushed and missed a few thing but that’s what re-factoring is for. To me, prove the idea can work and then tighten it up! Re-factor and unit Test it to death!Over the last month, I’ve talked to a couple of my friends who are working for new startups and the one methodology that has been brought up in the conversations more than a few times was the Scrum methodology that they adopted from the beginning!

Why the word Scrum?ScrumIt comes from the fact of having a small team (like Rugby). In Rugby (which I played in High School in Canada), you have a scrum to determine which team gets the ball.Everyone works together by huddling in a circle and under the scrum a player called the hooker (which I played) would try to get the ball as the team used their feet to hook the ball back.So the term scrum is perfect because everyone is working together to complete a specific task.Everyone has their role. In sports you’re constantly having to adjust your game plan and be agile enough to change it when need be. Why should software development be any different?

Scrum works for small teams around 5 to 9 members (perfect I have 4 developers and myself), usually has involvement from the client (again perfect because our partner is actively involved), and outside consultant to help once in a while (perfect, we’re bringing help from an expert one to two days a weeks, when needed, to help maximize productivity).

Characteristics of Scrum

  • A brief daily meeting , at which progress is explained, upcoming work is described and any issues/concerns are raised.
  • A product backlog of prioritized work to be done.
  • Completion of a fixed set of backlog items in a series of short iterations or sprints.
  • A brief sprint planning session in which the backlog items for the sprint will be defined. (Mini Specs)
  • A brief sprint retrospective, at which all team members reflect about the past sprint.

Last week I decided to have a daily meeting with the team to see how things are going and what we need to do next. I called it the 10 at 10. (A call at 10 for 10 minutes). We also setup a new tool called Trac that completely integrates with Subversion and includes milestones, and tickets that can be used to set up tasks. This is going to be great because now we’ve set tasks for people to complete for a specific period of time.

The Number 1 Reason Programmers Slack Off

Programmers Slacking Off

Courtesy of xkcd

My Programming language is better than yours!

I found this funny image on David Weiss’s blog

Programmer Hierachy

I passed my MCP Test for Sharepoint!

Today I took the Microsoft Certified Professional (MCP) test for Designing a Portal Solution with Microsoft Sharepoint Products and Technologies and passed it!  I was a bit worried because I only studied a couple of hours this morning before heading over to the  local college to take it.

I actually did quiet well!  I passed with a score of 900 out of 1000!  The funny thing is I knew the 5 questions that I got wrong were.  When I was answering the question I kepting asking myself if this was the answer that Microsoft wanted to hear or was it the answer that felt was right based on deploying a couple Sharepoint sites over the years.  As you guess, I made the wrong choice. Next time I need to remember to give the Microsoft answer, even if I feel its wrong!

When you only miss  five or six questions you really want to take the test over again and get them all right!! :) Oh well!  At least this is off my plate as one of my goals to complete this spring!

To use the id or name attribute….

I’ve been writing some code that will do a form post from one website to another. (php to an asp.net site)

I created the form that will post the values stored in a couple of hidden input tags. I used the id attribute to name each input tag.

I run a test and it looks like it posted succesfully to the asp.net site. All is good. Well….Maybe not. The asp.net site shows that it received a post but there are no items in the Forms or Querystring collection.

I don’t even think to look at then php code because A) the php page displayed in the browser and B) it did the submit to the other site without throwing a javascript error. I’m thinking the problem is 100% on the asp.net 2.0 site that received the post.

I spend the next 1.5 hours trying everything I could think of but I still can’t get the what should have been posted to the page to show up.

After almost throwing my computer out the window, I go back and look at the PHP code. I then decide to use the name attribute instead of id. Guess what? It worked!

So some of you maybe wondering why I was using id attribute instead of name? It’s because I’ve gotten so used to using the id attribute for asp.net server controls that I’d almost forgotten about the name attribute!

So the moral of the story is to write plain html once in a while so you don’t make these kind of rookie mistakes! It’s always something so simple that can ruin a good day of coding!

Visual Studio 2005 Tip #4: Column Selecting Text

There are times when you need to select text in column mode instead of the tradtional row selection. Think of it like selecting a range of columns and rows in Excel.

For example, lets say I want to highlight all the strings from this section of constants because you want to put into a store procedure as input parameters.
The image “http://static.flickr.com/21/98461267_8d67f24660.jpg?v=0” cannot be displayed, because it contains errors.

Move the cursor to the beginning column you want to start highlighting from. Hold down the ALT key and then press and hold down the left mouse button. Then Highlight the code you want with the mouse or arrow keys. Once you have the code you need, simply copy ( + C), cut ( + X), paste ( + V) or delete.
The image “http://static.flickr.com/32/98461269_a31ccc6621.jpg?v=0” cannot be displayed, because it contains errors.
Now the clipboard has stored only the text that is highlighted above. The only thing now is remove the quotes and the semi-colons in when posting it in your stored procedure!

ALT + Left Mouse button = Column Text Selection

This feature also works in Visual Studio 2003. (It may work in 2001 but I have not used it in several years to remember)

technorati tags: ,

Quote of the Day

“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” - Rich Cook

We’ve redesigned our Company website!

Please check out the new look of the consulting company that I’m a partner of. We updated the website and and I really love the new look. Check it out at http://www.veniceconsulting.com

Shitty Software

I love this post that Dave Winer posted on his site over 10 years ago! The great thing is nothing has changed since then and it still holds up today.

Visual Studio 2005 Tips #3: Using Surround with …

Another nice feature that will save on time and re-indenting your code is the Surrounds with snippets.  It works the same way as Code Snippets but the difference is that you highlight a section of code that you want to surround your code with.

This example I am going to surround a section of my code with a try catch.  The keyboard short cut is Ctrl + K and the S.

A popup combo box will appear asking you what type.  You can selec the you want to surround with.  Since I am going to use a try catch, I can hit the “T” key and then hit enter.

My code is now surrounded by a try/catch with the Exception object available for me to assign a variable to.

Visual Studio 2005 Tip#2:Writing your own Code Snippets

Now that you’ve seen the power of using Code Snippets, the only thing cooler is creating your very own code snippets!

The best tool that I’ve seen to help you create your own is one from Microsoft. It’s actually an open source project that if want to contribute to, you can.

You can download it from the MSDN website.

Visual Studio 2005 Tips #1: Code Snippets

One of the new features of Visual Studio 2005 is the ability to use Code Snippets.

At times coding can be very repeative and the 9 out of 10 times its the same thing that I am typing.  By using the snippets feature I can reduce this.

So How do you insert a Code Snippet?
The fastest way is from the keyboard Press the Ctrl key + K and then X.

A popup window will appear for you do select the available snippets.  There are several to choose from and you can even create your own!  For this tip I am going to do a Property snippet. Press ‘P’ on your keyboard or scroll through the list and select it.
Flickr Photo

Your code will now have the snippet template of the property item in place.  Very cool!  However the best is yet to come!  Notice that the private data member type is highlighted. 

Flickr Photo

Go ahead and change it to the type you need.  I am going to change mine to a string.
Flickr Photo

To change the name of the private data member simply hit the tab key.  Now the highlighted box is around the private data member name.  Type in the name you would normally give your private data members.
Flickr Photo

One really nice feature is the set and get values have been modified automatically to the same name as the private data member.

Finally tab one more time and enter your property Name.

Flickr Photo
Once you like what you see hit the enter key.  However if you want to change any of the values you made you can simply hit the tab key again and it cycle through them all. (You can’t do this after hit the enter key though)

To me this is one of my favorite features and I find myself constantly doing these key strokes when I am in Visual Studio 2003. One more reason to port everything over to .net 2.0!

Debugging Tips for Visual Studio 2005


For the last couple of weeks I have been deep in development on a new project using Visual Studio 2005. All I can say is “Thank you Microsoft!” The debugging tools alone are worth the upgrade. I can’t tell you how much more productive I have been using the new Visual Studio. Microsoft, I take back everything I have said bad about you (for aleast a couple of days, or until something drives me nuts about Windows XP). This is one awesome IDE.

There is a great site I found by a developer at Microsoft. He is presenting his top debugging tips. I greatly suggest if you are using Visual Studio 2005 that you read his tips. They have been extemely useful and I want to pass this on to all (3) of my readers! ;)

First Impressions of Windows Vista

For the last 3 or 4 days I have been playing heavily with the PDC bits. The one technology that I have installed on a couple of my computers is Windows Vista.

I have a Pentium 4 3.4 ghz desktop with a 2 160 gig drives setup as a raid array. I had no problems installing beta 1 of Longhorn. (Well a little,. I realized that I needed to create a floppy for the drivers of raid controller). Hmm….I soon realized that many of the features that were shown at the PDC were not on this build. So I looked into “The Goods” (6 DVDS) that were given to everyone at PDC and found an ISO image for PDC build of Windows Vista.

Cool! I created a new DVD from the ISO image and started installing it. Damn it! For some reason the Raid drivers don’t work. I even tried getting the raid drivers from the Intel site. Nope, it rejected those drivers also. After screaming at the display a few times and cursing at Microsoft, I gave up! For the night that is. It was 2 am and time to get some sleep.

In the morning,I ended up installing an old 60 gig ATA drive that I had in my box of old computer equipment. After getting all the boot sequences right and setting up the master and slave configuration with the dvd drive, I was able to get it installed.

I have a REALLY good graphics card with over 256 megs of RAM on it and the OS took advantage of the power big time. I noticed a huge performance over Windows XP when it came to rendering windows.

The other cool feature is that when you hover over the program on the task bar, you get a thumbnail of the actual application. To take it even further, its rendering real time of what the applciation is doing. So if you’re watching a video with Media Player, you will see the video playing in the thumbnail! Thumbnails have replaced the boring old tool tip! Very cool. What’s more impressive for Windows though is that its running pretty damn smooth. By pushing most of the work to the GPU, your CPU can take care of the more important tasks.

I have also installed the new WinFX SDK to the machine and am starting to play around with this new technlogy. The technology I find the most impresive is Avalon (WPF) It’s like taking Flash and putting it on steriods. I took a brief look at this in 2003 but decided to leave it alone because it was still too far away to get too involved with it. Now that were about 1 to 1.5 years away and its matured alot since then, I plan on giving it a serious look. The other positive value of this technology is that it will work on Windows XP. There is no way that Windows Vista will be on every desktop in the next 3 to 5 years. To be able to support it on Windows XP will allow people to adopt it much quicker knowing it will have a broader audience. These are good times again. Like one of the speakers said at PDC; “Programming is fun again!!”

PDC Day 3

Keynote

Microsoft is releasing a set of tools that will allow you to create Avalon files, 3d tool to manipulate avalon files and new HTML designer. The new HTML is 1000% better than frontpage and from what I’ve seen is going to blow dreamweaver away! Pretty damn cool.

They also showed off the new Sharepoint portal services and how cool Infopath is going to work with it. Again like my previous post, Office 12 is going to change the way we do things. 2003 was a good start with with server integration, but this version is amazing. It always takes Microsoft 2 to 3 times to get it right but when they do its great. Sharepoint is really going to be that awesome product I’ve wanted it to be. We use it now at work but when this is released its going to be used like it should be. I am really digging InfoPath as a tool.

C# 3.0

HOLY SHIT. Anders has been smoking the good stuff! The things he is coming up with are amazing for the language. He has invented a new query API for C# called Linq. You will be able to create queries to any datasource writing C# code. I can’t explain it right now but it looks and feels right. I’ve always hated doing object oriented programming and then having to do things differently when I connected to the database. They just did not feel right together. Now this is going to change!

Tons of other features to the language. The one thing is that it takes the power of scripting languages that have used late binding but make it work in a way that your actualy using early binding! The compiler will know what your talking about and do the error checking and validation that you would not get from a scripting language. And to makes things even better, intellisense works! It’s totally wacky but I see it being the future of programming! I got a white paper from them on this and I plan to play around with this a bit and post what I find.

OK I gotta run. More tomorrow!

PDC, Day 2 Post KeyNote

Sorry for this being late. I had so much to see this day that I did not get much time to get onto a computer and post this.

They keynote was GREAT!

Couple of things:

1) Microsoft has been paying attention to what Apple has been up to. Since PDC 2003, when they first introduced Longhorn, the OS has gone through an other make over. Many things that were introduced in 10.3 and 10.4 of OS X are now in Vista. And they have now taken it to the next level. This is a good thing. It only makes the OS better for Microsoft and Apple. Now I can’t wait to see what Apple is going to do to leap frog Vista. We still have a year to go before they release this, so who knows!

2) Office 12 will be by far the best Office ever released. I’ve never been excited over an Office release, but this one is amazing! Menus are going away. Smart toolbars from the menu! Hard to explain but its going to change the way you use Office forever.

3) Avalon and Indigo are really going to make it! When they showed this stuff in 2003, I was blown away. It’s now 2 year later and its only gotten better and will have a future. Compared to what they showed us in 2001 (.net Services), I really had no faith back when I saw it because at the time it seemed to radical for Microsoft to pull off. However, 2 years was good because they figured out alot of the problems I saw back then and made it into a solild technology that I will now start learning.

4) The new Atlas components are awesome. It’s the new framework for creating AJAX applications. They even showed it working in Firefox and Safari!! Kudos to Microsoft for making sure it works with all browsers that support XMLHTTP!

3) I’m really excited about Microsoft again and they have restored my faith!

PDC, Day 2 Pre Keynote

I’m here at 7:30 AM waiting for the keynote. The breakfast was much better than yesterday. They also surprised me opening up another section for people to eat. (The other side of the hall). So I am wrong, there are more people here than I thought. I’ve based this on in the past by the size of the eating area. It has to hold everyone at one time. Good I have hope again for the industry.

It should be interesting on what they are going to show at the keynote. Based on conversations at our pre conference session yesterday, there was alot of things in Office 12 that they could not talk about until after the keynote. I have a feeling based on my questions about Avalon, they are intergrating it into Office 12. It also seems that Sharepoint will play an even bigger role with the servers and the office products. I like Sharepoint, but it still has a long way to go to being an awesome product.

Time will tell!!

BTW I am writing this blog in IE 7.0 on Windows Vista in the labs. I am not impressed by how SLOWWWWW the browser is. Even typing this blog, its having a hard time keeping up with my typing. But then again this could be a cytrix version of the OS. Did I ever tell you how much I think Cytrix sucks! ;)

I’m at PDC 2005 Today!


On first impression things seem alot smaller. Everything is not so spread out. This is a good thing. However, I think the glory days of sending people to these things are long over. The industry has matured. (Or I have and maybe I don’t get so excited over this stuff anymore) Also the spending days seem to be long over and I think the outsourcing of jobs has done it number on the industry here in the US.

The breakfast was ok. Not as good as they have been in the past. This could be because today is not the offical day of the conference. Sunday and Monday are pre conference days. I signed up for the one today because there seems to be two sessions that are very interesting to what I am doing right now with one my clients.

The WIFI is much better than it has been in the past. Right now I am sittting in a very comfortable chair doing this post.

They also have a lot of computers available to use . I jumped on it and it so different than previous conferences. So simple and easy to use than before. They finally started eating their own dog food and have you use your passport account to log in. However there is no longer a place to send emails to other conference attendees. I guess no one used it before. Oh well. It funny how stuff that they thought in the past was so important, is not.

Speaking of sending emails to others; there is no one I know hear this year. They have a OMPL of all the attendees and I could not find anyone from the past. I guess people are not working for companies that can send them to these anymore or they just got out of the business. Their is my old pal Brian Randall here from the M1 days. I go by and say hi. The last couple of times I’ve seen him he’s been quite cold to me. Not sure why. Maybe because I told him I don’t believe in all this Microsoft talk anymore. Sometimes I think that he thinks that Microsoft and Gates is the second coming! :)

I plan on during the week to post anything that I find interesting.

This is like my 5th PDC and I vow to do things differently this time.

  • 1) Go to the birds of feather sessions
  • 2) Actually go to the labs and finsih all of them
  • 3) Spend most of my time at the conference.

PHP programming 101

Today I bought my first PHP book! Yup I am now going to learn PHP and see what the other side is up to. I’ve been doing .net development for so long that I’ve become bored to death with it. So I’ve taken upon myself to learn php. Part of the motivation is to learn more on how to modify more of the Word Press blogging software I am using these days. It’s very extenisble, but its written all in PHP.

It looks very much like all the other languages so its not going to be that hard to understand. This is one of the advantages of current programming languages. If they all follow the C syntax, its pretty easy to jump right in and figure out. However every language have their slight differences (or they would all just be C then!).

I plan on doing doing some write ups on the blog about my experience with PHP.

The one thing that has really started to bother me about the .net framework is that I am truly stuck to only developing on the Windows Platform. I know why the do it but one should not be tied to a specific OS. I guess using a Mac is really starting to change the way I am looking at things. I don’t expect we should work for free. Heck I would not have a problem paying for the interperter for the OS. (Which should be included in the cost of the OS when you buy it, or as an addon for under $200) I say under $200 because your selling to the masses. If 100,000 servers have it installed for $100 to $200 a pop, I think you would more than cover your development costs. But thats another post for another time!