Optimism in development timeline estimations and User Stories

Game (and more generally, software) developers are optimistic people.  The act of creating anything requires a certain degree of optimism, as you start from a blank file and lay down code.  The reality of coding is to take pure concept and commit it to a working system.  This never goes as smoothly as planned.  In most cases, only by attempting the work do you find out the initial selected approach is not the correct one.  I’ve seen many experienced and inexperienced developers get caught on a “light” estimate for how long something is going to take.  Often the time quoted is simply development time and does not take into account the extra required time for debugging, performance tuning, documentation and proper testing.  The first major step to taking proper estimating is to agree on what needs to be accomplished.  We often called this “writing the spec”.  I’ve personally erred on both sides of the specification equation, providing too tight of a specification which doesn’t allow the developer to leverage his/her experience and the other side, which is almost a blank ticket to write anything.  The best method I’ve run across is using a “user story” format which details who the user is and what the planned user experience should be.  This method communicates the target without laying our too many hard requirements.  In most cases, even a junior developer (with a little technical oversight) can meet the requirements as laid and and have room for creativity.

A proper “User Story” needs to do a few things:

1) Describe the user

2) Describe the desired outcome

3) Detail any “hard” requirements

4) Outline the expected effort

 

So here’s my example:

As a mainstream game player I can select a character on the screen by clicking on that character.

When selected the the character should:

  • indicate selection by displaying a coloured circle beneath the character.
  • indicate selection by displaying a highlight box around the character portrait.
  • execute all input commands until de-selected

Scope:

This should be a basic selection system based off the existing UI system.

The system must be able to integrate with the existing party system.

Any required input code should be maintained within the Input class.

The code should compile and execute under all specified target operating systems without errors or warnings.

This system is expected for delivery in two weeks time, including testing, documentation and initial performance tuning.

 

The above example is very arbitrary, but I have yet to find two people who write them up the same.  What I feel is important:

  • Be specific on desired outcomes
  • Give detail when it helps solve the problems
  • Be specific on hard requirements.
  • Ensure there is a timeline clearly associated with the work.
  • If the work is taking over a month, break it down into smaller deliverables.

The best work I’ve done in this area has been when I understand well what I’m trying to describe and I use a few descriptive lines to convey the desired user experience.  You will need to adapt your user stories to fit your personal writing style, but always try to keep your eye on the end user experience.

 

Best,

-Trent

 

 

 

 

Patent Extortion.

So it appears the outfit behind the letters to app developers using the in-app purchases system has stepped out.  Here’s a link digging into the “other side” of the discussion. http://tnw.co/iCkLLq The big point they push is that because they only want to extort a little money off of everyone it is OK.  I think this also applies to school bullies and lunch money.  Extortion is extortion, whether it is pennies or millions.

 

To me this is still a bloody mess.  The best way to make money off an idea is to get off your ass and make a good product.  If the inventor had spent more time working on an actual good, working example of his “invention” and less time mucking about with the patent office he would undoubtedly be in a better financial place.  But, instead of doing something positive with his “idea”, (which was in my mind not a patentable concept anyway)  He sells his patents to Lodsys.  This fellow could have been the next Paypal or some other major corporation, but instead he sells it off to some Trolls soo they can go shake down some companies and developers.

 

This “inventions firm” Lodsys isn’t an invention company, they don’t build product, they don’t create jobs, they don’t create a positive effect for the economy or society.  Instead, they bought up an old patent and sent out extortion requests to small developers.   To me, this is a major problem with or society in North America.  Rather than use our heads and hearts to do something positive for our society and fellow man, groups like Lodsys band together and plot how to “get their cut”.  In my opinion, this is one of the key points of current and future weakness in our economy.  We spend so much effort doing zero-positive-effect work that even with rising productivity, our overall ability to produce is lower.  We need to re-think the patent laws and favor those who would do something positive with the idea as opposed to those who wildly file for patents in hope of hitting on something they can suck wealth out of at a later date, when the technology is actually viable.  I say give the person five years from filing.  If in five years you haven’t commercialized the patent it should be declared invalid.  This may not apply for everything, but it might put the effort in the right place, which is innovation for the improvement of the economy and our society.

 

On another side, part of me is convinced these fellows are just stupid.  Even if they get the dream scenario and everyone starts paying up, they’ll be getting tiny cheques from tens of thousands of developers, resulting in a deluge of overhead to attempt to track these payments.  Again, creating a lot of noise, but no substance.

/rant

-Trent

Terrorism

A man tosses in his bed, his thoughts dominated by visions of ruin and destruction. Unable to sleep, he levers himself from his bed and finds a chair in the darkness. One week earlier, this was man was a hero in the recessional economy. An entrepreneur, one of the individuals creating jobs out of nothing. Tonight, he is a victim of a terror campaign. He sees the labors of his hard work torn apart, his future uncertain and he knows fear.

This man is an educated software developer and a few days ago he received legal documents accusing him of software patent infringement for using software provided by his platform provider. The accuser does not develop software, instead they are a predator, consuming the efforts of previous creators for pennies on the research dollars spent. They find the ruins of companies who strove to be first to make new discoveries, compaies that attempted to protect their right to monetize the hard work. All this positive effort, bought at a steep discount so the predator can build an intellectual property library which they turn into a revenue generator. Filing intimidation lawsuits far and wide, fishing with fear to force capitulation, the company extracts the lifeblood from the entrepreneurs who strive to create value.

The news lends coverage to the Somali pirates, a group of poor, desperate men who seize ships in passage and hold them for ransom. The patent Trolls of the US are worse. They are not poor, desperate men, they do not just prey on the large ships, but instead hold for ransom every small skiff or fisherman who passes. The terror is not fear of death, but fear of losing everything, fear the American dream is a lie. Having your name appear on an legal accusation inflicts the same feelings as the pirates do, Terror.

Every leap forward in technology has a negative side. As shipping brought pirates, and trains brought train robbers, Patents have brought out the patent trolls.

So, what is the solution? I propose a limitation on patents to limit the enforceability to active companies in the industry. There should be no marauding band of degenerate lawyers who attempt to extort from the positive work of others. To enforce a patent claim, the owner should be forced to prove a business reason for the suit and a legitimate venture which contributes positively to society.

Let us act to support our creators. Let us act to counter this drain on productivity. Let us disband these hooligans and ensure the legal system acts to protect the interests of the common man. Let us act to open the avenues for new entrepreneurs and shut down these IP extortionists.

/Rant
-Trent