Archive for the ‘Software Engineering’ Category

Building Our New Website

Wednesday, May 26th, 2010

If you’ve been to our website recently, you’ll notice a big change. We’ve recently completed a full site revamp, including new visuals, new content and a whole new back-end content management system (CMS).

INM.com Website

A screenshot of the new www.INM.com site

(more…)

Why We Adopted Agile Development Methodologies

Thursday, April 15th, 2010

When you’re part of a company with over twenty years of experience in developing products and projects, making a change the very core of your company can be a big step, especially when you have a good track record and things are working pretty well. When we started toying with the idea of changing how we developed software a few years ago, we asked ourselves many questions about whether we really needed to make this change and how it would impact us. Now, a few years into it, we’re quite happy with the results. As with any change, there are a few bumps along the way, but would we go back? Definitely not.

For those that aren’t familiar with agile development, in particular the Scrum model of agile development, it’s a fundamental shift from the way the industry used to build projects as the way a project is approached is different. As the agile manifesto states, the focus is around people and their interactions, and not around the tools, technology or processes. The way that the projects are managed is also different. The team works closely, with daily interaction between the business contacts and the developers to ensure that the software stays in-line with potentially changing business requirements. Work is done in short, tightly managed sprints, making it easier to track progress and solicit regular feedback. These sprints produce fully tested and robust deliverables of the highest-value features that can be evaluated by all parties and provide a solid basis to keep building on.

What are the results of this change? We’re able to deliver better quality projects that are more in-line with our clients’ expectations, all of this in less time for less money. Our clients stay closer to the projects and maintain more control over their development and can even adjust their needs along the way. Our commitment to the Scrum methodology and to the other best practices around agile development, have significantly improved our team and our deliverables. And our clients agree, as more and more often we are being asked to approach projects using this methodology.

How Flash Builder 4 Changes the Designer-Developer Workflow and More

Monday, March 22nd, 2010

As you may have seen Adobe released Flash Builder 4 today, the successor of Flex Builder 3. Why the name switch? The change was designed to create a clear distinction between the free open-source Flex framework and commercial solution. Flash Builder 4 comes in two flavours, a Standard version and a Premium Version. This release is great for companies like us that develop rich internet applications with a strong user experience component, as it introduces significant enhancements in the way developers work.

The most obvious change in Flash Builder 4 is in the designer-developer workflow. In previous versions, the workflow was one-way – the designer would create a layout and hand it off to the developer for implementation. Now, this process has been opened up and there’s a two-way exchange. Designers can still work with the tools they know and love but now they can work in parallel with the developers. Designers can directly make modifications to the design of an application and implement them easily in the mxml files without breaking the logic a developer is working on, as the components are now separate. This makes it easier for designers and developers to deliver well-integrated applications that are driven more by the user experience than by technical requirements.

Another great feature that makes improves development with Flash Builder 4 is the new wizard-based connection for communications with the server. Before this version, developers needed to manually configure server connections based on the code returned from the server. This new pre-coding makes connections to a variety of different web servers and web services much faster and easier.

Handling text within an application is also greatly improved, as Flash Builder 4 leverages all the text enhancement features that came with Flash Player 10. The text rendering engine performs better and faster, and there’s now native support for anti-aliasing, so fonts no longer need to be embedded into the application. It also supports right to left text, a feature that’s been requested for several years now.

Flash Builder 4 also integrates Flex Unit, which was previously a separate tool used for unit testing. This integration makes it easier for those following Test Driven Development (TDD) methodologies.

The bottom-line is that Flash Builder 4 makes it easier to build quality, design-driven applications and opens up a new level of cooperation between developers and designers.

Introducing…. Our New Product Owners

Monday, March 1st, 2010

For the past couple of years, our blog has mainly been focused on outside issues and the impact they have on our clients’ businesses. While this information is interesting, it hasn’t allowed our readers to get to know the team here at INM and to better understand who we are. Moving forward, we’re going to be injecting a bit more of ourselves and our personalities into Impact. We’ll be sharing more about what we’re working on, and what makes us tick.

We’re going to kick this off by introducing you to our new client-facing team, our Product Owners. This is a role that grew out of our adoption of Scrum development methodologies about a year and a half ago. For years, we followed the industry’s traditional model of sales. This meant that we had a few employees who were solely focused on outbound business development. However, as we all know, this model really doesn’t work for anyone anymore. We decided to change this and offer our clients better service, right from their first interaction with us. This meant putting clients immediately in touch with someone knowledgeable that could guide them down the right path, right away. So instead, the first person a potential client now speaks to is also the person who will work on their project and knows the issues, challenges and best practices for their project inside and out. This led to the creation of our Product Owners role.

