The Real Seller: What it Takes?

In many occasions we have discuss topics related to social media, software development, new technologies, among others; but today we take a break from those themes and we focus a little bit on what a true seller (Account Executive) is committed with and what it takes to be a true seller. I chose to talk about this not only because it is my area of expertise, but also because in every company that is trying to sell a product or a service there is a big need for committed account executives, professionals that will work the extra mile to win successful business deals and bring new clients with every deal.

Being a true seller is hard, not everyone can be successful in this business. You can sell anything you want but if you don’t have confidence and you don’t believe in what you are selling people are going to notice and they will reject your approaches. For example, when offering a service we are helping the client; we are focusing on the work it takes to do the service, the challenges they might bring and how to solve them, in the decision making process and of course, we focus on finding the best result we can to satisfy our client’s needs. The key to be an outstanding vendor is the constant search for solutions and ways to accomplish the customer’s goals. Good account executives aren’t scared of failure; on the contrary they focus on the satisfaction of achieving results and resolving their client’s needs. The appreciation a vendor receives from their clients is what moves them to be better each day, it’s the best compensation a seller can receive after the work is done.

There are some characteristics that distinguish a true seller from the rest of the crowd:

Empathy

They recognize that to attain their objectives, they must solve their client’s requirements first, that’s why they focus on comprehending what it is that the customer really wants.

Proactive

A true seller understands that to reach the their set goals they need to always be committed with their work and give the extra mile.

Positive

A pessimist vendor will collapse in front of a “no”, while an optimist one won’t stop trying and understands that behind every “no” there’s a “yes”, hidden. An enthusiastic seller will look for ways to obtain a “yes” instead of giving up.

Capable of working with a team

They are able to adapt and they search for the bright side of the situation, they know that two working minds are better than one. As they work with others they try to make the team better each day.

Organized

They register and review every step they take; usually they have control over the situation in order to accomplish the results they want.

They know their product

They study the product they are selling, they search for information about the product, test it, they pay attention to the little details of the product and they understand how they can get the most out of it.

 

There are many other characteristics that make a great vendor. Remember that selling a product or service is not only a matter of convincing people to buy something, it’s about making a connection, is about being real every step of the way and getting the most out of everything. As we mentioned, being a true seller takes time and patience, is not impossible but you have to commit to it. If you aim to be the best vendor in your company you must work for it and act like one. Always keep in mind this characteristics and use them as a motto to be better each day, not only for your company but for yourself too. Motivate others and motivate yourself to be an excellent and real vendor, to achieve every goal you set and to never give up. Remember good sellers don’t give up until they find the best solution for the customer.

Nearshore Software Development in Puerto Rico: Quality Advantage

This is the fourth of a series of posts about the benefits of nearshore software development to Puerto Rico. As we mentioned in a previous post, there are a variety of reasons why nearshoring to Puerto Rico can bring huge benefits to your company. Our advantages are simple: distance, price, quality, no culture shock and language.

In this post, we are going to specifically talk about software development quality and how you can expect the same quality you are accustomed to when you choose a nearshore software development company in Puerto Rico.

It is a known fact that sometimes companies that offshore their software development do not receive the quality software they expect or are used to receiving from their internal teams. Many times this is due to the fact that the resources provided by the offshore company are not trained following U.S. standards. Having a partner that is trained and educated, who follows the same standards and regulations as your team can be the difference that makes your remote software development team and consequently your software development project a success.

U.S. Standards

Puerto Rico is a U.S. territory and as such must follow the same U.S. Standards and regulations as any other state. Our schools and universities are accredited by the Middle States Commission of Higher Education and our engineers are trained and educated following the same standards and best practices required in the States.

Our employees are U.S. citizens and college graduates. Most are Software Engineering Majors, and all are educated following US standards and industry best practices.

No Additional Governance

By working with a company in Puerto Rico you know the staff assigned to your project has been trained following the same standards and best practices you know and expect. Additionally, by working with a nearshore company based in a US Territory you can be assured that all Federal Laws and Intellectual Property Protections that you are familiar with apply, 100% of the time. No exceptions.

