Mar 5, 2012

Scrum Fundamentals

Stripped to its essence, Scrum is an approach to delivering software.  Nothing more, nothing less.

There are many approaches to developing software.   At one end, you can have a very formal ‘waterfall’ style approach where the development lifecycle consists of major phases that follow one another.  These phases include the Requirements Phase, where the project analyses and documents what the stakeholders need.  The next phase would be the design phase, where designers design the system to be built, which once built will deliver the requirements identified in the Requirements Phase.

After the Design Phase comes the Build Phase.  This is where the actual product get built, based on the specifications produced from the Design Phase.  Once built, the product gets tested in the Test Phase, in order to ensure the quality of the built product.

The phases in the waterfall approach are very logically  structured.  Each phase produces exactly what the next phase requires.  From arguments based on reason alone, it seems to be the perfect approach. 

In reality, however, the above approach is riddled with inefficiencies and problems, not due to the phases themselves, but because they are performed by fallible human beings, using fallible communication methods.  

Perhaps the most commonly cited problem is that very often, the product that comes out at the end meets the specifications, which in turn meets the requirements, but somehow ends up not being what the end users wanted or expected.

The lack of feedback between the stakeholders and the product being built – as it’s being built – contributes in no small part, to the problem.

Scrum IDEFAgile, and in particular, Scrum, proposes to fix the above problem by increasing the visibility of the product being built, while it’s being built.

We can illustrate Scrum at a very high level in the IDEF0 format as shown.

The output of a Scrum process is working software.  The inputs are a vision of the product, and of course time and money.

The process is executed by the Scrum Team, who relies heavily on the Product Owner, who represents the business stakeholders and from whom comes the Vision of the product.

Scrum comes with a set of techniques and procedures, and guided by the principles espoused in the Agile Manifesto.  You execute Scrum using these techniques.  In theory, you get working software, and the software that is guaranteed to be what the customer wants.

How does Scrum do that?  We’ll start exploring beginning with the next post on this topic.

Mar 3, 2012

Investor Directed Portfolio Services

What is an IDPS?   An IDPS is a service offered by a service provider (called an  operator) to an investor, wherein the operator arranges execution of buy and sell orders from the investor, custody of assets held, and provides reporting services to the investor.

The IDPS provides a selection of investment options to the investor.   The key distinguishing feature of this service is that the investor is responsible for making investment decisions.  The IDPS provider does not provide investment advise. 

An example of an IDPS is www.schwab.com where individuals can buy and trade shares and are charged a commission on trades.

Member discretionary master funds and wrap accounts are also examples of IDPSs.

In Australia, only public companies who hold a securities dealers licence may operate an IDPS.

The IDPS is a vehicle for allowing investors access to investment opportunities.   An IDPS operator must ensure that investors using their IDPS have access to the same information available to those investing directly in an investment.  For example, if a public company or a fund issues notices to shareholders,  the operator must ensure that any investor in their database who have invested in that company or fund through that IDPS receive the same information.

Due to this requirement, an IDPS operator must have an arrangement with securities issuers to ensure they (the operator) receive the disclosures.

An IDPS operator must also provide their customer with quarterly reports of transactions and holdings of those customers.  Besides the quarterly reports, customer must also have access to such information on a continuing basis.

Investments made through an IDPS will be put in custody by a party other than the investor.  The operator of the IDPS does not have to be the same entity keeping the securities under custody.

Because an IDPS offers savings to the investor through economies of scale, it is considered an investment scheme.  The economies of scale include pooling of funds from other investors for transaction netting (this is a mechanism by the volume and size of transactions are reduced by identifying transactions which ‘cancel’ out each other)

Feb 15, 2012

Schedule driven projects

How many times have you been involved in programs where the most pressing concern of everyone is meeting the schedule? 

Quality (fitness for purpose in this case) is the first to go.  To hell with quality, we need to get this deliverable --- a document, a piece of software, testing, etc. – finished.

Project status reports often show green if the everything is ‘on schedule’.  There is little status reporting on whether things are being done right.

I was involved in a large multi-million dollar program a few of years ago.  Immediately upon joining the program, I saw how badly the system being built will turn out to be.  For example, data input is being designed without consideration of what output is required (how would we know what input is required if we don’t know what output is required?).

I raised and itemised my concerns, but they were brushed off.  The schedule pressure was of paramount importance.

The result was predictable.  It was a very successful program:

  • The program came in on schedule (the nth update of the schedule)
  • The program came in under budget (the nth adjustment of the budget of course)

Except for the minor fact that:

  • The delivered information system was unusable and unused.
  • A second remediation program had to be launched two years later to fix the problems of the successful program.

This second program did give long employment to a second set of consultants and employees.