Archive for the ‘Development’ Category

The New FileCloud Experience – Migrating from GWT to Vue.js

Launched in 2012, FileCloud has distinguished itself in the industry as an efficient system for Enterprise File Sharing, Sync, Backup and Remote Access. The system was built using the GWT Web Toolkit based on Java; however, after nearly ten years of growth and development, FileCloud was due for a UX revamp. We decided to rebuild the UI from scratch with a completely new framework: Vue.js. The reasons were simple:

  • Vue.js offers a smooth and slick user experience,
  • Vue.js is user- and developer-friendly, with tons of useful libraries, a solid community, and a great toolset.

The Need for a UX Revamp

To transform the classic UI to a new system, many challenges came up, mainly addressing backward compatibility. How will UI 2.0 communicate with the Apache server? Will the old shares be compatible with the new vue.js URL mechanism? Can the new system efficiently replace FileCloud solutions without alienating long-term customers?

With all these uncertainties, there are a few key points that make the task of reimagining FileCloud, an already existing solution used by customers, worth the trouble.

  1. “GWT is a great web toolkit in the market for writing AJAX applications” is a statement that would’ve been true a decade ago. However, GWT has been showing its age for a while now. Debugging takes significantly longer, due to falling market interest and industry support, as well as non-updated documentation.
  2. Recruiting and onboarding new employees is a pain due to a comparatively small talent pool for GWT.
  3. Switching to a newer framework offers an improved user experience that leverages the benefits of modern technologies; for use cases like this, Vue.js is arguably the “best” choice.

The Talent Behind the Scenes

The most significant driving force behind the success of the rewrite was the excellent team of engineers and developers. They were well aligned with the company vision, and their level of experience and expertise shone through. The rapport within the team helped everyone achieve a deep understanding of the task at hand, which helped the whole process conclude successfully. We started by reimagining and designing the look and feel of the new system. The new design was a major improvement, but translating that design into a live user experience required extensive teamwork. Four UI developers kicked off the development process with enthusiasm and momentum, aiming to deliver this extensive project in a short timeframe.

Understanding the Existing System

The primary prerequisite for a complete code rewrite is to have a thorough understanding of the existing system organization. This is easier said than done – it is extremely difficult to evaluate the scope of an existing project without looking into different user interfaces and examining how the system behaves under various configurations. When it comes to FileCloud, the system integrates smart options that govern functions, e.g. a file has security rules like DLP and Smart Classification associated with it that might allow or deny a user download based on different factors. Taking great care to note these kinds of details and filtering through classic GWT code, with help from the original contributors, helped map the original code and system organization.

It is easy to overlook all the work invested in building and debugging the original GWT code. Rewriting the code inevitably lead to new bugs that had to be found and fixed.

Project Planning

A job well planned is a job half done.

For a project with such a multifaceted scope, it was important to prioritize the important objectives. It was also helpful to tackle the tougher aspects of the work early on, so developers could gain a better handle on subsequent tasks. This is also an effective strategy to counter unexpected issues later on, which means more time can be allocated to polishing the codebase.

Planning in advance helps to mitigate factors that can adversely impact a project’s end result. Having a well-designed, realistic and transparent plan distributed evenly for the team is a must for a smooth operation throughout the duration of the project.

The team made use of several task management tools to track progress and manage the various tasks involved in FileCloud’s new UI development. Trello and YouTrack were specifically implemented to present the proposed workflow in a graphical and intuitive manner.

Agile and Continuous Development

Continuous development and feedback from the team and users were immensely instrumental during the UI revamp. A staging environment with the capacity to support a larger group testing the user experience ensured that product improvements could be implemented on the go. The Agile approach proved to be useful for phase-wise development, rather than trying to push all the changes at once to users. Following the pre-planned development path through a series of sprints ensured that we met our timeline and reduced issues or risk factors.

Retrospection

Planning a UX revamp of a widely used service like FileCloud comes with its own set of challenges.

First, reviewing old code and understanding the purpose of each module is not an easy goal to master in any situation, and FileCloud presented unique elements that demanded specific and careful attention to detail.

Second, incorporating feedback from users and trying to meet objectives within a predetermined timeline was difficult, but we were prepared to resolve these issues and relied on user feedback to inform the design of refactored and new elements in the revamped FileCloud.

Last, the migration strategy from the old to the new system involves significant planning. When implementing a UX revamp change like this one that has a great impact, a gradual change makes for a gentler transition. Users can access the new FileCloud, even as their old data, shares and URLs are maintained. Clients can even switch back to the classic UI whenever needed from the user dropdown on the top header.

In retrospect, the new FileCloud has been a challenging yet fulfilling experience. We at FileCloud hope that you love the new experience and provide feedback to help us improve further.

Article written by Niharika Sah

White Label SaaS Software Services for Resellers | FileCloud

Whitelabel SaaS

 

“White label” means that you can brand the SaaS product as if it were your own.

It’s the process of buying a re-brandable product/service, and then re-selling it under your own brand name to the end customer. It’s a great way to offer more services to clients without adding additional work for your team! White-labeling gives providers access to a large distribution network through their reseller partners, and resellers can expand their product and service line easily. The key to Whitelabel is anonymity, as consumers who buy the end product are not aware that it was originally produced by a white-label provider.

The affiliate can tweak the item with their own image, logo, and character, enabling clients to connect the item with the affiliate. In the interim, the producer can concentrate on discovering savvy approaches to make the product, without worry about the promotion of products. white label solutions can enable you to use your business’ exceptional marking to offer an item or administration without putting resources into a framework or innovation creation around the solution. Thus you can concentrate on building your brand and offering your services while rearranging the changing way for your customers.

