Thought Leadership

forrester_SM_1204_blog_002

Subscribe to our blog

Your email:

Connect with Ness

Software Engineering Services Blog

Current Articles | RSS Feed RSS Feed

How to migrate Windows without killing your CTO

  
  
  

by Madhan Gopalan
Ness AVP, Financial Services

canstockphoto0907862A large Financial Institution’s CTO once asked a gathering ‘Do you know how long it takes to transform an IT organization like ours?’ As you would have imagined, the responses varied from one-year to several years. Once the responses stopped, he softly said ‘Two and half CTOs’. The crowd burst into laughter.

Operating System migrations, especially in large firms, may not be as dramatic as this CTO indicated, but it sure has a lot of challenges and 18 to 36 months’ time frame, depending on the size of the organization, to migrate to a modern desktop. Here are a few things to consider while migrating from XP to Windows 7 or 8 if you are running the technology for a large firm

The right governance, participation and communication

The right Governance may sound a little dull, but it is a primary requirement, without which your migration program is bound to fail. To start with, identify the project team and set expectations with different groups, regions and business departments within the organization. Also, a change of this size, to be successful, requires participation at all levels. Hence, involve people at all levels – strategic, tactical, functional and technical. Appoint champions and liaisons who can take your cause and message down to the last employee. Administrative Assistants fit this bill really well. To start with, set up monthly steering committee meetings at the strategic level and bi-weekly or weekly meetings at the tactical level. Communicate frequently and copiously the status of the program and the results to all the stakeholders.  Also, keep the process transparent.

Testing, testing and more testing

I cannot emphasize enough the need for testing your key and critical software platforms, applications, and models before migrating to the latest version of Windows. Microsoft provides a list of all the market applications that are certified for Windows. 

But that does not mean you are good to go just because you see your application on that list. For instance, as you would expect, Excel is certified for Windows. But that doesn’t mean the model you built on Excel with underlying programming (say Macros and VB Code) will work automatically just because Excel is on the approved application list.  You may have to do little tweaks and in-some cases rebuild these models. Testing assumes even greater importance in firms that have home-grown solutions. 

Here are a few things to keep in mind when testing your apps:

  1. Applications are best tested using spare test machines that are exact replicas of the existing machine but with latest software. However setting up test machines can be a logical nightmare especially in large organization with multiple locations. In this instance, you can use a Virtual Desktop Instance (VDI) that has the latest operating system and application software. 
  2. Before starting the testing process, take the inventory of all the applications that are typically used by the employees. The Systems Management Server application should help you to get the inventory at the user level. However, access to websites and select plug-ins and tools downloaded from third-party software providers’ websites may not show up in the application. Watch out for them. 
  3. If a given application is used by more than 10 people, the best practice is to package it and test it thoroughly before being pushed into a given computer in an automated fashion. That way manual installs can be avoided.

Setting expectations and handling apprehensions

The personal computer, as the name suggests, is indeed personal to the individual using it. Consequently, you are likely to face a certain degree of resistance when you try to change something that is close to them. After all they have been using it all these years without much ado so why make a change. 

Here are the few things that you can do to set and manage expectations and keep the apprehensions under control:

  1. Tell them that Microsoft typically stops supporting earlier versions after a certain period of time. For instance, Microsoft plans to stop supporting Windows XP and Office 2003 by April 2014. Also, demonstrate the benefits and the cool user interface.
  2. Communicate regularly through emails, blog posts and on the company intranet about the imminent change -- and the do’s and the don’ts as well.
  3. Before migrating, back up all the data and ask the users to move all the data, if any, in the desktop to a network location.  That will provide the assurance to the employees that they should get their data back after the migration is complete.
  4. Most employees freak out if they find something is missing. Hence, once you are done migrating the machine, ensure that their settings (especially bookmarks), applications, data files are properly reinstated.
  5. Keep a well-trained team and if possible a dedicated phone line to answer queries about accessing the new system.  I also would recommend a Microsoft Office trainer to be part of the team who could periodically run training classes for those who chose to attend.

