CSS3 Rocks! Please use latest browser version.
Welcome to Walter Moore Canada's Blog. These comments are strictly opinion. You can disagree!

Thursday, January 21, 2010

Rapid Application Development(RAD)



Originally Published 1997-09-25

Rapid Application Development(RAD) is tools and methodologies. Here are a few opinions on both.
I have been using RAD tools since 1995 but have used the methods long before there was a name “RAD”. I have seen RAD benefits and abuse. Whether you like it or not it is today’s development platform.
I have created a short list of things to keep in mind when you step into RAD. They include requirements, benefits, disadvantages and a summary. In no way should this be considered a complete list.

Requirements:

  • Excellent leadership. Somebody has to point the technicians in the right direction and let them go.
  • Top skilled technicians. If you don’t have the motivated people to do the work it won’t get done. They also have to understand business requirements and be able to interface with clients.
  • Supportive infrastructure. This is two sided. You have to inform others of change ASAP, others must be co-operative in supporting your goals.
  • Co-operative clients. Some clients want everything yesterday or do not calculate business value.
  • Everyone has to “buy in” to the process. It requires extreme dedication by all involved.
  • Best tools for the environment. Because a tool is great does not mean it is best for your site. On the other hand the environment should be open in structure to allow the best tool.
  • Compensate staff. If you don’t recognize these achievers you will loose your most valuable asset, your staff. Make sure no one steals your investment!

Benefits:

  • You get business benefits very fast($$$$).
  • Time boxing really allows you to focus on deliverable components.
  • Due to factors like iterative development more client satisfaction. Clients are involved from beginning to end.
  • If done right you work out more initial requirement bugs before installation.
  • You reduce the moving target syndrome.
  • Focalizing data into one view instead of many screens.
  • RAD’s usual focus is on high return developments. Usually related to the financial sectors of the business. In my experience 10-1 payback in first year is easily obtainable.
  • Reusable objects make future developments even faster.
  • Did I mention very FAST and very high client satisfaction.

Disadvantages:

  • It is like college development projects. You would produce something that performed the required functions, looked good, but usually was not the best quality. Due to time constraints you submit what you have accomplished and take credit.
  • The client usually gets a shell of what they want with several sections to be added in future projects(if you get to them).
  • Poor leadership can result in projects failing to achieve objectives.
  • If the technicians are low skilled you will never achieve objectives. Regardless of leadership.
  • It burns out good technicians at an alarming rate.
  • Because RAD is usually used on projects that have never been attempted many “work around” coding methods are used.
  • Initial project requirements are usually under estimated.
  • Time boxing makes technicians compromise on solutions.
  • The target still moves, just faster.
  • Client expectations go through the roof. Suddenly they can’t wait six months. Even though before RAD you told them two years or more.

Summary:

Sounds pretty negative doesn’t it? Surprise….
RAD can be great for your business. Although it has some drawbacks the return on investment(ROI) can’t be beat. Time boxing is a mandatory element(unfortunately)! If you use top notch leaders and technicians, keep them happy and make sure no one steals them without a fight you can reduce the disadvantages dramatically.
Using the methodology and tools for Internet development is a logical evolution of the client server model. Recommend you implement Object Oriented(OO) methods regardless of tools. Make it challenging, rewarding and above all, FUN!
Something to think about….
You look at a piece of machinery. It cost $2,000,000 and maintenance will be another $2,000,000 a year. It saved or makes $10,000,000 benefits each year and will last five years before you dispose of it. Would you buy it? Would you be happy? Probably, 500% ROI per year would make most of us happy.
Now, you have employees, some who have produced solutions that either saved or made the company $10,000,000(plus subsequent years). Would you pay them $2,000,000 per year? I doubt it. If they are lucky they get a bonus and/or a raise of $5,000. What is the difference? You made an investment and got back the same return either way.
The opposite is true as well. If the machinery keeps breaking down or not performing it’s function you replace it.
I know it is not feasible to compensate at this level but doesn’t the compensation most companies give seem inadequate. Loosing good investments because you won’t pay an extra $10-20,000 just doesn’t make sense. The costs just trying to find another good employee would be substantially higher(plus training etc.). In my experience good employees produce 5-10 times the average employee(more for below average). They are extremely valuable assets. Treat them that way. If they are good, your payback is worth it.
The key truly is the people.

About Ultra RAD

You heard it here first. That is because I have termed this type of development. It is different than RAD in that it is specifically designed for projects that take less than 5 months. Once you have implemented several RAD solutions using OO methodologies many new projects suddenly can shift from 6-8 months to 3-6 months. Although the tools are the same the methodology changes. The process is streamlined even further. Timelines are tightened. Reusable objects are a must.

No comments:

Post a Comment