This has many advantages compared to developing a new product or service from scratch-  we have listed some for you.

1. Own Your Brand

If you are aiming to build your brand, white-label software offers a quick and impressive way to get your name in front of your leads. When the clients and leads see your name on software, your business becomes credible and reliable. Credibility helps you expand very fast. At the end of the day, the customer is doing business with your company and you are who they trust – if they suddenly end up using software with a completely different name from your own, that is not good for the customer experience.

2. Faster Service to your customers

Rather than spending time and money on developing new tools/features, using white label software allows you to provide all these features/services to your clients quicker and better. This helps to ensure that your users aren’t going to start considering your competitors.

3. Cost-saving Solution

The less money you spend on development, the more opportunity you’ll have to increase your own revenue. White-labeled SaaS products and services allow you to provide your users with cost-effective solutions, and in turn, can increase your earnings.

4.  Access to Great Talent.

Building high-quality enterprise solutions require talent. It’s difficult to hire and manage a team of talented designers, developers & managers. By simply licensing a white-label solution you can get access to a great team that may be willing to collaborate on new requirements & features.

Factors to Consider When  White Labeling

1. Is it the right fit for the company?

Your existing customers are a captive audience and the set of leads to go after to make a sale. Will the white-label SaaS be a service that fits their needs, wants, and priorities to the point that it will make sense for them to get it? If the white label SaaS software is out of alignment with your company, your vision, and the problem you are trying to solve, you will have difficulty selling it — and closing deals is the whole point of becoming a white label software reseller. Also, look at this article on SaaS Product business model to further improve your SaaS business model.

2. Reputation and Track Record

Are they honest?  Transparent and upfront? Do they have a good reputation?  So do your homework on the business. See what their reviews say. How long have they been around? Are they considered an expert in the industry? Keep in mind- It is your reputation at stake at the end of the day. So make sure you partner with the right people.

3. Service and Support

Is there a clear and organized method for onboarding and training your business so you can start selling soon? Is there a detailed and thorough training process for the process and using the software/service? Do they have adequate resources to help you learn and grow? How fast they have been responding to you so far? Are they quick getting back to you if you have queries and need help?

4. Contracts and Terms

Do they have a detailed contract process and are they clear about the terms and conditions? If they are transparent and open, you will be able to tell now if you haven’t been able to tell before. They should be clear on their minimum lock-in period. Don’t be afraid to ask questions before signing on the dotted line.

Conclusion

If there is someone else who can create a product better than you can, it is worth the cost and time savings. By using white label solutions, you will have more time to devote to business development. It is clearly a high ROI expansion for your business and revenue. As long as you are careful when it comes to monitoring the quality output of the final product, white labeling can be a great way to grow your business

The Art of Designing Enterprise Apps for Humans to Love

The universe of consumer apps is expanding rapidly, in volume, as well as quality. Think about the top five consumer apps you regularly use (cab hailing, grocery shopping, online shopping, payments, productivity management, etc.), and evaluate how beautifully their interfaces have evolved over the past 3-4 years. Today, you’re used to new features and full-fledged upgrades being pushed to these apps ever so frequently, bringing all kinds of improvements to the user interface and experience design.

 

All’s Not Well At the Enterprise Front, Though

The enterprise apps universe, sadly, is a different story. Do the same analysis on the top five frequently used enterprise apps (time sheet updates, workflow planning and management, document management, video conferencing, etc.). It should be clear that enterprise apps (deservedly) don’t get the same kind of love and appreciation as their consumer market counterparts. The question that begs for answers now, is – why can’t we design enterprise apps such that humans love them as much (if not more) than their routine consumer market apps?

In this guide, we attempt to answer how the tables can be turned. Here are some strategies that application developers, development project managers, and designers would want to implement, to make their apps more lovable.

 

SAP word cloud light #2

 

Power? Simplicity? Both?

The timeless question that UI/UX engineers face almost every day while working on app development is about the trade off between the app’s power potential, and its simplicity. Contemporary wisdom seems to be geared towards keeping it simple; just check out how ‘simple, clutter-free, neat, etc.’ are frequently used words in app descriptions.

However, there’s a lot more to consider. An enterprise app is not your cab-booking app; users won’t use it for merely 30-60 minutes a day (or less). An enterprise app, ideally, would be developed to deliver a service that thousands of users would need for a good part of their workday. This also means that the app would be expected to deliver sophisticated and powerful functions, without being too complicated.

The rule to remember is – simple functions should be simply done, and complex functions should be possible. This thumb rule helps you answer difficult power versus simplicity questions.

 

 

Speed over Style, Always

Did you know – if a web page takes more than 2 seconds, users generally abandon it for another search, or hop over to another web page! That’s the kind of ‘speed’ expectations we’re all getting used to, and we are less likely to be relenting when it comes performing doing all important information searches, tasks, and transactions on enterprise apps. The takeaway for enterprise app developers is to design with speed in mind.

Of course, this is not easy, because enterprise apps are built to deliver performance on a massive scale. Crunching thousands of GBs of data to deliver visually enriched outcomes on the screen – that takes time! This is where smart app developers are able to break down customer-app interactions into micro steps and optimize each step to ensure the complete interaction appears faster.

 

Build Memorable and Addictive Search Experiences

Convenience is at the core of app UI and UX design. Enterprise applications are the front end of massive databases of information. So, ‘search’ becomes a central pillar for an app’s success. This is also where great enterprise apps differentiate themselves from the good ones.

Often enough, users don’t know what they don’t know. Hence, they need help to build their search queries. Envision how UX masterminds at Google and Pinterest solve this problem. As soon as you begin typing, their search boxes show suggestions that help you word the query perfectly, to get relevant results in the first shot.