Rolling out and getting feedback

Before rolling out in a large scale, do several pilots. This will provide you a sense of all the dependencies involved and the level of user readiness. Also, the most common mistake is excluding a specific group of people from the pilots. Involve all the groups – functional, technical, legal, finance, sales, marketing and general administration – to actively participate in these pilots. Also, obtain feedback from them through surveys and other means so that you can constantly refine your migration process 

If you follow this advice, you should have a smoother transition from one version of Windows to another -- and just maybe you can do it faster, more efficiently, with fewer headaches. And maybe that CTO at the party can survive to do his job another day.

The author, Madhan Gopalan, based out of Hackensack, NJ, is an Associate Vice President with Ness Technologies. The views expressed here are his own and not necessarily that of his employer. He can be reached at madhan.gopalan@ness.com

Photo Credit: (c) Can Stock Photo 

5 Links for Developers and IT Pros 9-7-12

  
  
  

It's Friday and that means it's time for our weekly feature where we search the Web looking for 5 interesting, funny and poignant links for developers and IT Pros.

5 9 7 12If you missed our other post this week, Developers Follow the Money to iOS, please check it out. Android clearly controls the most smartphone marketshare, but it doesn't mean it's the most popular development platform. 

Please consider subscribing if you like what you see here, and if you have something to say, please feel free to leave a comment and let us know what you think.

And without further delay, here we go with this week's links:

This Ain’t Your Father’s Web Application | Input Output

It goes without saying that the web has grown into an increasingly complex place since its humble beginnings in 1990, and at the same time, web applications have grown increasingly sophisticated. This article takes an indepth view of the technologies driving these changes.

Polyglot: No One Language Will Rule the Cloud | Smartbear

Speaking of complexity, the Cloud is another element of the changing face of the web, and when you look at cloud application development, you might be surprised to find how many different languages it requires to complete a project. As the author points out, it requires multiple programming languages and you need to understand the level of complexity to be successful.

The Rise and Fall of Adobe Flash | Speckyboy

Flash was once the centerpiece of the Adobe world, then Steve Jobs decided he didn't want Flash on the iPad, and it effectively marked the beginning of the end. This article looks at the history of Flash from its golden age to its fall from grace.

A Scrum Master Is Not a Project Manager by Another Name | Scrum Alliance

When you move to Agile methodology, it's easy to think that the Scrum Master is just a fancy way of referring to the project manager, but as this article explains, it's a very different proposition, and to make that assumption would be a huge mistake.

SUSE’s OpenStack Cloud Is Good For The Ecosystem | Cloudave

When SUSE announced it was jumping on the cloud bandwagon, and using OpenStack in the process, it meant another major open source player was supporting this standard, and in this author's view, that's going to help push its success.

Photo by Tomma Henckel Used under Creative Commons Share Alike/Attribution License.

The Changing Face of Enterprise Software

  
  
  

The way we buy enterprise software is changing.Have you noticed the way you buy and develop software is shifting. There are a lot of trends that are forcing a change, and of course, some companies are moving more slowly, but over time it's happening.

There is the cloud of course, which is having a profound impact on the way we think of software. Instead of buying boxes of software or packs of licenses (many of which we may never use), we're buying only what we need. Instead of complicated updates that completely undermine the way we work and cause months of preparation and pain, we now have regular updates that happen seamlessly in the background.

And it's not just pure-play cloud vendors who are changing. Even traditional boxed software vendors are changing. If you look up on the shelves above my desk, you'll see a long history of desktop computer software going back to the early 1990s. It's a veritable museum. What's interesting is that in the future, no such record will exist.

That's because companies like Apple are doing away with boxed software. Now you get your apps through the Mac App Store, just as you do with apps on your iPhone or iPad. When OSX Lion was released, it was download only. There wasn't a boxed version available. You no longer have to track that physical disc because there isn't one. You download the software and updates to the OS and related software are done over the air too.

