Past Meeting Archive Los Angeles ACM home page National ACM home page Click here for More Activities this month
Check out the Southern California Tech Calendar

Regular Meeting of the
Los Angeles Chapter of ACM

Wednesday, March 5, 2003

"How the IRS and California decide whether you are an employee or an Independent Contractor"

Amie Kumlom
Employment Development Department of California

(Note that this talk was not presented as scheduled)

Our speaker will discuss Article 621 of the California Unemployment Insurance Code. The California statute uses the three IRS criteria, but expands their instances into eleven criteria.

She will have her job cut out for her. Article 621 follows for you to read before the meeting. Hope to see you there.

621. "Employee" means all of the following:
  (a) Any officer of a corporation.
  (b) Any individual who, under the usual common law rules applicable in determining the employer-employee relationship, has the status of an employee.
  (c) (1) Any individual, other than an individual who is an employee under subdivision (a) or (b), who performs services for remuneration for any employing unit if the contract of service contemplates that substantially all of such services are to be performed personally by such individual either:
      (A) As an agent-driver or commission-driver engaged in distributing meat products, vegetable products, fruit products, bakery products, beverages (other than milk), or laundry or dry-cleaning services, for his or her principal.
      (B) As a traveling or city salesperson, other than as an agent-driver or commission-driver, engaged upon a full-time basis in the solicitation on behalf of, and the transmission to, his or her principal (except for sideline sales activities on behalf of some other person) of orders from wholesalers, retailers, contractors, or operators of hotels, restaurants, or other similar establishments for merchandise for resale or supplies for use in their business operations.
      (C) As a home worker performing work, according to specifications furnished by the person for whom the services are performed, on materials or goods furnished by such person which are required to be returned to such person or a person designated by him or her.
    (2) An individual shall not be included in the term "employee" under the provisions of this subdivision if such individual has a substantial investment in facilities used in connection with the performance of such services, other than in facilities for transportation, or if the services are in the nature of a single transaction not part of a continuing relationship with the employing unit for whom the services are performed.
  (d) Any individual who is an employee pursuant to Section 601.5 or 686.
  (e) Any individual whose services are in subject employment pursuant to an election for coverage under any provision of Article 4 (commencing with Section 701) of this chapter.

  (a) "Employee" also means any individual who is an employee, pursuant to Section 2750.5 of the Labor Code, of a person who holds a valid state contractor's license pursuant to Chapter 9 (commencing with Section 7000) of Division 3 of the Business and Professions Code.
  (b) When subdivision (a) does not apply, "employee" shall also mean any individual who is an employee, pursuant to Section 2750.5 of the Labor Code, of a person who is required to obtain a valid state contractor's license pursuant to Chapter 9 (commencing with Section 7000) of Division 3 of the Business and Professions Code.

Can you now answer the question, "Are you an employee?" If your still having a problem then you need to come to the meeting. Don't be caught not knowing. Hope to see you there.


LA ACM Chapter March Meeting.
Held Wednesday, March 5, 2003.

The presentation was: "Managing Software Development".

This was a regular meeting of the Los Angeles Chapter of ACM. Our speaker was Paul Willis who filled in at the last minute when the scheduled speaker was unable to be present at the meeting.

Paul said we are going to be talking about the software life cycle and the temporal relationships of the phases of the cycle. (Software is abbreviated as SW in the following discussion.)

A list of the Software Life Cycle (SWLC) Phases:
  Requirements Analysis - Most important phase
  Specifications Production Phase - Block diagrams of software with functional names.
  Design Production Phase-Design of the software to implement the specification that is defined in functional terms.
  Code Phase-The customer may know more about this than the design.
  Test Phase-Catch errors.
  Implement and Operate Phase
  Evolution and Maintenance Phase

Paul has heard about component and agile programming and extreme programming, but has not observed them and will not discuss them tonight.

Temporal Relations of SWLC Phases For Various Software Development Models (Click for Table)

The development times don't change much for each of the models but the O & M time could be 4 to 50 times the total time to produce the product. If the requirements, specification and design times are reduced the length of the O & M phase increases. It really costs you when you try to decrease the amount of time you spend thinking about how you should do things. O & M is the phase that generates bad public relations for the firm, raises cost and creates chaos when things go wrong and errors are more difficult to correct.

During the requirements analysis the requirements must be stated in the client's language and a product traceability matrix set up. Establish a cut off date for requirements with the customer in writing and agree that there will be no new requirements accepted without renegotiations. Requirements are static or dynamic, well known or sketchy, complete or incomplete and adjectival or quantitative. Look out for those adjectival requirements that are not well defined and are subjective. Automatic capture of requirements as a basis for the Requirements Traceability Matrix (RTM) is the first item that should be placed under development configuration management.

During the specification phase three products are produced. The client domain specification (CDS) is produced in the client's language and looks like a block diagram of the program. The software architecture (SWA) simulation is in SW language, and the performance model or SW architecture is in the software. The CDS is the vehicle for requirement to specification discussions with the client. The SWA is the vehicle for coupling the CDS to our SW designers. SWA and SWD performance models will add detailed layers as the design grows.