Do more of the same in your enterprise app’s search box. The benefits are twofold:

  • Users will love your app because of its ability to give them what they want, without calling upon them to apply their minds!
  • Users will begin to trust the guided search, which will give your developers control over manoeuvring customer attention to the content you wish to promote.

 

The ‘Ecosystem’ Aspect

Unless you’re developing the first experimental enterprise app, you’d naturally have the visibility and experience of dozens of other enterprise apps used within the organization. Also, unless you’re sure that you’re developing an app for a standalone process (which is rare in an enterprise setting), you’d need to take the existing ‘ecosystem’ in mind, to keep on delivering seamless experiences.

So, consider the ripple effects of user-app interaction flows, data mutability, messaging and notifications, object search-ability, and data validations while prototyping the application. Remember, the application will soon become a part of a large mix of modules, portals, and dashboards, and hence, must not require the users to undergo any psychological inconveniences by taking an off-route approach to a basic and non-core app functionality.

 

 

Balancing the Needs of Power Users and Casual Users

Let’s face it, the user spectrum for an enterprise app can be wider than you’d imagine. There would be dozens of power users. These would expect power-packed features, the ability to personalize the user experience, technically advanced features, and shortcuts for more productive use of the app. Then, there would be hundreds of casual users who’d only use, let’s say, the top 20% of the capabilities of the app for 80% of the time.

In such a scenario, enterprise app developers would do well to follow the layering approach. Here, the more sophisticated features, such as availability of keyboard/keypad shortcuts, are kept a few menu blocks away from the main screen. This helps in keeping the application non-cluttered for most users while making sophisticated features available for power users, subject to their real desire to find them out, activate them, and use them.

 

Concluding Remarks

The ‘perceived quality’ gap between consumer apps and enterprise apps is widening by the day. Don’t let your organization’s apps be a part of the rut. Learn from what the consumer apps are doing well, strike balance between conflicting quality parameters, prioritize, and you’ll do alright.

 

 

Author : Rahul Sharma

The Qualities That Make a System Admin an Asset for an Enterprise

The job of a system administrator is somewhat different from the job of a dedicated IT consultant with expertise in a specific technology. System administrators are entrusted with the responsibility of server maintenance, performance monitoring, security upkeep, and hardware upgrades. Whenever a server problem arises, it’s expected that more than a few IT systems and related processes with being negatively impacted. Also, this means that dozens (or even hundreds) of end users will be shouting out, calling for immediate support, and in general, making life tough for the system administrators. Because of the hands-on nature of a system administrator’s job, it’s recommended that you look for certain qualities in candidates who’ve applied for openings of a system administrator’s role in your company. Also, skill enhancement training must focus on nurturing and strengthening these qualities in system administrators.

 

Reliable Strong Technical Knowledge

There’s absolutely no alternative for a system administrator. He has to be at least above average in his understanding of technologies, processes, systems, and hardware and must have a parallel learning track that leads to subject matter expertise. This entails:

  • Understanding of operating systems, applications, services, and organizational processes
  • Earning highly relevant and updated technical certifications such as RHCE and MCSE
  • Furthering one’s understanding of cloud computing technologies, virtualization, and networking, all the time.

At any stage, each of your systems administration teams must have a few technical experts who can collectively be relied upon to address any kinds of technical issues in the processes they own.

Enterprises generally use three gates to qualify high potential system administrators:

  • Undergraduate Degree Holders with specialization in computer science/IT
  • System admins certified by a credible agency
  • System admins with experience of working in an enterprise with similar IT infrastructure as yours.

A Good Sense of Judgement

Across the globe, there’s call and clamor for more innovation in how IT personnel perform their jobs. For system administrators, however, the propensity to innovate must take a back seat to a sense of operational discipline. Remember, it was a manual error done by a system administrator that causes Amazon S3 outage in February 2017. Enterprises must seek to deploy dedicated system administration experts to innovate to create new products and let those with a well-developed intuition and judgment take care of operations. Everything that a system administrator does has ripple effects that can be amplified and often become too gigantic to control. However, a good sense of judgment helps them stay in control when the going gets tough.

Need to Work With Non-Technical Staff, Patiently

Ever so often, the people who report a problem with IT systems, are themselves not skilled in how basic enterprise technologies work. When a system administrator has to work along with such individuals, they must be able to mold their language in a way that the other persons are able to understand. This also calls upon system administrators to exercise a lot of patience, so that they are able to draw our important information from the end users. This, in turn, can help administrators isolate the potential problem areas and shorten the lifetime of analysis and solution implementation significantly.

 

 

Discipline

Let’s face it – monitoring is a crucial component of a system administrator’s job. Apart from this, system admins need to drive efforts to improve system performance and do so by checking the impact of one set of configurations versus the other. Then, they need to make important decisions around balancing the IT applications’ computing resources need, security considerations, etc. All this requires admins to perform several experiments and tests on non-production systems. Monitoring devices, applications, business processes, and services, apart from everything else, calls for a lot of discipline among system administrators. This is in spite of there being advanced monitoring and reporting tools. The working hours, particularly during upgrades and critical issues, can be taxing, and it’s only with unflinching discipline that admins can truly read monitoring results and take appropriate actions.

 

Understanding of Procedural and Management Components

Design, delivery, and lifecycle management of IT services is an emerging discipline. ITIL, COBIT, and similar frameworks capture the essence of this discipline. Aligning existing IT practices with the best practices entailed in these frameworks is guaranteed to help an organization achieve its IT and linked (financial and operational) objectives. System admins, particularly, need to be well-versed with the tenets of these frameworks. This helps a system admin to contextualize everything he/she does. These frameworks help administrators understand the vision of the CIO, and assist them in taking tough decisions (from equally feasible and practical options) when the need arises. Understanding of procedural components, adherence to best practices, and appreciation of the basics of project management can truly make a system admin a pillar of the team he/she is a part of.