No need for additional governance or complicated legal contract structures to protect your IP. Your software and IP are protected the same way they are protected in any other U.S. state. You can rest assured that your data is secure.

 

Nearshore Software Development QualityWovenware is an Inc. 5,000 company, based in San Juan, Puerto Rico that provides quality oriented nearshore software development to various clients in Atlanta, Boston, Dallas, US Virgin Islands, Alberta (Canada) and London, UK. As a US based company, regulated by Federal Law, we follow the same best practices, standards, and procedures as other US companies, but with a cost reduction because of our unique location and cost of living. Be it because of our high quality software developers, IP protection laws, price reduction, warm culture or distance proximity, hire Wovenware for your next software development.

Click here to view our infographic on the benefits of nearshore software development in Puerto Rico with Wovenware.

About modern web development

There was a time when you could experience the web in only one way: on a computer. Today we know that’s no longer true. We have a plethora of devices that can connect to the web. Even our watches can get connected. Soon enough, with the Internet of Things, our toaster will serve us a toast with the most popular tweet of the day written on it. Web pages are no longer web pages but web applications. Therefore, we can’t build them the way we used to. With all these different devices consuming your application you’ll want to provide them with the best experience. Hence, you’ll have to adapt your web application, to not only fit in their smaller screens but to behave in the way their native applications do. If your application is not capable of adapting to these devices you’re missing quite a lot of potential customers. In fact, there are whole countries for which the majority of people experience the web only through a mobile phone or tablet. In order to make these applications adaptable we have to move out from traditional software web development strategies and gather a more modern approach.

In traditional web development the applications behavior is tied to the code running in the server. What you get in the browser is the rendered version of the output produced by that code. With this approach you have two options when it comes to supporting multiple devices. You either have to make code in the server to handle the different cases or do some magic with CSS and JavaScript to alter the experience on the smaller screens. Either way, every time there’s a new device on the market you’ll have to go and change your code again. Soon you’ll end up with a large and unmaintainable system.

So, how do you develop your web application so that it can handle all of these devices and the ones to come? Well, “the secret to building large apps is to never build large apps” (Justin Meyer). You build smaller components that can be managed and tested independently and used them as building blocks for your large software applications. And we’ve known this for years but is more apparent now with the uprise of the web and mobile market.

The first piece of our application starts in the server. The server is the brain of the application; it implements your business logic and manages the information that comes and goes from your database. Usually, it’s also responsible for formatting that data in a presentation language, such as HTML, before sending it back to the client. The problem here is that your client may not understand HTML, or may need to access just a portion of the data you sent. Reading those bits of data from an HTML document is hard and sometimes impossible. With native apps for mobile devices, if you want them to be connected in some way, your best option is to build a RESTful web service that exposes an API your application can call and get back something the app can read easily such as JSON or XML. With web applications you can do the very same thing. By removing the responsibility of the server to present your data you’re then free to consume that data in the mobile application, in a watch, or even on a toaster. The client will decide how to present and manipulate the data.

The second piece is our client, the face of our app. The client’s task is to present your data to the world and provide the mechanisms of interaction to manipulate it. By building the server as an API, our client becomes totally independent. We can change the server in any way, switch languages or frameworks, even change platforms. But as long as we’re serving the same data, our clients won’t be affected at all. However, this flexibility comes with a price. If you’re building your client as a web application you’ll have to work with JavaScript and, even though JavaScript is a powerful language, that means your code can get messy very fast. To avoid this, apply the same principle as before: divide your code into small, independent pieces. Frameworks, such as Backbone.js and AngularJS, help you do just that. They use the MVC pattern to separate your code into independent chunks of functionality that are responsible for one thing and one thing only. By building your web clients this way you make sure the code is easier to understand and more maintainable.

With both the client and server being completely decoupled you’ll have the flexibility required to compete in the fast moving world of technology. When a new device comes into play, such as that write-a-tweet-in-your-toast toaster, you just have to implement a new client for it. No need for touching the old code that runs your web application. When that new and faster framework comes out you can switch to it and your clients won’t have any problems. Your web application will be ready for the future.

Nearshore Custom Software Development in Puerto Rico: Price Advantage