Just last week in fact, Adobe announced with the release of Creative Suite 6, it was offering a boxed version and a subscription version. This seems to be a transition period for the company as it moves people away from the boxed set.  You get what is essentially the $2500 Master Suite for $49 or just $588 a year. The updates come automatically and you don't have to put out another huge chunk of money with each passing upgrade. Your software becomes a fixed cost. It makes much more sense.

Another factor driving change in the enterprise is the notion of simplification. Box CEO Aaron Levie recently wrote a piece about this for Fast Company called The Simplicity Thesis. His premise is that people don't need bloated enterprise software packages that are difficult to buy, install, configure and maintain -- and worse they are harder to use. They lop on more and more features when most people only use a few. What we need is simpler software that's easier to use and maintain.

He's right. Feature bloat has become a huge problem with software, and that's one of the reasons people like cloud solutions because they tend to be easier to use and don't get bogged down into too many features. Companies like Levie's have made it easy to build applications on top of the Box platform to add functionality where needed without bogging down the core Box product.

This discussion wouldn't be complete without talking about the impact of mobile on enterprise software. Increasingly, employees want access to enterprise software and repositories wherever they happen to be. The cloud certainly makes that easier, but you also need to be thinking about developing apps to let your users acccess content securely from wherever they are.

Beyond that there are related trends including consumerization where people are looking for software that's as easy to use as what they use at home. That plays directly into the cloud, mobile and simplicity ideas. In addition, employees are increasingly bringing their own devices, the ones they feel comfortable with.

As the enterprise shifts and changes, the way it buys and uses software is changing too. Are you ready? How far along is your organization? Leave a comment and let us know.

5 Links for Developer and IT Pros 3-30-12

  
  
  

5 3 30 12It's Friday and that means it's time for our weekly feature where we search the Web looking for 5 interesting, funny and poignant links for developers and IT Pros.

If you missed our other post this week, Your Cell Phone May Be Less Secure Than You Think, please check it out. If there is software out there that can break a cell phone's security code in less than 2 minutes, what are the implications for IT? And how are you supposed to secure enterprise content sitting on the phone? Unfortunately, there are no easy answers.

Please consider subscribing if you like what you see here, and if you have something to say, please feel free to leave a comment and let us know what you think.

And without further delay, here we go with this week's links:

How to Avoid the Common Pitfalls of Mobile App Development | Mashable.

There are so many questions when it comes to mobile development. Which platform? Web site or app? This comprehensive piece looks at mobile design from a number of angles and is chock full of advice from experienced developers. 

Malware is Changing. Fortunately, So Are Security Vendors’ Approaches | HP Input/Output.

We all know that there are security pitfalls aplenty on the web today and as fast as security firms come up with answers, the bad guys come up with new approaches, but security vendors seem to be adjusting their strategy to try and stay a step ahead (or at least keep up with) the latest viruses and malware.

4 Reasons Developers Resist Code Review (and Why They Shouldn’t)  | Software Quality Connection.

In this piece, as the title so aptly puts it you get 4 reasons why code review is a good idea. I don't care whether you're a writer, a coder or a candlestick maker, it's always a good idea to have an independent person review your work before it goes out the door.

IT-as-a-Service and the Facebook Effect | Cloud Zone.

This writer argues that Facebook has locked us into their service over time because they have added features users want and improved the underlying infrastructure. As IT begins to develop a service orientation, you too will see a similar effect with your users.

Cloud Infrastructures Help Make and Save Money | Tom's IT Pro.

The hype says that the cloud can save you money, but make you money? In a private cloud it is possible to make IT a cost center where you charge back for services, instead of a cost sink where services are just doled out to business units. This article provides some real-world scenarios about how this could work comparing traditional IT and cloud-based approaches. Interesting stuff.

Photo by Tomma Henckel. Used under Creative Commons Share Alike/Attribution License.

5 Links for Developers and IT Pros 12/2/11

  
  
  

5 12 2 11It's Friday and that means it's time for our weekly feature where we search the Web looking for 5 interesting, funny and poignant links for developers and IT Pros.