Today we have four targeted Product Owners, each with a different specialty, all of whom are veteran INM employees with first-hand knowledge and lots of hands-on project experience. This team is responsible for working with interested clients, proposing relevant solutions and overseeing the product development, deployment and operations.

Over the next several weeks we’ll be doing more detailed profiles of each Product Owner. Until then, I wanted to provide a quick introduction. Each of these individuals will also be more involved in the public face of INM, so you may see them pop up here on Impact from time-to-time.

Our Product Owners team:

  • Jason MacDonald is our ePublishing and eContent expert. Jason can cut through the clutter and he’s a pro at helping clients create the right environment to publish their content, whether it’s through software, digital documents, online/offline projects or an eLibrary.
  • Raluca Ene is our User Experience/User Interface expert. Raluca hasn’t met an application interface she couldn’t improve. She leverages best practices to help ensure every interaction is an efficient one and that every project is perfectly aligned to user requirements and corporate branding.
  • Francois “Frank” Boissonneault is our Engineering Project expert. Frank is a developer at heart and loves to come up with innovative techniques to fix our clients’ business problems through technology. He embraces a good challenge and can always navigate to a creative solution.
  • Nadine Husain is our eBusiness expert. Nadine’s always looking for an audience and her specialty is helping our clients to find and engage theirs. She’s well-versed in eMarketing techniques and is a pro at setting up technology solutions for engagement, and advising on eMarketing.

I’d encourage you to leave them a welcome message or post any questions you have for them in the comments section below.

A Historic Battle of Operating Systems

Monday, July 27th, 2009

There is an interesting and, in my opinion, historic battle unfolding around Operating Systems these days.

At one end, Microsoft is readying the next version of their OS: Windows 7. Windows 7 is nothing more than Windows Vista done right: more stable and polished. At the other end, Google announced Chrome OS, a Linux-based minimal operating system meant to run a web browser on a computer without any further sophistication.

Our position at INM clearly leans towards the latter side, not because we prefer Google’s logo to Microsoft’s but mainly because we had predicted that Operating Systems were becoming irrelevant commodities (see conclusion of “All aboard! The new Intel-based Mac is leaving the station; here’s how to switch platforms”) and that real challenges were moving away from the metal and closer to the mental. Our key argument is that, thanks to RIAs and technologies such as Adobe Flex, MS Silverlight and HTML 5, it is nowadays possible to deliver rich content and interactivity without the cost and hassle of desktop applications.

Ironically though, while Google’s core message is that an operating system ought to be small, subordinate to the web browser and mostly free; they are precisely drawing attention to the relevance on the operating system by discussing it in the media.

On the other hand, Microsoft is crafting a sophisticated pricing plan for Windows 7, with an array of colors and flavors ranging from Home Edition to Ultimate thus underscoring that the choice of the right OS, and hence the OS per se, matters.

Moving forward, I think there will be confusion and internal conflicts at Google, and ultimately Android will prevail as Google’s canonical operating system for all devices ranging from smartphones to tablets to small PCs (as well as yet-to-be invented small devices).

Windows and MacOS would obviously remain the OSes of choices for users of Photoshop, video editing and other high-end applications. But as the cloud becomes more reliable and people discover the true benefits of RIAs, most common applications will migrate to lightweight (and invisible) OSes, and only specialists would need to shop for heavier operating systems.

The Business Case for Cloud Computing

Tuesday, May 19th, 2009

McKinsey’s recent “discussion document” on Cloud Computing has triggered an activity stream of Google Alerts, Tweets and Re-Tweets from all over the Interwebs.

Similar to the Twitter phenomenon, the conversations regarding an evolution to a Cloud Computing infrastructure are disruptive to our traditional ways of thinking about IT. To make things worse, the noise level that is generated from these types of reports doesn’t help us better understand or make the right choices.

The McKinsey document provides too many assumptions and generalizations regarding IT infrastructure costs, and not enough focus on the business cases that could benefit from a Cloud Computing model. The Cloud model disrupts the traditional IT infrastructure by introducing a virtually infinite pool of computing resources that are available on-demand and payable by the hour. Businesses need to figure out which one of their applications currently running inside the firewall can take advantage of this type of virtual IT infrastructure.

A future in Cloud Computing is not only about saving IT infrastructure costs — it is also about progressively outsourcing pieces of a company’s IT operations onto a Cloud platform, and letting someone else worry about managing the underlying hardware, network and operating system.