The design phase starts out with the CDS, the SWA, the SWA performance model and the RTM. The SWA will consist of SW subjects. A subject is a set of objects and an object is a design task. Sometimes the word "module" is used for what Paul calls a "subject", but he regards the word module as too general. The design job is to produce subjects that have high cohesion and low coupling, both internally and with other subjects. Internal changes should not change the form of the output definition. Data should be changed in a data base and should not be changed internally. Examples of subjects could be data base handlers, the input interface, error handlers, the output interface, scheduler, math functions, built in self test, report generators and so forth. We must show the client how our program satisfies the requirements associated with a subject by using the CDS enhanced with details obtained from the subject design and do this in the client language. When the client understands and agrees then have the interface team certify the subject's object to object interfaces. Pass the design of the objects to the Chief Programmer for coding, to Configuration Management for entry and expand the CDS, SWA and SWA performance module. Each object design is in Parnas Form.

(Reporter note: Do a google search on David+Parnas+Form. The presentation "Barking up the Wrong Trees" is my recommendation.)

During the coding phase inputs are the subject designs that contain designs of the objects composing the subject, including any object to object interfaces. Each subject is a document (paper or magnetic) that tells the programmer the composition of the object including inputs, outputs, data types, and any necessary details including possible changes that may be required if other objects change. Performance estimates may be provided when they are known.

The test phase is performed by an independent test team that is completely independent of the coders. The coders are instructed not to do unit testing and to turn the code over to the testers as soon as they have compiled it successfully. The test team will perform all unit testing, object set testing, subject testing and integration tests. Each test yields test set data, results, a test coverage estimate, repair history and appropriate metrics.

As in the test phase, the implementation and operating phase draws on the results of the prior phases. Operational testing should be done by the client to let him catch any differences in our understanding of the requirements. The test team should have been thorough enough to keep the possibility of rude surprises low and is available to fix any embarrassments. Perform boot up and take metrics together with the client. Let the client do the boot up and enter incorrect data commands. Generate a to be fixed list with completion time estimates. If we do it right, the whole system will run the second time we boot it.

After delivery we enter the evolution and maintenance phase. Make a clear distinction between enhancement of the software, say to accommodate a lately resolved requirement, and maintenance to fix faults in this version. We need to give the client a method to separate these two interpretations of the term maintenance that is frequently used to describe both fixes and additions of capabilities. Paul said that when he used these procedures to design a system his team learned a lot, as did the client. If the process is done correctly there should be no remaining faults in the items that were agreed on in this version of the software.

In summary, establish a rapport with the client. There can be a problem if the client's software people don't like the fact that your team has been called in to accomplish the job and you must take action to insure that this does not make it impossible for you to do your job. Establish a rigorous process to accomplish software development. Paul recommends the Carnegie Mellon Capability Maturity Model. Establish a training agenda and support activities. Apply continual risk controls, look out for problems. People find it very difficult to schedule their own progress accurately. There must be well defined metrics used in each phase. Use automated tools including automatic test generators.

Paul Willis gave an excellent talk on very short notice. It was interesting and very thought provoking and many interesting and important things were presented that are not fully recorded in this short report. We are sorry that the LA Chapter of ACM was unable to provide the program that we advertised, but Paul Willis provided a high quality presentation. Unfortunately, the software development community that we would expect to be interested in it never heard about it in advance.

This was the seventh meeting of the LA Chapter year and was attended by about 15 persons.
Mike Walsh, LA ACM Secretary


The April 2003 meeting will be on Wednesday, the 2nd, and will feature Professor Christoph von der Malsburg of USC and the University of Bochum, Germany, speaking on the topic of Organic Computing.

Join us

The Los Angeles Chapter normally meets the first Wednesday of each month at the Ramada Hotel, 6333 Bristol Parkway, Culver City. The program begins at 8 PM.   From the San Diego Freeway (405) take the Sepulveda/Centinela exit southbound or the Slauson/Sepulveda exit northbound.

5:15 p.m.  Business Meeting

6:30 p.m. Cocktails/Social

7:00 p.m. Dinner

The menu choices are listed in the table above.

Avoid a $3 surcharge!!
Reservations must be made by the Sunday preceding the meeting to avoid the surcharge.

Make your reservationsearly.

8:00 p.m.  Presentation


To make a reservation, call or e-mail John Halbur, (310) 333-5635, and indicate your choice of entree, by Sunday before the dinner meeting.

There is no charge or reservation required to attend the presentation at 8:00 p.m.. Parking is FREE!

For membership information, contact Mike Walsh, (818)785-5056 or follow this link.

Other Affiliated groups



Return to "More"



Please visit our website for meeting dates, and news of upcoming events.

For further details contact the SIGPHONE at (310) 288-1148 or at, or

Return to "More"


Past Meeting Archive Los Angeles ACM home page National ACM home page Top

 Last revision: 2003 0330 [Webmaster]