Have you heard about TeNotifi.co?

Have you ever wondered while at work if there’s a problem back at home, like electrical services breakdown? A couple of years ago, we at Wovenware created a web-based service to provide users in Puerto Rico, access to alerts delivered by the different State Government Agencies of Puerto Rico and the Federal Government.

This application allows users all over the island to register and receive email notifications when there’s an electrical breakdown in their areas. An important and essential thing about this app is that users are able to create personalized alerts based on their towns and/or areas of interest. This characteristic makes the app very useful and of course it is easy to use. Once the users register they will start receiving the alerts. This application was developed by two of our developers, during the “Hackers Boot Camp” within the framework of the Puerto Rico Tech Summit 2013.

Software Development Puerto Rico

TeNotifi.co

Some of the agencies which services are featured on the site are Autoridad de Energía Eléctrica (AEE) [Electrical Energy Authority], Autoridad Acueductos y Alcantarillados (AAA) [Water and Sewer Authority], Loteria Electronica de Puerto Rico (LOTO) [Puerto Rico Electronic Lottery], NOAA [National Oceanic and Atmospheric Administration] and IVU Loto. Since the site launched and service began in the summer of 2013, TeNotifi.co has sent over 100,000 alerts for the more than 56,000 breakdowns that have been reported since the service started.

TeNotifi.co Supported Agencies: AEE, NOAA, Loto, IVU Loto

TeNotifi.co

With Hurricane Season upon us, you must be asking yourself how you subscribe to this service; well it’s very easy, go to http://TeNotifi.co and register. The process is simple and quick, as only basic information such as; name, e-mail and password are required to create an account. Shortly after this you’ll receive a confirmation email and then you access the site to set up the services and the areas of interest.

Have additional service suggestions? Please let us know in the comments section.

Successful Remote Software Development Teams

The majority of enterprise software development projects can benefit from a remote software development team. The reasons to add a remote team may vary from difficulty to hire local talent to difficulty to find expert resources to only a short-term need for additional resources.

A remote team can be a great help to on site software development teams, but once you decide to add a remote team, you must manage it effectively to ensure the remote team delivers technical value instead of technical debt.

A remote team can and should operate as efficiently as your on site software development team. Delivering the same amount of value as your on site software development team. The location of a software development team should not limit its software development performance. Based on our experience we have developed the following best practices to make sure the remote nearshore software development teams we offer our customers are developing optimal custom software that delivers value.

Start Small

In our experience we have found that starting a new nearshore software development project with a small team of software developers works best. We recommend starting with a team of 2-4 software developers and adding additional software developers as needed.

It is easier to transfer knowledge and communicate with a small team than a larger team. Once the initial team is knowledgeable on the project, new team members can be added and assigned mentors to help during their initial knowledge transfer period.

Task-Oriented Approach

The remote software development team should initially be assigned software development tasks, instead of full functionality assignments. That is, instead of assigning the new remote team to develop a new customer purchase workflow functionality, they should be assigned specific development tasks like: develop a new order page with X additions, or add the following fields to the shopping cart page. By assigning tasks, instead of functionality, the efficiency of the remote team can be better tracked and further hands on knowledge can be obtained before performing complicated changes to the codebase.

Furthermore, a task-oriented approach can provide a barometer of the quality, speed, and project understanding of the remote team without adding unnecessary risk to the software development project

Clear Expectations

An additional benefit of a task-oriented approach is that clear expectations can be set for the assigned task. That is, X task will be developed following the agreed upon specifications and will be delivered in Y days. If the delivered tasks do not follow the agreed upon specifications or were delivered after the specified date, then the remote team has failed and appropriate corrective measures must be undertaken.

It is very important to understand that it may take time for a remote team to function as expected. This may be due to a variety of reasons that can range from an incomplete knowledge transfer to missing technical skills to communication problems. The important thing is to set clear expectations and track them formally, this way; problems can be identified, diagnosed, and resolved quickly. Not all remote software teams achieve 100% efficiency at the same time, but all well managed and measured teams will achieve 100% efficiency in due time and operate as well as the on site team.

Methodical Tracking

All activities performed by the remote software development team must be tracked methodically. It is important to track the performance of the individual software developers as well as of the team as a whole. We want to be able to identify which developers are more efficient in specific tasks and which are not performing as expected.

The goal is to identify if the remote team is working properly and efficiently. Additionally, we want to replace remote team members that are not performing as expected.

