Re: Re: SIP is not Takt Time

Dan Palanza <[email protected]> Wed, 12 Feb 2003 09:19:45 -0500
Newsgroups gmane.comp.programming.software-in-process
Message-ID <[email protected]>
Hi Ron

> > Whether software contributors are aware of it or not, the money cycles 
> that
> > Kent is calling to mind are always happening. There is no reason that
> > knowledge of these money cycles cannot be fully present in the day to day
> > decision process that takes place between the software's craft contributor
> > and the software's customer.
>
>Yes, I'm sure we all agree with that.

Good, this is a place to begin. Kent's proposed goal to "make SIP 
money-oriented" gives us a real problem space in which to define a 
bookkeeping model. We can define a solution on a theoretical basis. 
Bookkeeping records its history from the perspective of an entity. Ken 
describes programmers contributing to a supercomputer company and being 
concerned about their paychecks clearing the bank. The supercomuter company 
is one entity perspective and the programmers contracted to generated the 
saleable code is another entity perspective.

I propose a model where an XP team of programmers has been contracted to 
complete stories for a program the supercomputer company (SCC) is selling 
to the public. Bookkeeping is recorded from one entity perspective. The 
entity I suggest that we create the bookkeeping model from is the XP Team 
(XPT). XPT has a contract with SCC to deliver a new iteration once a month. 
The next issue is how XPT will be paid for portions of the contract, so 
that XPT can pay its expenses and payroll.

In order to do bookkeeping XPT must form a business entity of a particular 
type. The type of entity decides who makes the rules. For example, if Kent 
formed a proprietorship Kent would hire the programmers and control the 
business rules. In a partnership, partners would work out an agreement 
telling how entity's rules are to be decided. In a corporation equity 
owners make the rules. An LLC (legal liability company) is a partnership 
with the benefit of a corporate shield, where partners make rules, again 
subject to a constitution, as operating agreement.

Laying out a business pattern is the first step in creating a bookkeeping 
application. Every recorded transaction depends upon the underlying 
business model.

To fulfill Kent's wish control valid paychecks he, or the team, must have 
control of the billing and payment cycles. This is usually controlled 
through a contract with the customer. I recommend we use the LLC pattern as 
the theory model of ownership. The XPT members will own their entity, and 
make the rules by which their bookkeeping history will be recorded.

> > If your experience then is like mine, you will find that more often than
> > not such knowledge will expose instances where too little money is being
> > budged in one place and too much is being spent in another.
>
>Yes, I'm sure we would find that.

I will pass over this now, but when a well formed bookkeeping plan gives a 
team the power to control the balance of expenditure it becomes the 
professional craft persons best friend. Most present bookkeeping 
applications hide facts from workers in the interest of undeserved 
administrators. (Polite words for "Thieves.")

> > The bookkeeping pattern, you will learn, is identical to the issue of
> > documentation.
>
>Identical? Are you sure it's identical? I know a lot about documentation.
>Does that mean that I know a lot about bookkeeping?

Yes, in fact, it does. Bookkeeping is documentation. And so, yes, you do 
know a lot about bookkeeping.

I break the bookkeeping document into four categories: (1) the individual 
contributors to each contract, typical of a programmer negotiating a rate 
of pay and responsible for documenting where that individual's contracted 
time has been contributed on the company's behalf, via the timesheet; (2) 
coordinator is a person (one or less per team[s]) who validates the coding 
of  individual contributions typical found in the book of memorandum; (3) 
administrator is the accounting level person who manages the financial 
aspect of contract relations by managing journal of data company wide; (4) 
policy group is concerned with the technical language issues that guarantee 
that the bookkeeping framework will always scale to the needs of XPT.

When you want to know more about a particular category of the bookkeeping 
document we can talk about each individually as the differences are quite 
distinct. And not everyone will want to invest the time to know them all.

> > You
> > have told us that there is a right amount of documentation. And the craft
> > person in the heat action, in many cases, is the best person to decide 
> what
> > should be documented.
>
>Oh ... I guess you meant "analogous", not "identical" ...

In fact I did mean identical. I am pleased to have this opportunity to 
clarify my beliefs.

