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.



Comments (22)

  1. loc says:

    what a coincidence! I’ve just looked at this article a moment ago:

    You didn’t mention anything about 64-bit development. I built a system just because I thought it would revolutionize computing technologies.

  2. loc says:

    As for Global Distributed Dev, I work with colleagues in Nanjing, JiangSu, who I’ve never met before. The VPN is quite slow, though. VSS over VPN is a pain, and will be the same for TFS. But I really enjoy working with Nanjing team.

    Model-driven development sounds like FUN. I wrote an essay on really-high-level programming for my ESL class years ago. That was before I knew anything about software, thus came the need to make it easy/high-level for me. 🙂

  3. msvista says:

    Nice one Mr Somasegar. I had a cross post on this.


  4. Somasegar says:

    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.

    – somasegar

  5. loc says:

    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!

  6. hardik says:


    just come across this blog.nice blog.

    pranam,(another hindi word:) )


  7. Nicholas Allen says:

    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 Tools

  8. msvista says:

    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 products

  9. David Moran says:

    Nobody seem particularly concerned that programming jobs are going offshore en masse. It’s a total disaster for the local IT community. You’d never guess it from reading the above though. Apparently getting screwed by companies employing programmers working for a third of your wages is called "Global Distributed development" – that’s a polite euphemism for cowboy capitalism folks.

  10. loc says:

    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.

  11. cy43rguru says:

    Good article, "Soma". But currently I feel that IBMs exploration on Cell driven architecture for the "presumed" Sony PS3 may have far more potential than the multi core architecture being proposed by Intel. One of the immediate benefits is that performance scales really high with the Cell architecture than with a multi core processor.

    Of course one needs to consider that this may be another flash in the pan and the technology could again go down the Transmeta or the OQO way.

    Has anyone really also thought about processor architectures that would be faster, better and more compatible with small hand held devices. At least Transmeta tried, but the business flopped. I would imagine multi core 64 bit processors would require a nice amount of cooling. What I would really like to see if a Pentium-M processor that can easily allow me to play Half Life 2 on my little Nokia smartphone?(Reason I chose half Life 2 is the game is heavy on processor requirements rather than 3d cards, and I am biased towards Nokia phones…. 🙂 )

  12. loc says:

    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.

  13. Tim says:

    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?

  14. fnmp says:

    If Windows Workflow Framework is an example of MDD and programming at a ‘higher level of abstraction’, I’m retraining for a different profession!

  15. Godwin Agada says:

    This article is educating. I pray you to write more on it and other burning issues. GOOD WORK!

  16. Ravhee Singhaal says:

    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:

    Thank & Regards

    Ravhee Singhaal


  17. Ravhee Singhaal says:

    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:

    Thank & Regards

    Ravhee Singhaal


  18. Josh Reuben says:

    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 ?