In our previous posts, we discussed the advantages of Distance, and Language. If you haven’t checked our infographic, do so now by clicking here. Today, we discuss our third benefit: Pricing Advantages of Nearshore Outsourcing to Puerto Rico. Expect to read our Quality and IP Protection posts in the following weeks.

Outsourcing nearshore custom software development has been a hot topic at procurement departments for the last two decades. Heightened by the increase in broadband connectivity and advancement in collaborative technologies, the increase in outsourcing over internal development has been greater in the last decade. According to the IT research and advisory company Gartner, global spending for IT outsourcing was projected to reach $287 billion in 2013. [1]  This only seems to be a logical consequence, as companies launching new products prefer to transfer execution and responsibilities to third-parties with greater expertise in certain areas. Technology is one of these areas where companies have identified that by partnering with experts, they can unlock tremendous value. The real value comes from speed, accurate execution, and, of course, cash savings. In this blog post, we are going to discuss the advantages of nearshore outsourcing in terms of pricing.

According to MIT Sloan Management Review, from 1999-2003 for every dollar spent on IT-outsourcing, companies saved 26% on average on other non-IT areas.[2] Considering technology has leaped tremendously in the past decade, we can only assume savings are bigger with more specialized tools, new software technology, higher broadband access and global democratization of technology. Furthermore, when properly outsourced to companies with domain expertise, these partners can truly bring front-office value with new features and automation of client serving activities. So, we ask: what factors create these savings?

Experience and years in business are critical factors to consider before contracting a technology outsourcing partner. But experience isn’t the only important factor, because when you hire a technology outsourcing company you are hiring a team. The team approach that some companies offer is one important advantage, and you may ask yourself why? Well, simply because when you hire a junior developer within an outsourcing firm, you have access to a senior technical talent that can assists junior software developers in solving problems quicker. Having access to a senior technology professional that is guiding, mentoring and following throughout the process is great, because it saves time and money. Companies interested in outsourcing can tap a complete team’s knowledge, without the costs. A complete team not only will provide assistance in challenging times, but will keep the project moving in the right direction without delays.

Another important factor on why nearshore custom software development costs less than internal development is that outsourcing vendors normally have advanced methodologies in place to execute the project in a more efficient fashion, with proper version controls. Companies would have to invest in senior technology team setups, in order to obtain these advantages. Here at Wovenware we have a diverse set of professionals with very different backgrounds, all with a mission to assist companies in their IT Strategy needs, especially those who are going through a process of change and expansion.

Our rates have quickly become a very interesting attribute to US, Canadian and European companies that have chosen Wovenware near shore software development services over other service providers. In several cases, Wovenware’s project cost 40% less than other service providers, yet our project delivered more value than competing firms. Some of the value differences mentioned by our clients were: more detailed product specifications, clarity and understanding throughout the design phase, communication levels with all stakeholders involved, and excellent technology transfer to internal resources.

Any company can take advantage of technology outsourcing partnerships. Most of your direct competitors are doing so already. Make sure you look at your company’s strategy and identify which areas of your business can be transferred to expert outsourcing partners. Experts that will help you lower operating expenses and focus on your core business. As research has shown, every $1.00 you spend on outsourcing can provide you with an average $0.26 to invest in sales & marketing, research and development, or your team’s compensation. Imagine you have a $100,000 budget for a specific IT project. By outsourcing your software development project to Wovenware in Puerto Rico you could not only achieve nominal savings of 30% in comparison to other outsourcing firms, but efficiencies created in other divisions translate to additional savings of 26%. Any company can benefit from lowering costs and increasing IT development efficiencies, liberating 50% or more of your budget.

 

Software Development Price Advantage of Wovenware

Our clients include international software companies that have completely outsourced their software development to Wovenware. Yes, you read that correctly, global software companies that have outsourced their software development to another software development and consulting firm. If those companies trust Wovenware to develop their products, what is holding your company from reaping similar benefits? Contact Wovenware today to see how you could save in your software development needs, but more importantly capitalize competitive advantages in comparison to your peers.

Fill this quick form to get in contact with Wovenware and talk about Nearshore Outsourcing.

 

————–