Communication Skills

A system administrator might not think of this skill as an important one to acquire in the current context of his/her work. However, IT leaders understand how they need to be prepared to promote meritorious candidates internally to higher roles within the same teams. This also means that a system admin who spends most of the working hours in a server room might also be the one transitioning enterprise specific knowledge to new hiree. Showcasing the merits of a new web server upgrade, explaining to a web developer that his method of coding will cause memory leaks, and presenting an idea to managers – all these will happen in the lifetime of a system admin, and sooner than he/she might expect. The best way to be prepared – upgrade your communication and presentation skills.

Concluding Remarks

System administrators are the lifeline of an IT heavy enterprise. These are the people that keep the computing engines in order. They also, of course, need to build upon their existing skills and acquire new ones to keep on adding value to their teams and the organization. The skills and qualities outlined in this guide deserve the attention of any system admin, and the HR and IT management personnel in charge of their skill enhancement.

 

 

Author: Rahul Sharma

Best Practices for DevOps in the Cloud

DevOps Best Practices

 

Despite being the latest buzzword in IT, the term DevOps still raises a lot of question marks any time it’s brought up. Simply put, DevOps is the combination of tasks performed by an organization’s systems operations, development and QA engineering teams in the entire service lifecycle, from design through the development process to production support. However, DevOps is considered by many as more of a belief or cultural approach that aims to foster improved communication between development and operations teams as more elements of operations become programmable. DevOps has strong similitude with Lean and agile approaches. The need to break down the barrier between operations and development has been accelerated by cloud computing. DevOps and cloud computing are mutually reinforcing strategies for delivering business value through technology.

At the turn the century, enterprises began shifting their focus from efficiency and stability towards innovation and agility. In order to adapt to the changing face of the business market and increase delivery frequency, application delivery teams have to adopt concepts like experimentation, rapid iteration, collaboration, and Minimum Viable Product (MVP) deployment. DevOps successfully bridges this gap. A DevOps approach applies lean and agile thinking principles to all the stake holders who develop, operate or simply benefit from a company’s software systems, this includes partners, suppliers and customers. Cloud computing, whether on –premise or purchased as a service combines infrastructure, services and software to help organizations develop and deliver quality software at a much faster rate. The elastic properties of the cloud expedite scalability while DevOps streamlines and accelerates application releases; this is why the marriage of The Cloud and DevOps is the perfect partnership.

Best Practices for DevOps in the Cloud

DevOps practices and principles form the foundation that enables enterprises to fully utilize cloud-based computing and to address and mitigate the inherent risks associated with the cloud. Companies that are capable of reliably building their infrastructure, provision servers and deploy apps are in a better position to handle any challenge the cloud throws at them. However, IT professionals who practice DevOps in the cloud typically make mistakes due to a rudimentary understanding of the best practices and various deployment technologies.

A survey of 600 IT professionals conducted by Forrester on DevOps practices,  and where enterprises are in terms of the maturity of DevOps practices adoption revealed that roughly 33 percent of teams consistently deliver at cycles of one to three weeks and that the fastest teams generated higher business satisfaction than slower teams; a clear indication that quality is not sacrificed for fast delivery if the proper practices are implemented.

DevOps Team Assemble!

DevOps places a strong emphasis on the collaboration between development and operations. Assembling a team of developers who have more interpersonal, operational and communication skills than a regular head down developer is the best way to break down organizational silos and build a more agile approach to application development and deployment. Developers are responsible for selecting and implementing new technologies and features, and they should be able to quickly respond to, and address any issues that arise within existing systems. The operations team contributes the important expertise of how the technology behaves under live production conditions. If development and operation functions are separated, active collaboration is limited, leading to applications problems that subsequently delay deployment.

The DevOps scope is much larger than the operations and development teams. It also has to include other stakeholders from the organization and the service provider. In order to realize the success of the enterprise through DevOps, the key stakeholders within the organization need to participate in cloud and DevOps training.

Automated Performance Testing

In cloud deployments, application performance issues are typically a result of flawed application design. Most of these performance issues are missed and end up going into production where users eventually find them, which isn’t good. Performance testing is a crucial aspect that should never be overlooked by the DevOps stream. The development team should adopt automated regression testing as a common practice, and ideally extend it to test-first approaches like behavior-driven development (BDD) and test-driven development (TDD). This guarantees that the operations team receives a solution of sufficient quality before it’s approved for release into production. Shifting away from manual testing improves quality, delivery speed, and testing accuracy, thus dramatically reducing cost. Automated testing should combine existing accuracy and stability testing, as well as with existing testing for user interfaces and APIs.

Incorporate Containers into the Cloud Strategy

The easily manageable and portable nature of containers makes their integration one of the best practices for DevOps in the cloud. Containers provide a way to ‘componentize’ applications, simplifying every step from development to deployment. However, it is prudent to consider cluster management, governance, security and orchestration tools for applications that leverage containers.

Continuous Integration and Deployment

Continuous deployment and integration are effective techniques used in DevOps to eliminate unnecessary steps, delays and friction between steps to increase work flow. Cloud-based development can greatly benefit from automating deployments and frequently integrating changes. Continuous integration allows developers to safely create high-quality solutions in small, regular steps by providing immediate feedback on code defects; while continuous deployment allows them to minimize the time between a new feature being identified and being deployed into production. Continuous deployment and integration may increase operational risk if the development teams are not properly disciplined. For a continuous app delivery model to succeed, a strong management system must be put in place.

For the Cloud, by the Cloud

