The root of software industries problems:
Unlike film or automobiles, where there is a significant cost of goods, software (while hard to write) was relatively fast to create. With less upfront expenses, the rush to market was coupled with relatively less risk, thereby further fueling the rush to start coding with out thinking twice. Also, the reality of Moore’s Law meant that there was no time for things to settle down to the point where such “niceties” as design, quality, and usability standards might become established. My perspective is that the bulk of our industry is organized around the demonstrable myth that we know what we want at the start, and how to get it, and therefore build our process assuming that we will take an optimal, direct path to get there.
Ironically, the more time you spend planning and researching software the more apt you are to build something right and in less hours then rushing ahead without a plan.
Tis true. Take Google, a simple example is the Google Account, up until very recently having two accounts open in the same browser was possible now you must open two different browsers.
If you break it down, everything has bugs. Humans are imperfect species in an imperfect world.
Live & Learn!
RE: “My perspective is that the bulk of our industry is organized around the demonstrable myth that we know what we want at the start, and how to get it, and therefore build our process assuming that we will take an optimal, direct path to get there.”
That’s what open source software is currently changing. There never is a finished product that is planned from the start. The application constantly evolves throughout its lifetime.
By Adam Moss
Adam,
I believe you are absolutely right.
“No spec”
You have to spend lots of time to planning to develop the software. more you research the more good and effective software you are going to produce. So plan properly it will automatically work
Couldn’t be more on point!
Good perspective. As software gets more complex, thorough estimation of a project is the most important component. Scaling with multiple employees adds a new level of complexity and costs.
Well one of the problems starting out new projects,
except you are working at a big concern who offers you a large budget.
If you start you have to start small with your software few developers, not much time.
If your software isn´t successfull it gets dropped.
If it is successfull you ´ll have to add more and more features hire new developers so your software gets messy but now you have money to hire more people…
It should get more simple instead, the complexity should follow strict rules in order to “uncomplex” itself.
Adequate planning can help reduce costs and helps alleviate headaches from missed timeliness. Usability considerations need to be incorporated into the process.
I think Pre-production and project management are key components to the industry that often get overlooked. It can only save you time and thus money.
Is any project every really finished? Everything build upon the progress of past events. How do you know what future problems may lie ahead until you experience them?
Still true today!
Recently came accross your blog and have been reading along. I thought I would leave my first comment. I dont know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
This rush to production culture in programming has killed a lot of great things, but, this is a business of trends and copycats therefore if a program comes out with all kinds of bugs and a crap interface, I’m sure there is a coder out there working on a better version of that same app w/ a better interface and new name.
i agree with adam:
“That’s what open source software is currently changing. There never is a finished product that is planned from the start. The application constantly evolves throughout its lifetime.”
Thats true proper planning needs to be done. This will help minimise costs and helps alleviate headaches from missed timeliness.
This will be true all time.