Simon Wardley writes about business strategy, Wardley mapping, cloud computing, and the pioneer, settler, and town planner model.
HN commenters often cite his pioneers, settlers, and town planners post as a useful way to think about organizations and technology strategy.
I think we can resolve this debate through a map. I think our problem is a disagreement on what is actually industrialized and predictable vs. What is more exploratory and uncertain.
Most software - but not all - deals with uncertain requirements. These are suited to agile methods.
Other software is in a well understood industrialized domain. Here, I would not recommend waterfall per se, but an approach like Six Sigma and Formal engineering methods certainly makes sense.
Simon Wardley has explained this well here: http://blog.gardeviance.org/2015/06/why-agile-lean-and-six-sigma-must-die.html?m=1
I think the disagreement is
A) is how industrialized IoT applications actually are.
It will be 2 decades or more I believe before they are. This will require to lots of disposability and change in the meantime. Hence appropriate for agile.
B) how much indistrialized software will there be in the future? Things like railway systems are well understood and industrialized. And don't need agile. But my point has been there isn't a lot of railway software out there to write anymore.
But at some point, will the newer IoT domains be eventually so industrialized that it requires formal engineering methods? To this I say - sure - but not for a long while. The applications are still too fluid.
C) how many people actually work on various ends of the spectrum of agile vs industrialized ? There has been an explosion of activity in using software in new domains, which is agile…
> I’ve always been involved in my work, being proactive in bringing new technologies, mentoring the other developers, helping the team to grow, but I was doing this just because I liked my job. I was not considering this as something important in my career, simply because I didn’t want too. To develop my career, I was spending a lot of time outside work reading technical books, doing toy projects, going to meetups, browsing Hacker News.
This is a very good & important assessment, realization, & I appreciate the author's reassessment.
> Secondly, I don’t think that multiplying the side projects is useful unless they are substantial.
A phrase that recuringly comes to mind when hearing of a lot of side projects is, "Dream no small dreams for they have no power to move the hearts of men."
I very much want to see a world where computing is a good & sensible place, for scratching your own itch. But at the moment, just getting started on a modest web project is pretty hard. Even if you don't need user accounts, it's still a lot of grunt-work, gulp-work, webpack-work, and or babel-work. Oh you want users with their data? Now multiply the number of hours by 20x. Folk like hood.ie & UserGrid have attempted to lower the effort-to-start, Firebase & others are certainly selling themselves on trying to accelerate the mid-level lift here, the 200's & 300's level courses of "getting your app going". But it's hard. We're not great.
So at the moment, scratch your own itch is hard to do…
Hi! Person who hires other people here. I too am self-taught, so I'm sympathetic. But these two things in combination scare me:
> [nine months] professional experience
> just give me a week to look through your website's codebase, I'll figure out how you guys do things and I'll start being productive before you know it.
I get why you think you can be productive. But a person with 9 months experience has no experience with long-term maintainability. Your definition of productive and mine are likely very different. And that you don't know that there's a difference means I can't trust you to write production code. You're in the "hazard" stage of expertise:
http://blog.gardeviance.org/2008/04/three-stages-of-expertise.html
Novice programmers are great, and I've successfully hired them in the past. But that requires a context where they can work closely with experts who help them improve while keeping them away from doing things that feel productive but are long-term harmful. Left unsupervised, they can, with the best of intentions, be fountains of technical debt.
> the way I think about getting things done with computers isn't tied down to any one specific framework
This is a dangerous way to think. In software, everybody is bright. Everybody is a quick learner. If your operating theory is that you're just way smarter than those fools who have spent time learning something more deeply, you're going to keep yourself from advancing in your chosen work. To me, you come…
I have hope for many more turns / revolutions!
Boy have we been in a holding/consolidation pattern. The age of massification has been upon us; getting everyone else online has been the effort, the way to rise. Free online services we can connect to from anywhere has been an amazing change, a totally new expectation that totally changes how computing situates itself in our lives.
At much cost to figuring out further places to pioneer, I feel. We need new cycles with new energy, where lots of people are trying stuff out again. Computing & tech should not stay well settled; we should be trying crazy stuff. It feels like a lifetime ago that Tim O'Reilly was preaching "follow the alpha geeks", look for those very capable folks doing excellently for themselves. That ability to trendspot & try lots of things has been somewhat by these huge scales & systems, but I believe a return to personal-ity has to crop up again sometime. We'll find some fertile terrains where new things are a happening again.
2014 was when thing were actually really setting in place, when the pioneering stage was really giving way to some settlers (and town planners, see: https://blog.gardeviance.org/2015/03/on-pioneers-settlers-town-planners-and.html). There's a lot of roughness, but tech getting it's mojo back may be not far off. It's a challenge though; the reality of creating ever-connected ever-online systems is hard. We have amazing amounts of server we can fit in a pizza box, at incredibly low…
I wouldn't say it fits the technical definition of a Ponzi scheme.
Now, the technology (the opensource daemon, and the network of nodes running it to create a peer to peer ledger and all that jazz) is really an quite interesting experiment in distributed systems.
The culture around Bitcoin the 'currency' at the moment (and forseeable future) is more complicated.
At worst its a pyramid scheme, and at best its an asset bubble. In practice I would say it most resembles a sophisticated, decentralized Multi-Level-Marketing scheme (MLM) of a particularly novel and insidious variety (Note that MLMs such as Amway & Herbalife have plodded along for years). This can be said not just of bitcoin, but of the entire ecosystem of cryptocurrencies.
Ironically, the fact that it has value derives from its perverse incentivizes of its "investors" to create a cycle of pump and dump bubbles, that bring more people into the fold each time. These speculators provide a liquidity pool that makes bitcoin useful to those who actually use it because they are shut out of the traditional payment system. Alarmingly, it seems at the moment that this group deriving actual utility (over credit cards) consists primarily of hackers, drug dealers, gamblers, arms dealers, pornographers, and other participants of the grey/black market economy. Yes, there is a big pool of legitimate merchants accepting bitcoin because of low transaction fees & no chargebacks, but adoption by non-speculator 'legitimate…
On one hand, as Amazon opens up the pieces that comprise its architecture, they begin to compete for external customers. On the other hand, Amazon itself keeps using its own solutions.
By the way, it’s not just that Amazon prevents its divisions from becoming ‘fat and inefficient’ by opening them up to external competition. Crucially, thanks to commoditising early and getting tons of companies to use its platform, Amazon can now see how others innovate on top of it (having low-level access to consumption information) and quickly follow on anything new, basically innovating but without risky R&D of their own[0].
[0] Simon Wardley wrote about Innovate—Leverage—Commoditise (ILC) approach here: http://blog.gardeviance.org/2014/03/understanding-ecosystems-part-i-of-ii.html
I’d also recommend his book (https://medium.com/wardleymaps/on-being-lost-2ef5f05eb1ec) and the intro to value-chain mapping (http://blog.gardeviance.org/2015/02/an-introduction-to-wardley-value-chain.html). It’s not about Amazon per se, but it helped me personally understand the strategy.