One of the considerations when building a new software product is the programming language or languages to use for development. Programming languages can be taken for just tools, like a hammer; one uses them to construct software applications. But more so, they are part of the software’s infrastructure: unlike a hammer, one cannot move to use a different tool on a whim: high switching costs are required.
A few years ago, the concept of polyglot programming has gained momentum and mind share. The idea was that one could develop software using multiple programming languages, all glued together, each optimized for a piece of the puzzle. The idea was largely enabled by the two major platforms (Java and .NET) including support for language interoperability via virtual machines. People could program in multiple languages and still connect them together without clumsy inter-language binding mechanisms.
What’s interesting is that the concept has recently gained momentum again with the resurfacing of Java-based languages such as Groovy, Scala and Clojure. Half of a recent book, “The Well-Grounded Java Developer”, is dedicated to the concept; people now argue that “no one language will rule the cloud” and that “the future [is] polyglot programmers”. But, there are fundamental reasons why the concept never took off, and never will.
Posted in Agile Software Development, Application Lifecycle Management, C#, Clojure, Future of Software, Groovy, Iterative Development, Java, Polyglot Programming, Programming, Programming Languages, SaaS, Scala, Software, Software as a Service, Software Design, Software Engineering, Software Methodology
In case you’ve missed this monumental event, Apple designer Jonathan Ive was knighted last week by the Princess Royal at Buckingham Palace.
Indeed, Apple (with Jonathan Ive’s dominant participation) has revolutionized how consumer electronics products are designed. Starting with its color iMacs, which introduced color as an important buying criteria into the mainstream consumer electronics market, and later (as discussed ad nauseam) with its iPods, iPhone and iPad products, Apple has led the market with respect to how products are designed.
In the non-software world, product design has been acknowledged to be a vital part of product success. Industrial design has become a profession, driving product design in multiple industries. Furniture company IKEA has grown based on offering “highly designed” (and arguably, mediocre quality) furniture. Sodastream, a publicly traded $700m maker of home carbonation products, has started growing after putting focus on product design.
When it comes to software, however, there isn’t even a well-defined role, position, or step in the process that addresses the full spectrum of product design. Continue reading
Posted in Agile Software Development, Application Design, Application Lifecycle Management, Enterprise Software, Future of Software, Marketing, Product Design, Product Management, Product Planning, Product Roadmap, SaaS, Software as a Service, Software Marketing, Software Methodology, Technical Documentation, UI, User Experience, User Experience Design, User Interface Design, UX, Web Applications, Web User Experience, Web User Experience, Web User Interface, Website Design
Tagged Apple, iMac, iPad, iPhone, Knighthood, London, software development lifecycle, technology
Earlier this week I’ve had a chance to present WebCollage’s agile development methodology at a local Agile Practitioners meeting.
At WebCollage, we are releasing a new version of our SaaS based solution to our customers every two weeks. We released 23 versions in 2011, and will be releasing the 6th version of our software over this upcoming weekend. In other words, we are firm believers in agile development and in its ability to help obtain continuous market feedback (here’s a previous post on this topic).
For various reasons, though, agile development has become somewhat synonymous with one specific approach, namely Scrum. Realizing that Scrum is widely accepted, I previously expressed an opinion that Scrum is perhaps an interesting recipe, but is far from being the best approach to SaaS agile development (and web application development in general). I have received quite a lot of feedback on that other post, some with contrarian views arguing that Scrum is perhaps a silver bullet after all.
There’s always something to be said for using the most popular approach. As an old IT saying goes, no one ever got fired for buying IBM. In this regard, there are intrinsic advantages to using Scrum, most notably the industry ecosystem: ability to easily find knowledge, share best practices, etc.
Insomuch as the actual methodology goes, though, there are simply better alternatives for many software development scenarios. Here’s a sketch of how we at WebCollage develop software, and the advantages it has over Scrum. Our approach is an adaptation of Kanban/Lean software development.
Posted in Agile, Agile Software Development, ALM, Application Lifecycle Management, Future of Software, Iterative Development, Kanban, Product Roadmap, SaaS, Scrum, Software, Software as a Service, Software Engineering, Software Updates, Web Applications, Web User Experience, Website Creation
Tagged agile development methodology, Agile Software Development, development scenarios, web application development
A few interesting articles around Oracle’s dance with SaaS, spurred by its recent acquisition of Taleo (CRM/HCM), for $3.4 billion:
It will certainly be an interesting ride.
Posted in Cloud Computing, Enterprise Software, Future of Software, HR, Human Resources, Oracle, SaaS, Salesforce.com, Software, Software as a Service, Software Marketing, Web Applications
Last month, Microsoft announced that it would start to automatically upgrade Internet Explorer on users’ PCs, essentially following the route Google Chrome has taken.
This announcement has gained publicity in the Internet-related software community as it was evident that this action was taken to react to Google Chrome’s increasing market share. Within a few years, Google Chrome usage has grown, and it is now not only the second most popular browser overall (surpassing Mozilla Firefox), but also similar in popularity to Internet Explorer 8.0, hence essentially (in a tied race) the most popular specific-version browser overall.
But, the significance of this release transcends the browser war. It highlights that long development cycles are becoming a thing of the past.
Posted in Agile, Agile Software Development, ALM, Application Lifecycle Management, Browser War, Cloud Computing, Distruptive Technology, Enterprise Software, Future of Software, Google, Google Chrome, Internet Explorer, Iterative Development, Oracle, Product Design, Product Management, Product Planning, SaaS, Software, Software as a Service, Software Engineering, Software Marketing, Software Methodology, Software Updates, Web Applications, Web Browser
Tagged Agile Software Development, Cloud Computing
I regularly try out new web applications, and I am often amazed to see web applications that assume that a “short introduction video” will get users to understand what the product does and how to use it.
Sure, people love videos, and watch tons of funny cat videos. But, application tutorials aren’t funny cat videos, at least in most cases. For one thing, especially if you’re marketing a SaaS application to business users, it’s likely that users don’t even have headphones connected at their work space; or, similarly, that they doesn’t feel comfortable watching videos with their peers around. As likely, they may want to start using the application right away and may not want to take the time to watch an introduction video. But, most importantly, a video is just one tool in one’s toolbox, and getting users from point A (say, registered for a free trial) to point Z (they’re the guru of your product and help their peers use it) takes much more than a video.
Earlier this week, we at WebCollage have launched a new revision of our Content Publisher welcome pages, so I thought it may be a good opportunity to share the techniques we’ve come up with in terms of communicating our application functionality to first-time users.
I tried to outline 7 “tools” you can use to get first-time users to understand and hopefully like you web application. Here goes–
Posted in Application Design, Customer Support, Marketing, Product Design, Product Management, Product Planning, Product Roadmap, SaaS, SaaS Go-to-Market, Software, Software as a Service, Software Engineering, Software Marketing, Software Methodology, Technical Documentation, UI, User Experience, User Experience Design, User Interface Design, UX, Web Applications, Web Help, Web User Experience, Web User Experience, Web User Interface, Web Writing, Website Creation, Website Design
As I had mentioned in a previous post, we are now actively hiring software developers to our development center in Tel Aviv, Israel.
As part of the interviewing process, we see software developers (and other candidates) look at various alternatives, and having a hard time to decide on a potential direction for their software career. The decisions are naturally harder for young developers who haven’t yet established some career path; but, I’m sometimes surprised to see senior engineers who seriously look at options very distant from one another, such as (as one example) building security devices vs. building web applications.
Here’s my two cents on things to look for in starting (and building) a career in software. Some of the considerations below are specific to engineering positions (developers and testers) but many are as applicable to additional roles such as product management, project management, product marketing and at times sales.
Posted in Agile, Agile Software Development, Career Planning, HR, Human Resources, Iterative Development, Jobs, Kanban, SaaS, Scrum, Software, Software as a Service, Software Engineering, Web Applications