In order to take full advantage of the cloud, including platform as a service (PaaS) and infrastructure as service (IaaS), the applications have to be designed in a way that they are decoupled from physical resources. This is where the term ‘Infrastructure as code’ or ‘programmable infrastructure’ comes in play. DevOps places a strong emphasis on the ability to build and maintain essential infrastructure components with automated, programmatic features. So from a DevOps perspective, infrastructure as code (IAC) includes the ability to build middleware, provision servers, and install application code that makes up the core components of the system architecture. The use of loose architectural coupling within and between applications greatly reduces complexity and enables delivery in small increments. Considering the decoupled architecture in your design improves the overall utilization and efficiency of the cloud resources by up to 70 percent. Cloud computing subsequently helps in saving money and you only end up paying for the resources you use.

 

Author: Gabriel Lando

Simple Rules for Customer Driven Software Development

Customer driven software development

Understanding customer problems is the most difficult aspect of creating new products and services. Traditional ways of gaining this understanding include talking to a focus customer group or doing market research. But the downside to these one-time research methods is that they fail to account for evolving customer needs within changing business contexts. Being aware of these changing contexts is one of the most crucial factors of product design. This principle is more relevant in software development than the development of physical products.

At Codelathe, we follow a unique software development methodology that exposes the developers to customer problems throughout the software development process. This helps the developers empathize with the customers and create the right solutions. It also helps us to select the right set of features and keeps the product relevant in an evolving market.

We religiously follow this rule, and we don’t hire anybody who doesn’t believe in this process. We have this printed and posted in heavily trafficked places in our office. This method has worked very well for us, so we thought these simple rules would benefit other software companies as well.

Here are the rules we follow to create phenomenal products in Enterprise Information Management.

5 SIMPLE RULES FOR CUSTOMER DRIVEN SOFTWARE DEVELOPMENT

  1. Every developer needs to do customer support at least 2 days a month. This applies to the leadership team as well.

  2. Every customer request needs to be recorded, discussed, assigned priority and tracked ASAP. We do this weekly.

  3. Product roadmap meetings require a customer success representatives to be present. They have the final say.

  4. Features/functionality that create the most impact for the most customers get higher priority.

  5. Every new feature has to pass the following litmus test – “Will this feature help create customer success?”

You can also download this 5 rules of customer driven software development as a pdf document .
Want to be part of something bigger than yourself? We are hiring.

Software test metrics how it helps?

“We can’t control things which we can’t measure”

Software Test Metrics are used to,

  • Take the decision for next phase of activities such as, estimate the cost & schedule of future projects.
  • Understand the kind of improvement required to success the project
  • Take decision on process or technology to be modified etc

Software Test Metrics

Software Metrics are used to measure the quality of the project. Simply, Metric is a unit used for describing an attribute. Metric is a scale for measurement.

Test metrics example:

  • How many defects are existed within the module?
  • How many test cases are executed per person?
  • What is the Test coverage %?

Why Test Metrics?

Generation of Software Test Metrics is the most important responsibility of the Software Test Lead/Manager.

Test Metrics are used to,

  1. Take the decision for next phase of activities such as, estimate the cost & schedule of future projects.
  2. Understand the kind of improvement required to success the project
  3. Take decision on process or technology to be modified etc.

 

Type of metrics
Base Metrics (Direct Measure)

Base metrics constitute the raw data gathered by a Test Analyst throughout the testing effort. These metrics are used to provide project status reports to the Test Lead and Project Manager; they also feed into the formulas used to derive Calculated Metrics.
Ex: # of Test Cases, # of Test Cases Executed

Calculated Metrics (Indirect Measure)

Calculated Metrics convert the Base Metrics data into more useful information. These types of metrics are generally the responsibility of the Test Lead and can be tracked at many different levels (by module, tester, or project).
Ex: % Complete, % Test Coverage

 

Definitions and Formulas for Calculating Metrics:

#1) %ge Test cases Executed: This metric is used to obtain the execution status of the test cases in terms of %ge.

%ge Test cases Executed = (No. of Test cases executed / Total no. of Test cases written) * 100.

So, from the above data,
%ge Test cases Executed = (65 / 100) * 100 = 65%

 

#2) %ge Test cases not executed: This metric is used to obtain the pending execution status of the test cases in terms of %ge.

%ge Test cases not executed = (No. of Test cases not executed / Total no. of Test cases written) * 100.

So, from the above data,
%ge Test cases Blocked = (35 / 100) * 100 = 35%

 

#3) %ge Test cases Passed: This metric is used to obtain the Pass %ge of the executed test cases.

%ge Test cases Passed = (No. of Test cases Passed / Total no. of Test cases Executed) * 100.

So, from the above data,
%ge Test cases Passed = (30 / 65) * 100 = 46%

 

#4) %ge Test cases Failed: This metric is used to obtain the Fail %ge of the executed test cases.

%ge Test cases Failed = (No. of Test cases Failed / Total no. of Test cases Executed) * 100.

So, from the above data,
%ge Test cases Passed = (26 / 65) * 100 = 40%

 

#5) %ge Test cases Blocked: This metric is used to obtain the blocked %ge of the executed test cases. A detailed report can be submitted by specifying the actual reason of blocking the test cases.

%ge Test cases Blocked = (No. of Test cases Blocked / Total no. of Test cases Executed) * 100.

So, from the above data,
%ge Test cases Blocked = (9 / 65) * 100 = 14%

Software Metrics1

 

 

 

#6) Defect Density = No. of Defects identified / size

(Here “Size” is considered as requirement. Hence here the Defect Density is calculated as number of defects identified per requirement. Similarly, Defect Density can be calculated as number of Defects identified per 100 lines of code [OR] No. of defects identified per module etc.)

