By usability, we mean ‘user-centered approach and design’, which incorporates user concerns, needs and wants from the beginning of the design process. Users who are presented with feature-rich software that is difficult to use will most likely resist it and seek out alternatives. Hence it is essential to perform usability testing that would help you determine how easy it is for users to use the software the way they desire.
Some of the reasons why usability should be ensured by testing before releasing the software in the market:
- Reduction in support costs – usable software will reduce the number of support calls, which directly reduces support costs. Making the usage of software easy will mean less time spent on attending support calls for your support staff
The top three enterprise software challenges are:
- Integration with 3rd party software and best-of-breed IT systems, enabling connected enterprises
- Support for disparate client types like PCs, handhelds, smart phones etc.
- High-volume transaction capabilities
How do we address these challenges using QA and ensure that the software functions well in real-world conditions?
Increased levels of integration in the software today means increased need for test capabilities. There will be a fair amount of integration testing and web services testing that ensure the software system is doing its intended job well. This will allow improved enterprise functionality by connecting all their stakeholders in the business process. There are tools that are available to test for integration in addition to manual testing.
The requirements for managing a product or service workflow must be documented. However, when the number of requirements grows and the document becomes lengthy, readers find it difficult to review the entire document. Beyond a certain point, they rarely read the document again completely, or if they do, they skim over important sections without critical analysis.
It is therefore useful to express the requirements as a prototype. Doing so takes several pages of written requirements and represents the content visually in the form of prototype screens. Prototypes themselves can take many forms. A common way is to use HTML prototypes that represent web applications. Some professionals use a drawing program or even regular paper for their sketches. Others like to use Photoshop to mock up a prototype GUI, the advantage being that people will not confuse the prototype with the actual application.
Most software organizations are gearing up to address the ever growing small and medium enterprises (SME) market. Cloud based services have gained importance in addressing this segment. Microsoft has recently announced the launch of Office 365, which features close to 100 applications and 400 professional services, from developers to channel partners.
This cloud based offering includes:
- Office Web Apps (Word, Excel, Powerpoint, OneNote)
- Email & Calendar (MS Exchange)
- Website & Collaboration (SharePoint and Teamsite)
- Instant Messenger (Lync)
It essentially integrates MS Office, Exchange Online, SharePoint Online and Lync Online as cloud services. Office 365 will have to address the competition from Google Apps. However, Office 365 takes the power of cloud services and the features of all these apps and delivers it to SMEs at a fraction of the cost, without compromising on features.
Upgrading an enterprise system is a huge risk that involves a variety of stakeholders. Downtime must be minimized, and should work with least amount of functional disruption possible. The mission-critical nature of enterprise systems and its interactions with other high caliber systems necessitates the use of an effective project management system to manage timelines and resources, and mitigate risks as much as possible.
Successful upgrades need effective collaboration and communication among all the stakeholders. The project management system should provide all stakeholders access to documentation, schedules, and plans. Everyone must understand the overall status of the project as well as the status on specific project components, and these status updates should be accessible from anywhere.
The Microsoft Office SharePoint Server (MOSS) 2010 is an ideal option as it fosters collaboration among stakeholders from anywhere. Other features of MOSS 2010 are:
There is a widespread belief that SharePoint is the ideal information management solution. SharePoint is a web application platform that can perform a variety of functions provided you have the time and the skills to custom develop apps that are needed as a part of your business process.
Research conducted by the Info-Tech group delivered results that align closely with expectations:
Challenges to a successful SharePoint adoption
Source: Info-Tech Research Group
The IT learning curve is at the top followed closely by site design, customization, and content organization. Most challenges are related to staff and their skills, and not so much to the platform itself.
- Test automation is expensive and takes ages to justify the investments.
- Automation resources are top-heavy and would mean a lot of upfront costs.
- Product roadmap is not clearly defined and we aren’t sure if automation is appropriate for us?
These are some of the initial reactions that we get to hear whenever we think of test automation. These reactions aren’t unfounded and it merits careful assessment.
Some questions to consider before deciding to automate are:
- Is your product fairly stable and do you have paying customers for its initial version?
- Does the product have a clearly defined roadmap?
- Does every version upgrade, both minor and major warrant running all the functional tests over and over again? Essentially, the test scripts would be re-used multiple times justifying the investments
The one most important thing that can influence the quality of the software is the architecture used. Software architecture plays a key role, and it is collection of design decisions – intended to ensure functionality and other quality attributes of the software like reliability, usability, scalability, efficiency, maintainability, and portability.
Software architecture represents earliest design decisions that are hardest to change, is a communication vehicle among stakeholders and are the most critical to get it right.
Architecting the software right ensures the business goals of high quality, quick time to market, effective use of limited resources, optimal leveraging of available skills, low cost production, low cost maintenance and mass customization, which results in improved efficiency and productivity.
The moment we mention software quality, the first thing that comes to our mind is bug-free software. Is bug-free software the only thing about software quality?Absolutely not!
We can define software quality thus, it is a part of each phase of the development life cycle including testing and encompasses a whole load of factors and not just bug-free and aesthetic software. These factors that are a combination of tangible and intangible sum of quality attributes like functionality, reliability, usability, efficiency, maintainability and scalability forms an important part of the software.
A bug free, aesthetically appealing product that fails to solve business problems of the target audience for which it was designed is a poor quality product. Essentially, software quality is about meeting user needs and it is about the quality attributes as much as it is about being aesthetic and bug-free.
Whenever I look at the applications software market, I get the scary feeling that most small and mid-sized application software vendors would be gobbled up by the larger ones. During one of my conversations with a pretty experienced and learned person in the industry, he was mentioning that there would be space for probably 10 software companies in the world in the long run.
I assumed that the ten companies he was mentioning would be Microsoft, Oracle, IBM, SAP, HP, Adobe, Nintendo, Symantec, EMC and CA. These would anyway acquire the remaining players.
The challenges that application software vendors face are:
A. There is an open source offering in every segment that you operate
B. The big players bundle your offerings as an add-on to their enterprise offerings