August 2004 - Posts
Something I've seen many a times when developing or managing a project is that a big danger is over specifying functionality.
Developing a spec is something that takes a lot of time, and it removes a lot of the flexibility needed for delivering a successful project.
Don't get me wrong, a spec is definitely needed, but it must be flexible. It's almost impossible to cater for everything in a spec, so if you rely only on the spec, problems will occur, and your whole project plan will be no good.
You need a spec for communication with the client, but I've never seen a project where a spec was fully sufficient in alleviating scope creep. So instead of trying to prevent any scope creep from occurring and alienating your client, you should try to use alternative methods to accommodate the scope creep.
A nice way of saving time on mammoth specifications which is open for interpretation problems, you should spend some of the time to set up a list of testing procedures which will prove that the functionality is hitting the target. And you need to be flexible in this. It's necessary to provide an over all specification and testing procedures before hand. It's also very important to have a solid design and architecture plan. But you need to be flexible and cater for some extra time during the project for specifications that needs to be done just before developing an item.
You always know about more factors just before developing a piece of functionality than at the conceptualization phase, so the chance is that the specification that you provide for the functionality will be more spot on. You will also then be able to provide a better test-plan for that piece of code.
There are a lot of ways for developing and managing project. So I'm not saying that this post applies to everyone. I feel you shouldn't try to stick to one methodology, but try and take some from the several methodologies and use what works best for you and the project you're dealing with.
We have a legacy asp application we use to track our bugs.
When I tried to install it on our Windows 2003 server, I couldn't get the asp pages to run. I knew this was due to the fact that MS disables almost everything by default on Windows 2003.
To enable it you have to open IIS and click on Web service extensions. Here you can right-click on Active Server Pages and click on allow.
I haven't posted anything in a while, the reason for this is due to the fact that I'm busy with a new project.
Our team has set up in new offices and everyone is up and running. Last week was still a bit chaotic, since I had to develop a POC for an oracle app server integration, while still giving guidance to the team members.
We're only starting to be productive now, and I'm really starting to enjoy the project.
We've done some fun stuff, including providers for our db layer and some really interesting OOP designs.
I'll post some info regarding the more technical aspects of the project as I get some time.
Moving into new offices are never easy, but I must admit that I was totally unprepared for this experience.
We ordered 3 new pc's, one of them our development server. We specified that we wanted Seagate hard drives and not Maxtor hard drives, but apparently hardware people always knows what's best.
So after setting up our pc's, we found out that the wrong hard drives were installed. After this, we had to call up the hardware guys and let them install Seagate hard drives (we did this to keep our network admin sane - he hates Maxtor), this meant we had to install everything from scratch, never fun.
We decided to make our new network totally wireless - who needs the hassle of wires? It's now almost 8 hours later, and I still haven't managed to get a pc onto the wireless network. All the clients can detect my wireless network, but as soon as I try to join them to the network, Windows XP and Windows Server 2003 freeze.
So now I'm busy with a hopeless search for better drivers.
On top of all that my laptop is acting up and blue-screening me all the time and my Oracle AS installation that took me a while to figure out isn't working anymore. It decided that the password that I wrote down and used several times isn't valid anymore.
Now that I've got that out of my system, I'm going back in again....
I've only recently started research on this subject.
It's one of those areas that I always knew I had to go read up on, but never did.
We're currently gearing up for a long awaited project, where I'll be wearing several hats - the combination of which is definitely not recommended by MSF. This also the reason for my blogging abstinence. If anyone noticed...
This project is the perfect candidate to use the extreme programming principles. The xp site is very useful, it contains images which guides you through the principles.
We are also going to use unit testing in the business layer and for the repetitive and high risk asp.net areas. We're going to use NUnit (I've played around with this before, but never really actively used it) and NunitASP.
I must say, I'm very excited at the prospect of using the xp methodology, and I hope it solves lots of problems. Some of the main problems which I hope to address with this methodology are:
- The last dash to fix everything at the end (this is the result of the develop first, test later scenario)
- The requirements misinterpretation problem, where at the end of the project the business people are not happy with what they see, and the whole system needs a rework (This can be solved with iterative development and testing - similar to MSF)
I know you'll never get a cure-all methodology, but I like the ideas like pair-programming and collective ownership.