[1] The Real Savings From IT Outsourcing. MIT Sloan Review. December 19, 2013 Kunsoo Han and Sunil Mithas Retrieved April 21, 2014 from http://sloanreview.mit.edu/article/the-real-savings-from-it-outsourcing/

[2] Id. The Real Savings from IT Outsourcing.

How to Establish SOA Governance in Your Organization

A couple of weeks ago during a business meeting we got asked our recommendations on how an enterprise can set up Service Oriented Architecture (SOA) Governance. Before we continue and share our ideas on the subject we need to define some important terms.

What is SOA?

Wikipedia defines Service Oriented Architecture (SOA) as a software design that builds discrete pieces of software that provide application functionality as a service to other applications. At its core SOA is a software design principle that makes functionality available to other applications for use. For example, if you were building a sales management application using a SOA software design, you would probably build a create order software service. That is, you would develop a discrete piece of software within your order taking application to allow other applications to create orders.

SOA allows different applications, which can be developed in different languages, to interact with each other across network communication. By concentrating the offered service into a single access point, there is only one software to maintain. That is, using our previous create order software service example, if we added one additional validation to that software service every application that used the create order software service would be updated with the new validation.

The main goal of SOA is to promote business through interconnected services. By having SOA services available at an enterprise, new applications are developed faster and are less prone to error as they only have to consume available services versus having to recode functionality again. That is, we would consume the create order software service, instead of having to code a new create order functionality.

What is Governance?

The term Governance can have a lot of meanings. According to Wikipedia, Governance is “the act of governing. It relates to decisions that define expectations, grant power, or verify performance. In the case of a business or of a non-profit organization, governance relates to consistent management, cohesive policies, guidance, processes and decision-rights for a given area of responsibility”. Basically for business, Governance is a set of processes and best practices that assure consistent optimal operational results.

For the purpose of our conversation Governance is more than establishing a framework for SOA monitoring, auditing, and management. SOA Governance is the process by which organizations handle access to their underlying data and processes through the reuse of their current application infrastructure. It is a layer on top of the Enterprise Data layer.

What can we learn from the Data Layer?

Most, if not all, enterprise organizations understand the need for Enterprise Data Governance. That is, the processes by which they control, monitor, manage, and audit their business data. Most organizations have some type of Enterprise Data Governance process in place and understand the value of a single point of truth for the organization. That is, that the data should only exist in one place in the Organization not in multiple locations. For example, having one database that holds the sales data, not multiple data stores across the organizations.

The benefits of a single point of truth are self-evident and outside the scope of our conversation. But it does not take a PhD to figure out that if, for example, the sales data is stored in multiple locations at some point all locations will not have the same data. Can you imagine going into a meeting and having the Marketing Department report sales numbers that are completely different than the ones the Sales Department reported, which in turn are different from what the Finance Department has in the books. When this happens, and trust me it will happen, which data store holds the true sales data?

In order to deal with this problem organizations have opted to use a single data store approach to storing data. Using this approach they can monitor the use and quality of the data, while centrally controlling access to it. In the end organizations that use this approach achieve a single version of the truth for its data.

How SOA and your Data Layer are alike

Now, something similar can happen when applications are pushing data into your single data stores. Using our same sales data example, what happens if you have multiple applications inserting sales into the data store? What happens if these applications are not using the same business rules to add sales into the data store? Can one of the applications be adding incorrect sales into the data store? Sure it can. But do not worry, you can control this by using a SOA Governance process.

What is SOA Governance?

SOA Governance is the process by which you assure the proper management, handling, and processing of your SOA services while mitigating any potential business risks and identifying new SOA service opportunities. SOA Governance must include:

  1. Process Register
  2. Risk Register
  3. SOA Service
  4. Monitoring Capabilities
  5. Centralized Security Management
  6. Quality Assurance
  7. Auditing Capabilities
  8. Continuous Improvement

Process Register

SOA governance must commence with the creation of a Process Register Document (PRD). This document will record all important software processes in the organization. The PRD must at its minimum include a list of all identical processes that are executed in multiple applications and processes that create data for the organization.