There seems to be too much noise on the negative implications of Cloud Computing and not enough positive discussions on how it can be used for things such as prototyping ideas, building virtual test labs and synchronizing user’s laptops and mobiles devices in the cloud.

Whether we like it or not, Cloud Computing will “cross the chasm” very soon, and when it does, it will touch every aspect of our business and personal lives. It is not a question of IF, but WHEN.

Is Usability Becoming a Commodity?

Tuesday, December 9th, 2008

In the past several weeks, there’s been a lot of buzz about measuring usability and user experience. A recent posting on the Site Point blog, provided suggestions about “5 Ways to Get Usability Testing on the Cheap”. I appreciate that the author prefaces his post by saying that the proposed solutions “…might not be quite as good, but they won’t hurt your pocketbook nearly as much.” It’s important to set up the expectation that just as you won’t be able to make a jaguar out of a Siamese kitten, these low cost alternatives will provide you with decent feedback, but they aren’t as robust as what traditional user testing experience provides.

Products such as Silverback, UserTesting.com, Feedback Army, and Amazon’s Mechanical Turk, among others, offer a range of services that span from text-based surveys and written questionnaires all the way to video reports of users talking their way through their interaction with your website and recording user interactions via facial reactions, screen clicks and other such navigational behaviors.

In looking at usability testing, the available alternatives can be roughly broken out into:

1. Classical testing by experts in the field who are specialized in evaluating user behaviors and developing customized solutions based on their client’s requirements.
2. Analysis via tools such as Google Analytics and Site Meter
3. Low cost solutions such as those mentioned above

Having a wide selection of tools to choose from is ideal, rather than being forced to purchase services that may not necessarily be suitable for your web project. Some of these low cost solutions are a perfect way to gain a snapshot of how a site or specific application is functioning.

However, low cost options shouldn’t necessarily be considered a full replacement for user experience analysis for large-scale websites or those sites requiring complex interactions. For these, it is still recommended to “consult a licensed professional”.

Best Practices in Software Development Are Not

Tuesday, April 29th, 2008

In a rather provocative talk at Project World 2008 last week, IBM’s Practice Leader, Scott Ambler, shared a secret: He admits that accepted best practices in software development are no longer best practices.

“Writing a detailed requirement spec up-front is a worst practice, despite being considered a best practice for the longest time,” said Ambler. “When you do this, you are building to specs, as opposed to building to what people actually need.”

Everything in this industry is now pointing to the same direction. As such, developers must:

  • establish a long-term vision but design for the short term
  • release projects in small iterations
  • make project components as independent as possible from each other
  • and, first and foremost, connect every feature to a stakeholder’s needs

New Public Betas of Adobe Flex and AIR

Thursday, December 13th, 2007

Today, Adobe released the Beta 3 versions of both Adobe Flex and AIR. You may ask “Why should I care about beta software”? Well, both of these applications will be impactful if you are building, or considering building, Rich Internet Applications (RIAs). While not the only solution on the market, Flex is one of the most widely used technologies for enterprises RIAs.

What makes this release interesting? It delivers:

  • Great tools for data aggregation and for visually presenting metrics that will contribute to decision making.
  • More freedom for end-users to access tools and information without necessarily being connected to the internet.
  • Great economies of scale in creating online and offline applications in from a single effort.

We suspect that this release is a feature-complete version of what we will see in the final on which is anticipated to be available in early February 2008. If you are looking for a copy, it’s available on the Adobe Labs site.

End Users Prefer SaaS

Tuesday, December 11th, 2007

There is an interesting commentary over at The Intelligent Enterprise Blog by David Linthicum, managing partner of Zapthink. This piece is about a recent Datamonitor survey of 300 pharmaceutical and biotech firms across Europe and North America about their attitudes toward software as a service (SaaS). The results showed that the end users of these applications overwhelmingly prefer the SaaS model over more traditional enterprise applications.

Why you may ask? End users cite better quality products, better customer support, and better service as the prime reasons, but David digs further into the real reasons why SaaS is better, including:

  • Users are more accustomed to the web, and spend more time online then they do in their enterprise applications, making it a very familiar experience.
  • Users expect to be able to access their applications from anywhere, home, work, and vacation, and to be productive whenever they want to.
  • SaaS vendors are hungry for business and are ready to provide the stellar service necessary to win clients over and keep them. With SaaS vendors it’s critical to deliver on promises as users can simply unsubscribe if they are not happy.

If end user satisfaction is not enough to convince you that SaaS is a model to consider, then perhaps the fact that Gartner is predicting that 25 percent of new business software will include SaaS by 2011, will be convincing.