Remote Project Management

The remote team must be managed remotely. That is, the remote team must have a project manager as part of the remote team. We call this person the remote project manager.

The main job of the remote project manager is to guarantee effective communication between the remote team and the on site team. In our experience the remote project manager has been critical to the success of our remote teams. By managing communication, task assignments, customer expectations, and effectively tracking project metrics the remote project manager is the architect of the team’s success.

Our experience has also taught us that a remote team should communicate with the on site team at least twice per week. Sometimes the remote project manager can handle these meetings alone and sometimes it is important to have the remote software developers on the meetings.

 
Following these best practices when offering a remote software development team to our customers has helped us establish efficient remote software development that quickly provides technical value. Do you have any additional remote software development team best practices?

FIFA World Cup 2014 in the workplace

As we all know the FIFA World Cup is back after 4 years. We all know that Spain holds the World Cup Champion title; we also know that this year’s favorite is Brazil. Some of us may be soccer fans since we were little kids, some of us might play soccer, others just watch it to stay informed and others watch it just because…usually these are the ones who talk about each match like they know everything that’s going on in the game. They haven’t watch a single soccer game in their life but all of the sudden they even like Cristiano Ronaldo. So for these recently discovered fans, the true ones and the ones who just sit and watch, we know it’s important what happens in the World Cup 2014. We watch it not only for the fun and enjoyment of it, but because this is a unique event that unites countries, cultures and makes them one. For one month and a few days all we are going to talk about and hear about is FIFA, Benzema, Brazil, Maracanã, Ronaldo, Messi, Neymar, Ochoa, Casillas and many other names.

This means people will be using more social media, viewing more websites and making up excuses about being late because they stay up until too late to watch a match, so all these possible scenarios bring us to THE question: Does the FIFA World Cup affect our workplace? For some the answer might be yes, for others it might be no. First of all everybody wants to be part of this multicultural event and they want to stay tuned to each match and each goal; second of all this can help to improve the workplace. Why? The World Cup unites countries, cultures and so it does with our co-workers. Watching the games can help your work team build a stronger relationship, and if they are close this will bring them closer. In a recent article published by Employee Benefit News Halley Bock, president and CEO of Fierce, Inc., recommends that we use events such as the World Cup to implement three workplace benefits. These three benefits will benefit our employees and our company as well. The first thing we should do is “Host off-site events”, according to Bock this “helps build rapport among co-workers that will lead to a more fulfilling relationship in the workplace.” Bock also recommends “Talking to employees’ about their favorite teams; this can help co-workers to build a stronger connection. Bock explains that “when you get your employees really connected to the leadership of the company, we all are aware how profitable that can be for businesses to have a very productive, engaged workforce where you have got a lot of friends, or folks with common interests.” Last but not least, Bock suggests that, “Allowing fun into the workspace” can help to make your office a less stress zone. She says that “employees that are less stressed are less likely to burn out” this is an important thing because when our employees are stressed there can be a lot of tension in the office and this can create conflict or even affect their performance.

As well as establishing stronger bonds between co-workers on the workplace, The Guardian suggests that “the World Cup is an opportunity for employers to improve engagement with their staff and boost morale.” One of the most popular advices between companies in many countries is that both, employees and employers reach an agreement regarding time off, sickness, and absences, and even watching games during the work hours. In places like England and United States businesses are implementing rules for their employees during the World Cup. For example here at Wovenware we have established a designated area for an LED Monitor that shows the live games so everyone can watch and hear the games while they work. We take breaks of 5 minutes to discuss some of the events of the game and our favorite teams as well as who we think will win. This is very helpful for our workplace because it has improved communication between team members and created better working bonds. Even the ones that haven’t watch soccer in their lives are involve in the discussions and are interested in the games.

In conclusion, does the FIFA World Cup affect our workplace? Well I don’t know what you think but in my opinion it does. I know it’s a huge and important event, I like it too … but when we don’t establish some basic ground rules it can affect our performance and can create conflict. But, we CAN establish an area or allow everyone in the office to take a break to check the scores and watch a little bit of the games. As we’ve read, these events benefit our workspace, employees see that employers are interested in their favorite teams, the scores, the matches, and they feel more relax and comfortable in the workplace. Having a fun environment is not a bad thing as long as we create rules and our employees complete their assigned tasks on time. Remember that giving your employees the chance to watch the matches and talk about this event benefits the company too; and this is just a temporary arrangement.

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.