Identical processes that are executed in multiple applications are identical functionalities that can be performed in different applications. For example, if you could retrieve the status of a service order from the Company Web Portal, Customer Relationship Management (CRM) Application, or Service Management Application, then the retrieve service order status process would be a process that is executed in multiple locations and as such would be included in the PRD.

Processes that create data for the organization are for example, processes that create new orders or service request. Basically, these are processes that create the business data for the organization.

The PRD must contain the following information:

  • Process name
  • Description
  • Level of importance to the organization
  • Where does the created data is stored
  • Which applications use the data
  • Process owner
  • List of Applications that create this type of data
    • Application name
    • Application technology
    • How the data is inserted
    • Business rules applied for the creation, storing, or reading of the data
    • Application owner

The PRD will give us a magnitude of scope for our SOA Governance initiative and provide us a master document of our SOA services and consumers, the applications that are using our SOA services. The goal of the PRD is to identify all the processes where the organization should implement a SOA strategy.

Risk Register

Once we have our PRD, as with all Governance processes, we need to create a Risk Register Document (RRD) to properly document our business risks and how we are going to mitigate these. The RRD must at least contain:

  • Risk name
  • Description
  • Importance
  • Risk score
  • Likelihood
  • Impact
  • Process affected by the risk
  • If the risk needs mitigation then we need to document how it will be mitigated
  • Risk owner

It is important to emphasize the need to continually update the PRD and RRD. Governance is not a one-time process it is a continuous activity. True Governance does not exist if the process is not continually improved. It is an iterative activity that is continually happening and improving in the organization.

SOA Service

Now that we have documented all our processes and risks we need to develop our SOA services using a best in class approach. That is, we need to make sure our SOA services can be:

  • Secured
  • Monitored
  • Audited
  • Quality Tested

We have always followed an approach were an initial golden reference implementation is developed and that is then used as the foundation for all other services. This way you guarantee a best in class approach and build the foundation for a standard approach across the organization.

SOA Dashboard (Monitoring, Auditing, and Security Capabilities)

The organization needs to have a SOA Dashboard, a centralized location where all SOA services can be viewed, monitored, audited, secured and quality assured. The SOA Dashboard will allow an administrator to view all SOA Services that are available in the organization.

Administrators should also be able to see which SOA services are currently in use and by whom. It will also allow administrators visibility into the processes overall use, effectiveness and security settings. Administrators must be able to centrally change the security settings for all SOA services within the organization. Finally the SOA Dashboard must allow for the viewing of audit logs in order for quality test to be performed.

All SOA services must communicate with the SOA Dashboard. This will allow for centralized monitoring and auditing of al SOA services in the enterprise.

Quality Assurance

All SOA services must be continually verified to assure their quality. Quality Assurance is another continuous process that must be periodically performed. Quality Assurance can be automated through a set of programmed automatic tests or can be a manual process in which someone performs a quality test on the service.

Quality Assurance can be even built into the SOA service by having an independent process validate the quality of the performed service. For example, if you had a create order service there could be a final routine in the service that validates that the information provided to the service to create the order is exactly the data that was inserted into the data store.

The value of Quality Assurance is not on the method used to validate quality, but on the continual execution of quality verification.

Great I have SOA Governance, but will this work?

In order to accomplish SOA Governance an organization needs to secure its data and processes. If a SOA services exists for a given functionality then no other application should exist that has direct access to its underlying data or should be allowed to reproduce its functionality. That is, if you have a SOA service to create an order, then no other application in the organization should be allowed to create an order unless it is using the create order SOA service. Likewise, no other application should be allowed to insert data directly into the order data store.

One way of securing the organizations processes and data is to create a SOA Administrator position. The SOA Administrator would be charged with identifying and securing all SOA processes. The SOA Administrator would work directly with the Database Administrator to make sure all data is secure and access to certain data is only permitted by the use of a SOA service. In a large enterprise there might be several SOA Administrators or even a SOA Department, to handle a large volume of SOA services.

By Implementing SOA Governance in your organization you will assure data integrity across the enterprise and develop a foundation of services that will allow new business applications to be developed faster and with improved quality.

Would like us to share more information on a particular area of SOA Governance or need a SOA Governance assessment? Please let us know.