If you missed our other post this week, Your Company Needs a Coherent Mobile App Plan, please have a look now. It covers the importance of a well-defined mobile strategy. You can't just throw out apps will-nilly and expect success, and you certainly can't  make it an advertisement.

If you like what you see here, please consider subscribing and if you have something to say, please feel free to leave a comment and let us know what you think.

And here we go with this week's links:

Company plans to eliminate email - FierceCIO
It's a bold move for sure, but without a coherent strategy for replacing it, employees will more than likely work around it using private emails, creating a security and governance risk most companies wouldn't consider a reasonable trade-off.

7 Stupid Security Tricks - Input Output

They may be obvious depending on your perspective, but that may be why they slipped through the cracks and you missed them. Definitely worth reading and making sure you have these holes plugged.

Serious Games Drive Agile Strategic Planning  - Agile Blog

One consultant found playing planning games with executives could prove the value of moving from a Waterfall to Scrum environment.

7 Reasons that Rexx Still Matters - Software Quality Connection

If You know what Rexx is, then you know it's probably fallen out of favor at your development shop. This writer offers some arguments why it still matters and should still be in your programming aresnal.

In Search of Reliable Virtualization Providers - Tom's IT Pro

If you've decided to virtualize your IT shop, the next step is finding a reliable provider and this post tries to give you some practical advice on how to find providers that match well with your organizational requirements.


Photo by Tomma Henckel. Used under Creative Commons License.

5 Links for Developers and IT Pros 9/9/11

  
  
  
5ronIt's Friday and that means it's time for our weekly feature where we search the Web looking for 5 interesting, funny and poignant links for developers and IT Pros.

If you missed our post, Earth to Google: You Might Not Want to Alienate Developers, please have a look now. Google upset the App Engine developer community last week when it instituted a steep price hike. It may want to rethink that decision.

If you like what you see here, please consider subscribing and if you have something to say, please feel free to leave a comment and let us know what you think.

And here we go with this week's links:

Google to Android Developers: 'Do Not Develop in the Open' - ReadWriteWeb

Google continued to make friends and influence people this week when a 2009 strategy document surfaced in the Oracle lawsuit in which Google allegedly stated "Android should be developed on a course that appears to be open source, but actually is not." It wasn't surprising the two sides were meeting to work out a settlement.

Programmers Need to Learn Statistics or I will Kill Them All - Zed A. Shaw

Programmer Zed Shaw is a bit, shall we say, peeved that his fellow programmers are light in the statistics department and he's here to tell you in no uncertain that it's important to learn, dammit.

Why companies are flocking to HTML5 - Fortune Tech

Some significant players are developing HTML5 applications and you should probably be paying attention as HTML5 apps can work across platforms.

How to Stop Runaway Licensing Costs -- CIO Update

Software licensing cost overruns can kill an IT budget and it's a difficult area to keep in check. This article provides you with some practical tips and tricks for bringing those costs under control.

Making Wi-Fi Security Work: WPA2 Rules, WEP Drools - Input Output

Veteran technology journalist Tom Henderson explains the ins and outs of WiFi security and, well, why WPA2 rules and WEP drools. That should cover it, but if you want details click through to the article.

Photo by Ron Miller Used under Creative Commons License.

Engineering Effectiveness: Analyzing Your Code Base

  
  
  

by Neil Fox, VP Strategic Consulting

In our past posts, we have discussed the three dimensions of engineering effectiveness: Process, Technology and Quality.

Ensuring that you have a defined process -- I prefer Adaptive Agile -- and that your tools and metrics are configured intelligently to support (and improve) that process is the easiest and most significant thing you can do to improve your overall software development effectiveness.

Start by making sure your tools are properly configured. Only in this way can you get accurate metrics that identify where you should focus your energy. After you have “optimized” your process, tools and metrics to ensure that you are getting the most of your development process, then what? The answer is a little more complicated because it depends on the nature of your development and your business objectives.