> > The same pattern works for economics. If a contributor does not know where
> > the requirements stand relative to a budgeted whole, some things are going
> > to be rushed when they deserve more time, and other things are going to 
> get
> > wasted cycles because someone harbors a myth that there is value in a 
> thing
> > when in fact there is not. Knowledge is power.
>
>Actually, probably not. Knowledge and power are, in my experience, almost
>independent variables.

You might feel differently once you see the two brought together with 
accurate accountability. In the past few years of bringing my building work 
into the pattern of iterative design, typical of XP, and greatly helped by 
reading the XP list, I have found that in knowing precise details about 
quality and their accurate cost has put my relation to my customer into an 
extremely powerful position. The relation has become a genuine friendship, 
something unheard of in the past.

Craft people, and I'm sure this is true for programmers, are not the 
dreamers that marketing and sales teams often are when setting budgets. 
Customers like budgets that work. They also like to know that an 
opportunity to increase scope in order to capitalize on unforeseen 
possibilities of adding value is being treated fairly. There are huge 
issues here that come out of experience alone.

> > I wracked my brain on at work wondering how I might reply to this. When I
> > got home Kent had done the job for me by saying: "When I was at a
> > supercomputer startup, everybody was aware the number of days receivables
> > stayed outstanding, partly because of the cash flow implications (would 
> our
> > paychecks clear), but mostly because it was the most concrete feedback
> > engineering got about whether we were doing a good job. If receivables 
> went
> > from 45 to 90 days, it was most often because we weren't delivering
> > value--customers didn't have enough training to use the machine, the
> > installation procedure was too hard, the hardware was flaky."
>
>But Dan. The people in question didn't know bookkeeping. They didn't use
>bookkeeping. They knew the number of days receivables stayed outstanding,
>and why.

Understood. My argument is that they are better positioned to deal fairly 
with documented facts than venture capitalists, equity bankers, and the 
rest of the people who are now in exclusive administrative control. 
Administration today, you will learn, is not being practiced fairly and 
everyone involved is being hurt by the error in the administration's ways.

> > Bookkeeping, Ron, is more than just a way. Like all good tests it does
> > deliver a truth. Once you understand the bookkeeping test, in all its
> > simplicity, which gives it its power to know present states in the money
> > cycles, you will feel differently toward what you are saying above. There
> > is ignorance here to be transformed into knowledge.
>
>I am so sure of that. I keep hoping that you'll quit selling the
>bookkeeping product and deliver a demo copy.

There is no demo copy. Bookkeeping documents what really happened--a 
history. The best we can do is create a speculative model to decide whether 
an XPT could and should be formed. What the four levels of documentation do 
in my own framework is take time contributed on timesheets and convert it 
into actual $ drawn from the contract, or contracts. It is done the way all 
bookkeeping is done, except that in my case I can differentiate entity 
interests within entity interests, teams within teams, to almost any degree 
of detail This is not possible in the bookkeeping link Oli provided.

http://www.accounting-and-bookkeeping-tips.com/learning-accounting/accounting-basics-credit.htm

I don't know of a way to teach you how my model differs from their's except 
by creating at least a speculative example.

>I am really sure that a product vision is not a budget. I am really sure
>that a movie storyboard is not a budget. I am really sure that a sketch of
>a new building is not a budget for its production. A budget is a low-level
>list of items and costs, probably in time and dollars, perhaps laid against
>the calendar or perhaps just as a list. The budget is a particular detailed
>view, not of the movie, but of the potential making of the movie. I
>wouldn't go to the theater to see a budget.

Once a team tracks a detailed history, you might be pleasantly surprised by 
how helpful actual expenditures are in forecasting the financial 
possibilities essential to achieving a next order dream for your team. 
Setting a budget is the first order of business in every building contract 
I do, regardless of what the customer dreams may be. If I can't agree on a 
reasonable budget then I know that I am wasting valuable time. Budgets in a 
happy life have become extremely important to me.

>Are you suggesting that you can come over to my house, install one cabinet
>in my kitchen, and smoothly transition me to a complete, well-organized,
>beautiful kitchen? I /am/ suggesting that we can do the equivalent in
>software.

Did I say somewhere that software is a kitchen ? :)

>Implement one ******* bookkeeping story for me, Dan. Just one. Please quit
>selling and start installing.

If what I have said above is of no help toward that end, then let me know 
and I will sign off.

Dan