Key trends in software development
I keep getting asked frequently what some of the key trends are that I see which will have a big impact on how we develop software. Here are five such trends that come to my mind:
Concurrency: What’s next with microprocessors? If you talk to the major computer chip manufacturers, they would tell you that in the next couple of years pretty much everything we see is going to be multi-core systems. Today, most applications are single-threaded. We have to enable developers to write concurrent (parallel programming) applications to take advantage of multi-core systems. This means concurrency has to be enabled at all levels of the stack.
Global Distributed development: Every customer that I talk to who does software development is thinking about global distributed development. I would be surprised if every Fortune 1000 company didn’t have distributed software development teams (either already or soon). Globally distributed teams communicating via secure high-speed networks are now the norm. Software development tools have begun to cater to this system and software developers have begun to work with colleagues thousands of miles away. This absolutely requires collaboration between highly skilled internal and external teams. This trend will continue so as to best use the talent available on a world-wide basis.
User Experiences: The importance of Designer-Developer workflow is gaining momentum because user experience matters. As application developers and website designers/builders continue to use user experience as a key differentiator, designers and developers have to work together even more so than ever. No longer can the designer create a good looking composite picture to define the user interface, throw it over the shoulder and expect the developer to recreate it using code. The process has to be simpler and optimized for an efficient two-way collaboration between the designer and developer.
Bridging Business and Operations: The ability to drive more alignment between business and operations teams with software development is critical to the successful realization of software as a critical enabler for business value. This alignment transforms software development from an unmanaged art form into a managed business process. Historically, developers and IT Professionals have been their own silos. There is a Chinese wall literally between these two communities. I see a world where there is a nice bridge (workflow, automation, seamless transition) between these two communities that enable folks to think about design, development, deployment, operations and management as one continuous and seamless workflow. SDM (Software Definition Model) is a critical component to fostering better alignment and collaboration between software development teams and operations (IT) teams.
Model–driven development: Model-driven development will enable developers to view and create code using a much higher level of abstraction. Models will no longer remain disjointed artifacts. They will become an integral part of the software development process, tracking and creating changes in the code as they happen. A key component of this is software factories, which is a paradigm for automating software development that results in increasing agility, productivity and predictability across the software lifecycle.
Namaste!
Comments
Anonymous
October 16, 2005
what a coincidence! I've just looked at this article a moment ago:
http://www.intel.com/technology/computing/multi-core/
You didn't mention anything about 64-bit development. I built a system just because I thought it would revolutionize computing technologies.Anonymous
October 16, 2005
The comment has been removedAnonymous
October 16, 2005
Nice one Mr Somasegar. I had a cross post on this.
ThanksAnonymous
October 16, 2005
Loc, you are right in that another trend is 64-bit computing. Applications that are memory intensive (database applications for example) will absolutely want to take advantage of 64-bit computing.
- somasegarAnonymous
October 16, 2005
Beyond database and servers, I've been looking forward to 64-bit architecture because every application can take advantage of it. There'll be a day when my Mom turn on the computer and Windows XYZ will load almost instantly, just like a TV or a DVD player would. SCSI hard drives will become obsolete like floppy drives did (ok, that may be too exaggerated). Besides, everyone will want to upgrade HW/SW. Hello, 64-bit multi-core!Anonymous
October 17, 2005
namste,
just come across this blog.nice blog.
pranam,(another hindi word:) )
hardikAnonymous
October 17, 2005
I recognize some of these from trends from the descriptions of new projects. In the future, can you please give the big-picture view for how Microsoft is addressing these trends in development with products? My attempt so far to match things up is:
Concurrency- ?
Global Distributed development- ?
User Experiences- Expression
Bridging Business and Operations- Workflow Foundation?
Model–driven development- DSL ToolsAnonymous
October 17, 2005
Yes, as Nicholas pointed; it will be nice to see either Somasegar or any of this teammates or other leads to talk about how Microsoft is addressing or integrating all these into the new productsAnonymous
October 17, 2005
The comment has been removedAnonymous
October 17, 2005
I would have to disagree with you. It's about utilizing the best talents in the world to move the company forward. So, if you're great at what you do, you'll be on the team.
That's all the more motivation to become 3 times better than those who's working for a third of US avg wage.Anonymous
October 18, 2005
The comment has been removedAnonymous
October 18, 2005
I thought that one of the key things of the Cell project is "parallel processing" between multiple Cells. And Soma didn't limit his point to Intel's multi-core architecture.Anonymous
October 18, 2005
This is a nice article. BTW, what is the scoop with Microsoft Business Framework that is supposed to provide Model driven platform for business application development? Do you have any dates on when it is supposed to ship?Anonymous
October 28, 2005
If Windows Workflow Framework is an example of MDD and programming at a 'higher level of abstraction', I'm retraining for a different profession!Anonymous
January 20, 2008
PingBack from http://softwareinformation.247blogging.info/somasegars-weblog-key-trends-in-software-development/Anonymous
January 20, 2008
PingBack from http://softwareinformation.247blogging.info/somasegars-weblog-key-trends-in-software-development/Anonymous
October 06, 2008
This article is educating. I pray you to write more on it and other burning issues. GOOD WORK!Anonymous
May 29, 2009
PingBack from http://paidsurveyshub.info/story.php?title=somasegar-s-weblog-key-trends-in-software-developmentAnonymous
June 08, 2009
PingBack from http://jointpainreliefs.info/story.php?id=2618Anonymous
June 10, 2009
Dear Sir/Madam, We are the one of leading manufacture of corrugated Boxes. we manufacture all kind of Corrugated Boxes, Jute boxes, Heavy boxes, & also Wax Boxes for keep frozen product cool below -18% we are pioneer in this field. So please if their is any requirement relating our products. Email us or Contact us on our mobile no- 09422304905. Email id: singhalpackaging.532@gmail.com Thank & Regards Ravhee Singhaal From: SINGHAL PACKAGING.Anonymous
June 10, 2009
Dear Sir/Madam, We are the one of leading manufacture of corrugated Boxes. we manufacture all kind of Corrugated Boxes, Jute boxes, Heavy boxes, & also Wax Boxes for keep frozen product cool below -18% we are pioneer in this field. So please if their is any requirement relating our products. Email us or Contact us on our mobile no- 09422304905. Email id: singhalpackaging.532@gmail.com Thank & Regards Ravhee Singhaal From: SINGHAL PACKAGING.Anonymous
October 13, 2012
Model–driven development seems to have bombed. whatever happened to Microsoft's vision for MDA? After Whitehorse, MBF (project Green), Software Factories, Oslo (Modeling Services) , where is MS going here ?