If yours is like many organizations we work with, you are focused on adding new functionality to existing applications and there are two approaches that will help you allocate more of your effort on achieving this goal:

Examine Your Architecture

Start by examining your architecture. If you have an outdated and fragile design, a refactoring effort could pay huge dividends. It usually takes some time and a high degree of expertise to do this right, but you really have to do it or you could be wasting large amounts of your time and your company's money.

I recommend finding your best architect and carving out a couple of weeks to examine the current architecture and recommend potential improvements. The decision to refactor, purchase new technology or completely rewrite your application is a big one. 

Making this decision requires some dedicated analysis of the current code base, analysis of available applications and platforms as well as drafting a potential new architecture. Be sure that he or she considers new technologies, and depending on the strategy of your business, you could even consider rewriting your application for the cloud with access by mobile devices, smart phones and tablets.

Use High-quality Code Analysis Tools To Help

If you are having trouble with performance and/or fragile code, I would suggest using a high-quality code analysis tool such as CAST (www.castsoftware.com), PMD (http://pmd.sourceforge.net) or Clover (http://www.atlassian.com/software/clover/).

describe the image

Figure 1: CAST Approach to Code Analysis

These tools, some of which will integrate into your build process, provide specific information regarding areas of high complexity, duplicated code, potential defects and areas of automated test code coverage. Integrating tools like these into your development process will save lots of time and effort later in the cycle when they are more difficult and expensive to address.

 describe the image

Figure 2: Sample Clover Analysis

Several of these tools will also integrate into your development process, providing real time code analysis. Reducing errors and poor code during your initial development will save considerable effort later on when the application is generally complete or even deployed in the field.

So, if you have been following along and taking some of my advice, you should have a robust development process that follows best practices for your methodology, systems configured to support your process, metrics to identify improvement opportunities, solid architecture to support your business objectives and clean code to deliver high performing experience to your users.

See Neil Fox's previous posts:

Software Effectiveness: How and What to Measure?

How Effective is Your Software Development?

Optimizing Your Development Process

5 Links for Developers and IT Pros 4/15/11

  
  
  
21349339 c85070f1af mWelcome back to our weekly feature where we scour the Web searching for five great articles of interest to developers and IT pros.
 
If you didn't see our post this week from Neil Fox on Optimizing Your Development Process, you really should check it out. It's an entertaining and informative read, chock full of techniques and recommendations.
 
And now for your reading pleasure, this weeks links:
 
Cloud Opens Up Innovation for IT — CIOUpdate.com
 
What does the transition to cloud computing mean for the CIO job function? It's definitely changing. To find out how, read this article.
 
Feature Creep (cartoon) - Software Quality Connection
 
You've all been there. What started out as a nice concise plan ballooned a little, then a little more. This cartoon captures that situation perfectly. A fun, Friday guffaw.
 
That Developer's Salary is Bigger than Mine! — Datamation.com
 
Are you measuring your worth against your colleagues? Should you be? This post takes a look at the classic developer pay dilemma with humor and aplomb.
 
Application Security: Much More Than Secure Development Frameworks - Security Blog
 
That old bugaboo application security is rearing its ugly head again and you better be paying attention. This article delves deep into how to build application security into your development process and explores some classic techniques.
 
Stumbling Towards Agile - Software Quality Connection
 
You've heard about Agile. You know it's a good approach, but as a Waterfall shop, you're a little frightened of the transition. Remember, it's not just a philosophy, it's a whole new way of doing business and you have to be prepared at every level of the process.

Photo by faster panda kill kill on Flickr. Used under the Creative Commons License.

Software Development Ineffectiveness Costs Companies Millions

  
  
  

measure software development effectivenessBy Neil Fox, VP, Strategic Consulting

Why measure the software development process?

There are those who stand firm in their opinion that the process of software development cannot and should not be measured. Why not? Because, so the argument goes, the results are sufficient evidence of the productivity of the team and the efficiency of the process itself.

As you might expect, these views are generally held by technology professionals who just do not want to be scrutinized and would like the business to focus on the end result rather than how that result was achieved or if it was possible to deliver more, faster or better.

You must be able to demonstrate the effectiveness of the development process

The software development industry is fairly young (it started about 30 years ago) and for a much of that time was considered somewhat of a black art by those on the business side. As the industry has matured, however, this “please ignore the man behind the curtain” approach no longer works. Business managers investing in technology want to know what they’re getting for their money. In order then to demonstrate serious discipline and rigor to the business, we need to be able to discuss, both qualitatively AND quantitatively, our current effectiveness as well as describe our concrete plans to improve effectiveness into the future.

Increasing competition in the software industry drives business interest in ROI and software development effectiveness

The software development landscape has become radically more competitive than even during the dot-com bubble. Software development groups now compete with established and emerging companies as well as a growing community of global partners and providers. If development can be done elsewhere better and for less money, or a company can buy a solution rather than incur the risk and expense of building applications, it makes the most sense for them to do so. Therefore, in order to be relevant, and to be considered a viable option, we must be able to articulate our effectiveness.

The conversation starts with measurement

I am convinced that software development leaders who are able to measure, discuss and improve their teams’ effectiveness will have a distinct advantage, provide increasing value, and attract more investment as our industry continues to mature.

In our next post we will discuss the definition and components of software development effectiveness.

Stay tuned!

Neil Fox heads the strategic consulting unit at Ness. His team partners with clients to maximize return on technology investments. He was an early member of Macromedia’s team, a pioneer of Internet technology while at TRW in the 90’s (now part of Northrop Grumman), and  has led large software development efforts for most of his 25+ year career. He can be contacted at Neil.Fox@ness.com.

 

Image Source: lissalou66 

How Fast Should ISVs Be Moving to the Cloud?

  
  
  

According to the Pew Internet and American Life Project, "by 2020 most people will access software applications online and share and access information through the use of remote server networks." In other words, within the next decade, most software users will gradually be moving to the cloud.

This naturally raises the question, "How quickly should software vendors be moving their products to the cloud (or, to be more precise, offering said products 'as a service')?" I've already stressed that the answer to that question depends on the specific needs and pressures of your business (and if you are in the enterprise software business, the need to move quickly may not be all that pressing, as it turns out).

Still, no matter how quickly you want to develop and release 'as-a-service' versions of your software, it can't happen over night. This is the case not only for technical reasons - selecting a platform, developing infrastructure, and redesigning or optimizing code takes time - but also for business reasons. After all, the 'as-a-service' model necessarily brings with it different revenue schemes, different pricing structures, and often different customers (many ISVs develop SaaS offerings as a way to go after SMBs who couldn't afford or lack the infrastructure for their primary offerings).

Regardless of how much or little time it might take, "moving to the cloud" isn't an all-or-nothing proposition. The good news is that you can maintain your current business and continue to serve your current clients (who are in all likelihood buying, installing, configuring, and running software in the old-fashioned way) while experimenting with other delivery options. 

The better news is that such experimentation may actually change the way you develop software forever. This notion was brought home to me via a article by Shreekanth Joshi called, "Implications of Cloud Computing for ISVs." In this extremely pithy piece, Joshi raised the possibility that as-a-service products could, among other things, "have built-in hooks for monitoring customer usage." These hooks would provide "instant data" allowing product managers "to determine if certain features have more traction, as compared to others" thus allowing for better product planning and "a more customer-friendly product roadmap." 

Maybe I'm hopelessly naive, but this idea struck me as one of the more revolutionary implications of cloud computing for software design. Imagine being able to close the loop between requirements gathering and observed user behavior. Not only that, imagine being able to do this as part of the rapid (bordering on continuous) release cycles associated with SaaS development. Now imagine (and this is the really big idea) a fluidly responsive software product that would adapt to user needs in realtime. 

If that's what moving to the cloud would allow ISVs to create, then I would say they can't get there fast enough.

 

Image Credit: net efekt - Licensed via creative commons.

All Posts