I want to explore this in a non-Xojo related conversation - strictly this is not to challenge Xojo’s policy on dates, it is to test if and how it works for me and you.
So, how can I realistically tell my (or how can you tell your) customers that delivery is open ended - Its ready when its ready? How does it work for you and if it does work and how do you justify it?
A little background,
Something interesting started in another conversation and then a Xojo person locked the thread as I guess it was felt that it was getting too hot when Brad jumped in (as is often the case) and took it off in a more personal direction. However I was keen to read and learn from the responses.
By the way Brad if you are reading, I do find your ideas interesting and you very often do make good and valid points even if your style is a bit abrasive so do feel free to give your ideas as I do value them - I have even quoted you below with one of your one liners that stays in my mind from an August conversation.
For myself I usually work on large projects that have been a mixture of commercial and government/state. Usually these projects run for a minimum of one year and involve analysing, designing and developing an IT system. Typically my commercial clients are keen on monitoring and meeting deadlines and tend to set meaningful intermediate milestones as a way of measuring progress and typically my government clients are more relaxed and focus on the ‘bigger picture’, not wanting to know about day-to-day problems.
Last night I was listening to the radio while driving, normally I want to hear thumping electronic dance music but for some reason last night I just wanted to hear people talking so I tuned in to BBC Radio 4, often boring but last night it was about UK government IT projects and specifically the Universal Credit system which has been dubbed as a £2.4 billion IT disaster already with £303 million spent and £34 million written off on a system that only processes 1% of potential claimants. You can read & watch more at The Telegraph or Huffington Post and watch the government minister try and look convincing. The core problem is that this government work was commissioned on a time & materials basis - Its ready when its ready again.
In IT we have had evolving knowledge/techniques/methodologies and they all contribute something to our knowledge. Some obvious references that I have personally found to be useful and may inspire some responses are:
Parkinson’s Law
Work expands so as to fill the time available for its completion.
Hofstadter’s Law
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
Student syndrome
Student syndrome refers to the phenomenon that many people will start to fully apply themselves to a task just at the last possible moment before a deadline. This leads to wasting any buffers built into individual task duration estimates.
The Pygmalion effect
The Pygmalion effect is the phenomenon in which the greater the expectation placed upon people, the better they perform.
Real programmers ship. All you need to know.
Brad Hutchins
How does a project get to be a year late?.. On day at a time.
Fred Brooks
The bearing of a child takes nine months, no matter how many women are assigned.
Fred Brooks
When to use iterative development? You should use iterative development only on projects that you want to succeed.
Martin Fowler
[h]Lean Software Development (LSD) Principles[/h]
Eliminate waste
Amplify learning
Decide as late as possible
Deliver as fast as possible
Empower the team
Build integrity in, See the whole.
[h]Agile Principles[/h]
Customer satisfaction by rapid delivery of useful software
Welcome changing requirements, even late in development
Working software is delivered frequently (weeks rather than months)
Working software is the principal measure of progress
Sustainable development, able to maintain a constant pace
Close, daily cooperation between business people and developers
Face-to-face conversation is the best form of communication (co-location)
Projects are built around motivated individuals, who should be trusted
Continuous attention to technical excellence and good design
Simplicitythe art of maximizing the amount of work not doneis essential
Self-organizing teams
Regular adaptation to changing circumstances