Help  |   Contact Us  |   About Us  |   News and Events
.
Books, conferences, and other information about... Moving to Linux Switching to OOo Building Linux Apps Using Visual FoxPro
Consulting      Buy      Download      Your Account      Catalog      Support      Conferences      Resources      Fun
Recent
Releases

Buy them here
and save
50%
or more!

Making Sense of Sedna and SP2

Effective Techniques, 2nd Ed (VFP 9)

FoxRockX
Magazine

MySQL Client-Server Apps with Visual FoxPro

Flying Fox: VFP Reporting, Any Data, Any Envir.

More Books...

"Given a proper specification..." DevGuide revisited for 2012 2012/01/01
From the last exciting episode: You've got an existing application that needs to be upgraded/replaced. The issues of "What language should we use?" and "Can I do the work?" have been resolved. The questions remaining are "How long will it take?" and "How much will it cost?"

It depends..."

Naturally, the sooner the better, but unless there is a hard and fast deadline, such as the start of a pro sports season (I had that happen once), or the termination of an input data stream (had that happen once, too), whether the answer to first question is "three months" or "nine months" is for the most part inconsequential. The app hasn't been touched for a decade, a few more months won't make any difference.

The magnitude of the cost, on the other hand, is considerably more critical. One amount may be a reasonable investment for a brand spanking new version; three times that amount (roughly equated to the difference between three months and nine months) may make the effort economically unfeasible.

So..... "How much will it cost?"

And the answer is "it depends."

I've been using Visual FoxPro since it went into testing at Microsoft in 1994. Together with my work in previous versions of FoxPro (and dBASE), I have an extensive database of my historical costs for several hundred development projects. Given the proper specification, I can tell you, to the penny, how much an application will cost and how long it will take.

"Given a proper specification"'.... Therein lies the rub.

What goes into such a document? If you have an exact description of the desired system:
- How many forms, reports, processes
- How many controls on each form,
- The business logic associated with each form and each control,
- How many data elements on each report,
- Flow charts of the logic used for each process, and
- The number of tables, and the number of fields per table,
then I can tell you exactly how much it will cost.

The problem is that in the last 20+ years, nobody has - when they initially contact me - a complete specification. Most don't even have a rough idea of what they're looking for. After some introductory remarks, people tend to jump into details, such as complaints about a specific screen that performs poorly in the existing system, or nuances about a feature that needs enhancement.

It's much like a homeowner calling a builder, and, after a brief discussion of some possibilities, pulling out swatches of living room carpeting, paint chips for the upstairs hall, and light fixture brochure, and then jumping into details about finishes. Several hours and two meetings later, the homeowner wants to know how much the house will cost, without ever having answered questions about square footage or number of bedrooms.

So given that there isn't a description of the system you're looking for, what are our options?

The first is to write a complete functional specification, describing each item listed earlier. This enables me to be able to tell you exactly how much the system will cost, together with a firm delivery date. For static systems, those with well-defined requirements and capabilities, this is a viable option. I've built dozens of specifications for systems from scratch, ranging from a couple of months to a couple of years, and have a tried-and-tested template.

However, most upgrades/conversions aren't as cut and dried as a brand new system, and yours is certainly one of them. You've already indicated that there are components of the existing system that aren't being used any longer. Other existing functionality needs to be changed or enhanced, but you're not quite sure what the new implementation will look like. Developing a written specification in this scenario could well increase the cost and definitely will take longer than Plan B.

Plan B? What *is* Plan B?

Stay tuned.
Older news...

Download Updates

2012:
2/1: FoxRockX Issue January/February 2012 has been posted.
1/25: Software Developer's Guide wiki has been updated. Email for details.
1/1: FoxRockX Issue November/December 2011 has been posted.

2011:
1/25: Updated source (Ch 7) for What's New in Nine: Visual FoxPro's Latest Hits has been posted.
1/21: Updated source (Ch 6) for MySQL Client-Server Applications with VFP has been posted.

2010:
8/13: Final PDF for MySQL Client-Server Applications with VFP has been posted.
9/4: Errata for .NET for VFP Developers posted.
8/26: New Whitepaper: SuSE 10.1 Setup has been posted.
8/22: Chapter 11 for MySQL Client-Server Applications with VFP has been posted.
8/16: Chapter 10 for MySQL Client-Server Applications with VFP has been posted.
8/8: Chapter 9 for MySQL Client-Server Applications with VFP has been posted.
7/10: Chapter 8 for MySQL Client-Server Applications with VFP has been posted.
7/1: Chapter 10 (draft) for Linux Transfer for Web Admins posted. This chapter's topic is Installing Apache and BIND...
6/20: Chapter 7 for MySQL Client-Server Applications with VFP has been posted.
6/13: Chapter 6 for MySQL Client-Server Applications with VFP has been posted.
6/5: Chapter 5 for MySQL Client-Server Applications with VFP has been posted.
5/20: Additional source code files for VFP Best Practices and GLGDW 2006 conference notes available. (More)
1/14: Whitepaper on Remote Access Via SSH updated with Public Key Authentication. (More)
1/5: Sample chapter for Taming VFP's SQL posted. (More)
10/1: Additional files for What's New in Nine Chapter 7 source code available. (More)
6/5: Update to BuildFox source code available. Slight update to code on page 317.... (More)
5/13: Chapter 9 (draft) for Linux Transfer for Web Admins posted. Chapter 9 covers Dealing with Attacks... (More)
5/1:  Chapter 8 (draft) for Linux Transfer for Web Admins posted. Chapter 8 covers Additional Security Issues... (More)
Older updates...

Help  |   Contact Us  |   Legal  |   Privacy  |   Copyright  |   Join Our Mailing List