So, from the above data,
Defect Density = (30 / 5) = 6

 

#7) Defect Removal Efficiency (DRE) = (No. of Defects found during QA testing / (No. of Defects found during QA testing +No. of Defects found by End user)) * 100

DRE is used to identify the test effectiveness of the system.
Suppose, During Development & QA testing, we have identified 100 defects.
After the QA testing, during Alpha & Beta testing, end user / client identified 40 defects, which could have been identified during QA testing phase.

Now, The DRE will be calculated as,
DRE = [100 / (100 + 40)] * 100 = [100 /140] * 100 = 71%

$8) Defect Leakage: Defect Leakage is the Metric which is used to identify the efficiency of the QA testing i.e., how many defects are missed / slipped during the QA testing.

Defect Leakage = (No. of Defects found in UAT / No. of Defects found in QA testing.) * 100

Suppose, During Development & QA testing, we have identified 100 defects.
After the QA testing, during Alpha & Beta testing, end user / client identified 40 defects, which could have been identified during QA testing phase.

Defect Leakage = (40 /100) * 100 = 40%

#9) Defects by Priority: This metric is used to identify the no. of defects identified based on the Severity / Priority of the defect which is used to decide the quality of the software.

%ge Critical Defects = No. of Critical Defects identified / Total no. of Defects identified * 100
From the data available in the above table,
%ge Critical Defects = 6/ 30 * 100 = 20%

%ge High Defects = No. of High Defects identified / Total no. of Defects identified * 100
From the data available in the above table,
%ge High Defects = 10/ 30 * 100 = 33.33%

%ge Medium Defects = No. of Medium Defects identified / Total no. of Defects identified * 100
From the data available in the above table,
%ge Medium Defects = 6/ 30 * 100 = 20%

%ge Low Defects = No. of Low Defects identified / Total no. of Defects identified * 100
From the data available in the above table,
%ge Low Defects = 8/ 30 * 100 = 27%

 

Software Metrics 2

 

Software Metrics 3

 

 

Improvements that can be taken in order to increase the quality of testing.

  • Test data should be readily available in the testcase
  • New Features should to be always tested first , to allow enough time for the developers to fix the bug
  • Prioritizing test case while execution.
  • Sanity test after bug fixes.

 

Top 5 Open Source Code Editors

For most web developers, the choice of picking out the right source code editor is a critical decision. Your code editing software is where most of your development time is spent, and where you can gain productivity on a massive scale. Since most developers work differently and are solving vastly different problems, a variety of editors have emerged to accommodate various needs.

With a number of professional editors such as Coda, Textmate and Dreamweaver in the market, it’s no surprise that many developer don’t consider simpler editors such as Window’s notepad. Of course, it’s worth noting that the simpler option isn’t always the best option, but if you’re looking for the ideal tool, you need to take all the factors into account. Here are some simple yet professional open source code editors, one of these tools could just be the tool that you need.

1. Notepad ++
Notepad ++ is an open source replacement version of the original notepad that comes with Windows and supports a wide range of different languages. Though it was originally build for Microsoft windows, Notepad ++ is capable of running on Unix, Linux and Mac OS X. Notepad++ comes with a lot of additional features including tabbed editing, plugin support, split screen editing, spell checker, drag and drop, and synchronized scrolling. It  also supports syntax folding and highlighting for 48 different scripting, programming and markup languages.
Pros:

  • Quick and lightweight
  • Tabbed interface for editing
  • Plugin macros and support
  • Full screen mode
  • Auto indentation
  • Compiler integration
  • Spell checker and collaborative editing

Cons

  • No SSH, HTTP or WebDay for remote file editing
  • Need additional work to run on OS X
  • No support for large files

2. ATPad
ATPad is another rendition of notepad with a couple of upgrades thrown in. Although it is available in English, you can also get ATPad in eleven other languages. With ATPad, you get customization options, tabbed editing, word wrapping, line numbering, customizable snippets, bookmarks, sending through e-mail and more. Because ATPad does not require installation, it can be opened from just about any drive without installing the software and doesn’t leave any traces. In order to remove it, the ATPad directory simply needs to be deleted.
Pros:

  • Tabbed interface editing
  • Text snippets and line numbering
  • Tilting and cascading for windows
  • Documents can be sent through email
  • Bookmarks can be added
  • No installation is required
  • Unlimited opportunities to undo and redo, or find and replace

Cons:

  • Does not include a spell checker

3. JEdit
JEdit is a program that can be installed on Linux, Unix, BSD, OS/2, Mac OS X and Windows. Written using Java, JEdit is an open source option for editing that supports hundreds of different macros and plugins. The main window can be vertically or horizontally split, and also comes with an option for syntax highlighting and auto indent for over 130 languages. There are also a number of customization options for this program that allow you to make the status bar, tool bar, dock and everything else, look exactly how you want it to. It is even possible to copy and paste on an unlimited number of clipboards.
Pros:

  • Customization options and Syntax highlighting
  • Auto completion and auto indentation
  • Power-packed search engine
  • Text and code folding
  • Compiler integration
  • Tabbed editing interface
  • Plugin and macros support
  • FTP browser integrated
  • FTP support
  • Spell checker
  • WebDay and HTTP support for remote editing

Cons

  • Quite heavy in weight and slow to start up
  • Can be quite buggy when used on Macs
  • Inconsistent spell checking
  • No support for large files, and no collaborative editing options
  • No SSH support for editing on a remote basis

