Software Projects: from NASA to your startupDima Malenko
GatheringHuntingFishing
How does the project of your
dream look like?
Project of his dream
How does the project of your
dream look like?
Project of everyone’s dream
• One of– for iOS– built on Node.js (or cool tech of your
choice)– uses MongoDB as backend
• “Cool” (or “hip” in some sources)• Cashes out• All happens quickly
…to move to the next dream project
- Let’s make a project to post photos!- Cool, but let all photos be square.
And don’t forget filters
- Let’s make a project to post photos!- Cool, but let all photos be square.
And don’t forget filters...- And let’s also use Agile!
Why Agile?
Who knows if…
• users will think they need yet another app to take photos and post them on the Internet
• we can get enough users solely on iPhone so that our service will make some sense
• there will be enough people willing to “enhance” their masterpieces with our filters
• we would be able to make any money off this gig
Undefined
Undefined Unknown
• business model• users• requirements
Not always dream-projects were like this…
Do you know what’s this?
Manchester Mark I.World’s first commercially available computer.
What was the first program
for the first computer?
Calculating Mersenne Primes
Find prime numbers, which have the form of 2n-1
June 1949
What can you say about this project?
Hacker’s Dream Project:Calculating Mersenne Primes
clear well defined requirementshighly educated staff from Math.
Dept.nothing to do with businessalgorithmically challengingall the time in the Universe to
improve technical implementation
First Business Application
LEO I at J. Lyons and Co.:
Nov 1951
calculate the overnight production requirements, assembly instructions, delivery schedules, invoices, costings, and management reports
In-house Operations Management
more or less defined requirementscomputers dictated, what humans doextensive user trainingstill huge in technical complexity
Rise of subcontracting: DOD, NASA and others
• Humongous improvements from using computers
• Growing demand for software
• Development is often subcontracted
Development for Goverment
less defined requirementsexternal dependencies in both
technology and processesstrict contractual obligationsoften technically complex
What’s Important for a Successful Project?
Deliver all the planned features on time and within budget
Do you know what’s this?
VisiCalc.Often credited for turning PCs from hobby into
business tool
Retail Consumer Software
users start playing more significant role
more or less defined requirementsusers still adapt to what computers
can doless experienced and trained usersstill significant technical complexity
In consumer computing hardware
was no longer a significant limiting
factor
What would happen if…
• Angry Birds was released with 36 levels instead of 43? –Nothing!
• Angry Birds was released 3 weeks later? –Nothing!
• Angry Birds development overrun the budget?–Nothing… given that over 12 million $1 copies were sold in 2010
What’s Important for a Successful Project Now?
Be a “Net Positive” at the end by deliver useful features timely and in a cost effective manner
Agile works great for that!
World is not like these pants, luckily…
World is more like these pants
There is always a room for choice
Do it wisely!