4. Komodo Edit
Komodo is an impressive and speedy open source program that can be used on Linux, Mac OS X and Windows. It supports a number of programming languages, including the following: Python, PHP, Ruby, XML, CSS 3 and HTML 5. It also comes packed with customizable syntax folding, coloring, background syntax checking, and a wide range of call tips and auto-complete options. Alongside all of that, you get a tool box, macros, file editing on a remote basis, snippets and more. For those who are really looking for advanced features, there is also a premium option.
Pros

  • Support for macros and extensions
  • Automatic indentation
  • Syntax highlighting
  • Automatic completion
  • Code and text folding
  • Snippets for code

Cons

  • No integration for compiler
  • No spell checker included
  • No support for larger files
  • No support for collaboration editing
  • To access the advanced features that are provided in the premium version you will have to upgrade for a significant fee. Without any upgrades and support, you’re looking at around $295, or $382 with the added extras.

5. KompoZer
Powered by the well-known and popular brand “Mozilla”, KompoZer is a complete system for web authoring that combines easily accessible web page editing capabilities and web file management. This simple program can be used on Linux, Mac OS X and windows, and it is geared specifically towards less technical users who aren’t as advanced as some when it comes to web coding and HTML. Available in 21 languages, it comes with a number of great features including tabbed editing, integrated file management through FTP, templates, tables, and support for forms.
Pros

  • Integrated file tree and site manager for organization
  • Portable versions available
  • WYSIWYG editing available
  • Support through FTP
  • Similar in many ways to Microsoft FrontPage and Adobe Dreamweaver
  • Supports various templates
  • Offers page preview options

Cons

  • No support for any server-side scripting
  • No support for shared editing projects
  • No support from WebDAV for remote editing of files

Author: Rahul Sharma

Alternative to Microsoft OneDrive – Why FileCloud is better for Business File Sharing?

FileCloudvsOneDrive

FileCloud competes with Microsoft OneDrive for business in the Enterprise File Sync and Share space(EFSS). Before we get into the details, I believe an ideal EFSS system should work across all the popular desktop OSes (Windows, Mac and Linux) and offer native mobile applications for iOS, Android, Blackberry and Windows Phone. In addition, the system should offer all the basics expected out of EFSS: Unlimited File Versioning, Remote Wipe, Audit Logs, Desktop Sync Client, Desktop Map Drive and User Management.

The feature comparisons are as follows:

Features OneDrive
On Premise
File Sharing
Access and Monitoring Controls
Secure Access
Document Preview
Document Edit
Outlook Integration
Role Based Administration
Data Loss Prevention
Web DAV
Endpoint Backup
Amazon S3/OpenStack Support
Public File Sharing
Customization, Branding
SAML Integration Under Development
Anti-Virus
NTFS Support
Active Directory/LDAP Support
Multi-Tenancy
API Support
Application Integration via API
Large File Support
Network Share Support
Mobile Device Management
Desktop Sync Windows, Mac, Linux Windows, Mac, Linux
Mobile OS Compatibility iOS, Android, Windows Phone iOS, Android, Windows Phone
Pricing for 100 users/ year $5000 $6000

From outside looking-in, the offerings all look similar. However, the approach to the solution is completely different in satisfying enterprises primary need of easy access to their files without compromising privacy, security and control. The fundamental areas of difference are as follows:

Feature benefits of FileCloud over Microsoft OneDrive

On Premise: FileCloud is a pure private EFSS solution that will run inside enterprise’s own infrastructure. And, enterprises can have complete control over their data.

Embedded File Upload Website Form – FileCloud’s Embedded File Upload Website Form enables users to embed a small FileCloud interface onto any website, blog, social networking service, intranet, or any public URL that supports HTML embed code. Using the Embedded File Upload Website Form, you can easily allow file uploads to a specific folder within your account. This feature is similar to File Drop Box that allows your customers or associates to send any type of file without requiring them to log in or to create an account.

Unified Device Management Console – FileCloud’s unified device management console provides simplified access to managing mobile devices enabled to access enterprise data, irrespective of whether the device is enterprise owned, employee owned, mobile platform or device type. Manage and control of thousands of iOS and Android, devices in FileCloud’s secure, browser-based dashboard. FileCloud’s administrator console is intuitive and requires no training or dedicated staff. FileCloud’s MDM works on any vendor’s network — even if the managed devices are on the road, at a café, or used at home.

Device Commands and Messaging – Ability to send on-demand messages to any device connecting to FileCloud, provides administrators a powerful tool to interact with the enterprise workforce. Any information on security threats or access violations can be easily conveyed to the mobile users. And, above all messages are without any SMS cost.

NTFS Shares Support – Many organizations use the NTFS permissions to manage and control the access permissions for internal file shares. It is very hard to duplicate the access permissions to other systems and keep it sync. FileCloud enables access to internal file shares via web and mobile while honoring the existing NTFS file permissions. This functionality is a great time saver for system administrators and provides a single point of management.

Network Shares Support – FileCloud’s network share feature satisfies enterprise requirement of user/group specific access to folders. And, as files are already shared via network shares, no need for additional setup or products to buy. Moreover, FileCloud provides Active Directory & LDAP support along with NTFS permission support restricting access to network folders to just authorized users.

Multi-Tenancy Support – The multi-tenancy feature allows Managed Service Providers(MSP) serve multiple customers using single instance of FileCloud. The key value proposition of FileCloud multi-tenant architecture is that while providing multi-tenancy the data separation among different tenants is also maintained . Moreover, every tenant has the flexibility for customized branding. MSPs who are interested in becoming FileCloud partners click here

Pricing

Microsoft OneDrive:

Enterprises need to buy add-on or upgrade to satisfy basic requirements of an EFSS solution. For a 100 user package, the cost adds up to around $6000.

FileCloud:

Enterprises get one simple solution with all features bundled. For the same 100 user package, with more features the cost is $2999/year, better value than Microsoft OneDrive.

Conclusion

Microsoft OneDrive is another public cloud based EFSS solution. If enterprises need complete control and host all enterprise data on-premise, they should go with FileCloud. With FileCloud, enterprises not only get a true on-premise private cloud EFSS solution, but also get a rich feature set product at a great value.

Here’s a comprehensive comparison that shows why FileCloud stands out as the best EFSS solution.

Try FileCloud For Free & Receive 5% Discount

Learn more about FileCloud

Alternative to PowerFolder – Why FileCloud is better for Business File Sharing?

FileCloudVsPowerFolder

FileCloud competes with PowerFolder for business in the Enterprise File Sync and Share space(EFSS). Before we get into the details, I believe an ideal EFSS system should work across all the popular desktop OSes (Windows, Mac and Linux) and offer native mobile applications for iOS, Android, Blackberry and Windows Phone. In addition, the system should offer all the basics expected out of EFSS: Unlimited File Versioning, Remote Wipe, Audit Logs, Desktop Sync Client, Desktop Map Drive and User Management.

The feature comparisons are as follows:

Features sharefile
On Premise
File Sharing
Access and Monitoring Controls
Secure Access
Document Preview
Document Edit
Outlook Integration Beta Release
Role Based Administration
Data Loss Prevention
Web DAV
Endpoint Backup
Amazon S3/OpenStack Support
Public File Sharing
Customization, Branding Optional
SAML Integration Under Development Additional Integration
Anti-Virus
NTFS Support
Active Directory/LDAP Support
Multi-Tenancy Upgrade – Pay More
API Support
Application Integration via API
Large File Support
Existing Network Share Support
Mobile Device Management Limited
Desktop Sync Windows, Mac, Linux Windows, Mac, Linux
Mobile OS Compatibility iOS, Android, Windows Phone iOS, Android
Pricing for 50 users/ year $2199 $1950

From outside looking-in, the offerings all look similar. However, the approach to the solution is completely different in satisfying enterprises primary need of easy access to their files without compromising privacy, security and control. The fundamental areas of difference are as follows:

Feature benefits of FileCloud over PowerFolder

Embedded File Upload Website Form – FileCloud’s Embedded File Upload Website Form enables users to embed a small FileCloud interface onto any website, blog, social networking service, intranet, or any public URL that supports HTML embed code. Using the Embedded File Upload Website Form, you can easily allow file uploads to a specific folder within your account. This feature is similar to File Drop Box that allows your customers or associates to send any type of file without requiring them to log in or to create an account.

Document Quick Edit – FileCloud’s Quick Edit feature supports extensive edits of files such as Microsoft® Word, Excel®, Publisher®, Project® and PowerPoint® — right from your Desktop. It’s as simple as selecting a document to edit from FileCloud Web UI, edit the document using Microsoft Office, save and let FileCloud take care of other uninteresting details in the background such as uploading the new version to FileCloud, sync, send notifications, share updates etc.

Unified Device Management Console – FileCloud’s unified device management console provides simplified access to managing mobile devices enabled to access enterprise data, irrespective of whether the device is enterprise owned, employee owned, mobile platform or device type. Manage and control of thousands of iOS and Android, devices in FileCloud’s secure, browser-based dashboard. FileCloud’s administrator console is intuitive and requires no training or dedicated staff. FileCloud’s MDM works on any vendor’s network — even if the managed devices are on the road, at a café, or used at home.

Device Commands and Messaging – Ability to send on-demand messages to any device connecting to FileCloud, provides administrators a powerful tool to interact with the enterprise workforce. Any information on security threats or access violations can be easily conveyed to the mobile users. And, above all messages are without any SMS cost.

NTFS Shares Support – Many organizations use the NTFS permissions to manage and control the access permissions for internal file shares. It is very hard to duplicate the access permissions to other systems and keep it sync. FileCloud enables access to internal file shares via web and mobile while honoring the existing NTFS file permissions. This functionality is a great time saver for system administrators and provides a single point of management.

Network Shares Support – FileCloud’s network share feature satisfies enterprise requirement of user/group specific access to folders. And, as files are already shared via network shares, no need for additional setup or products to buy. Moreover, FileCloud provides Active Directory & LDAP support along with NTFS permission support restricting access to network folders to just authorized users.

Multi-Tenancy Support – The multi-tenancy feature allows Managed Service Providers(MSP) serve multiple customers using single instance of FileCloud. The key value proposition of FileCloud multi-tenant architecture is that while providing multi-tenancy the data separation among different tenants is also maintained . Moreover, every tenant has the flexibility for customized branding. MSPs who are interested in becoming FileCloud partners click here

Pricing

PowerFolder:

Enterprises need to buy add-on or upgrade to satisfy basic requirements of an EFSS solution. For a 50 user package, the cost adds up to around $1950.

FileCloud:

Enterprises get one simple solution with all features bundled. For the same 50 user package, with an all-inclusive rich feature set, the cost is $1799/year, better value than PowerFolder.

Conclusion

The reality is that every business out there small, medium or large has network shares already setup for their users. And, they have employees using their personal mobile devices to access enterprise data and network shares. Hence, it would be best for businesses to choose a solution that provides support for network share integration and mobile device management.

PowerFolder provides very limited network share integration and mobile device management. Moreover, some of the key features such as over the web document edit & branding needs an upgrade. On the other hand, FileCloud not only provides the ability to integrate into existing network shares, but also has a robust mobile device management solution built-in that will provide administrators tighter control on user access. Plus, all features are included in one simple price.

FileCloud is the least disruptive solution for any business that is looking for an on-premise EFSS solution.

Here’s a comprehensive comparison that shows why FileCloud stands out as the best EFSS solution.

Try FileCloud For Free & Receive 5% Discount