Similarities Between Agile Scrum and Rugby Scrum

agile scrum and rugby scrumIn the popular game of rugby, a scrum (used as an abbreviation for “scrimmage”), is used to begin a match, typically after some type of rule violation or error. During a rugby scrum, eight players from each team tightly huddle heads-down in three rows. The primary goal is to gain possession of the ball, which is placed into the opening between the two opposing front line team members. Borrowing the concept of scrum from the game of rugby, the agile approach to software development uses a scrum framework to effectively manage product development.

Using the scrum framework to create custom software, a product development team operates as a cohesive unit working towards a common goal. Team members function to support and empower one another. This involves frequent communication, realistic goal setting, and an overall commitment to the team.

Similar to the agile scrum methodology used in product development, in order to be successful, a strong rugby team with self-managed roles works together for a common goal. Much like agile scrum software development, a rugby scrum relies heavily on strong communication among team players, with each player fulfilling a specific role to the best of their abilities. When a player is unable to execute, for whatever reason, teammates are expected to step in to fill the gap.

5 Interesting Similarities between Rugby Scrum and the Agile Scrum Methodology

Software developers using the agile approach are well aware that the scrum methodology was developed with inspiration from the sport of rugby. Many of the principles of the scrum methodology are fundamental to the game of rugby. Here are five interesting similarities between agile scrum and rugby scrum:

  1. Using A Team Approach – One talented player working alone cannot win the game of rugby. The sport requires a team effort to move the ball down the field. Passing the ball is a fundamental part of winning the game, and that is why there are more than a dozen different types of rugby passes. Similarly, in the scrum methodology for software development, the team is what makes the agile approach so successful. Individual software developers do not work in isolation. A scrum team works together in an organized way to accomplish clear tasks towards a common goal. Team members must be able to pass work along from one team member to another with as much ease as possible.
  2. Each Player Has Specific Roles – Each position on a rugby team requires a specific set of skills and even a certain body type that must meld with other players on the team to function successfully. There are forwards like the hooker, prop, flanker and number eight, and backs that include the three-quarter wing, full-backs and half.  Agile scrum is very similar in that the cross-functional team requires a variety of roles including scrum master, product owner, and software engineers. Each member of the team has important skills needed to complete specific project tasks.
  3. Sprints are Important – A sprint in rugby describes short bursts players do when running the ball down the field. On an agile scrum team, a sprint is an established period of time (typically between 7 and 30 days), where a specific segment of project work is accomplished.
  4. Flexibility is a Must – Working as a cohesive unit, a rugby team must use good judgment during the fast pace of the rugby game. The outcome of each play is somewhat unpredictable, and the rugby team must be flexible in determining the best approach to out maneuver the opposing team. In agile scrum, a product backlog is used to identify the work required to complete a project. This list is typically refined throughout a project, and team members must adapt to the changes as they arise, keeping the end goal in mind.
  5. Core Values are Embraced – In the game of rugby, there is an important code of conduct that players are expected to maintain whether on or off the playing field. Players treat one another with respect, and this creates a powerful group bond. As with the sport of rugby, the scrum methodology supports an important set of values that team members must adhere to in order to create a high functioning scrum team. Commitment, focus, positivity, courtesy and tolerance are all important traits that enable an agile scrum team to work together as effectively as possible.

Agile development and the scrum methodology has many parallels to the game of rugby. Maybe the most important similarity involves the shared emphasis on a team approach towards a common goal. The most successful teams, whether in the sport of rugby or in agile software development, enjoy working hard and having fun together. They develop solutions to the inevitable set backs, staying focused on the bigger end goal that is shared by the entire team.

Software Development in Costa Rica

benefits of software development in costa rica Why We Love Software Development in Costa Rica

When it comes to finding the perfect location for nearshore software development, there are a number of viable options to consider.  Here at number8, we searched the globe far and wide to find the very best destination to successfully conduct our software development business.  Our search led us to the “happiest country on earth,” also known as…Costa Rica.

Literally translated to mean “rich coast,” Costa Rica is a small country located in Central America between the Caribbean Sea and the Pacific Ocean. Costa Rica is well known for its lush tropical rain forests, beautiful sunny weather, diverse wildlife, and miles of gorgeous coast-lines.  Not only did we find the beauty of Costa Rica to be captivating, but we also found it to be an excellent place to conduct business.

When it comes to software development in Costa Rica, the country is known for many recent advancements in software engineering and information technology. In fact, Costa Rica is recognized as the number one software development country in Central America and is home to many leading universities that graduate talented software developers each year.

The Five C’s of Doing Business in Costa Rica

With the perfect combination of natural beauty and a culture that supports advancements in software engineering, nearshore software development in Costa Rica is a very pleasurable experience. We would like to share with you some of the main reasons why Costa Rica is the best and most desirable place on earth for outsourcing software development. Follow along to learn more about what we call the five C’s of doing business in Costa Rica:

  1. Culture – Costa Ricans have a culture that promotes communication in a straight forward but considerate way. During software development projects, people tend to voice their opinions based on prior experience. Being communicative and straight-forward is imperative to high quality agile software development. This helps ensure that software bugs are caught quickly and that project estimates are accurate. It also helps to facilitate team trust and positivity.
  2. Communication – Many people in Costa Rica speak both Spanish and English fluently. This is very beneficial when partnering with software teams in the United States. Working with software developers who are fluent in English enables communication on the scrum team to flow with ease.
  3. Cost – Costa Rica is a country that heavily endorses continental free trade and is home to many business-favorable benefits. By offering exemptions on capital goods, the value of conducting nearshore operations in Costa Rica proves even more beneficial.
  4. Climate – Due to its close proximity to the equator, Costa Rica has a temperate tropical climate that averages between 71 and 81 degrees Fahrenheit. Miles of beaches and natural beauty provide many opportunities for people to stay active and healthy. This boosts team morale and productivity.
  5. Convenience – Costa Rica is located in the Central Time zone (CST) which is vital to operations that may take place in the United States. During iterations of agile software development, time efficiency is critical. number8 are in the same or a similar time zone as team members in the United States. This makes collaboration between nearshore and U.S.-based team members very easy.

When it comes to nearshore software outsourcing, we explored many possibilities.  Choosing to open offices in San Jose, Costa Rica, has been very favorable. The number8 team is very proud of the high quality products we deliver and the service we provide. If you are considering software development in Costa Rica, contact us today. Costa Rica has proven to be an excellent location for nearshore IT services, offering an atmosphere full of beauty and business opportunity.

Scrum Master Certification

Certified Scrum Master CSMBenefits of Scrum Master Certification

If you are new to agile software development, you may have some questions about the role of a scrum master. A scrum master has a very important job on an agile development team. Facilitator, coach, guide, manager, advocate, planner — these are just a few of the roles a scrum master may be expected to play. Though scrum masters have a long list of responsibilities, at the end of the day, their primary focus involves making sure a project runs smoothly, and that obstacles that may have a negative impact on the team are removed quickly and effectively.

While you can learn about the scrum process and the role of scrum master, the Scrum Alliance offers assistance to those interested in obtaining a scrum master certification. The Scrum Alliance is a non-profit organization dedicated towards the mission to introduce Scrum to as many people as possible.

To become a Certified Scrum Master (CSM), the Scrum Alliance requires the following:

  • Participate in a course taught by a Certified Scrum Trainer. This course typically lasts a couple of days.
  • Successfully complete an exam and earn a passing score. You must get at least 24 out of 35 questions correct.
  • Accept the License Agreement for your scrum master certification.

Scrum master certification is not only useful for people interested in the scrum master role. Any member of an agile development team including software developers, product designers, would benefit from the training involved in getting the scrum master certification.

Why Hire A Certified Scrum Master?

There are many reasons to hire a certified scrum master for a software development project. Not only does a certified scrum master (CSM) help an agile software development team reach their full potential, but a CSM also makes projects run more smoothly and efficiently.

A Certified Scrum Master offers knowledge and expertise that pushes an agile team to function at its highest level.

During a product development project, a certified scrum master has the following responsibilities:

  1. Facilitates ongoing communication with team members. This is done in part through daily meetings or “scrums” where team members offer status reports, discuss the work plan for the day, report any unexpected problems and help one another solve challenges so that the project progresses as smoothly and efficiently as possible.
  2. Maintains close contact with project owners. A scrum master meets regularly with the project owners to keep everyone updated, and to make sure that backlog entries are effectively maintained. The backlog includes a descriptive list of all the features the product. Typically the list may differentiate items based on priority.
  3. Serves as team defender. A scrum master works hard to eliminate or minimize any distractions or obstacles that threaten the velocity of a project. Sometimes this involves making sure that software developers stay focused and are not pressured to underestimate the time specific tasks will take. It often involves managing stakeholder expectations.
  4. Boosts team morale and accountability.  Acting as team cheerleader and coach, a scrum master is always working to understand and improve team dynamics. This typically includes personnel issues. For example, a scrum master will gauge how well individual team members get along and whether team members support and push one another to perform at their highest level.

A certified scrum master plays a fundamental role on an agile software development team. Outsourcing with an agile development firm that has certified scrum masters on staff can drastically increase a development team’s potential. At number8, company President David Easterling is a Certified Scrum Master. He enjoys  being an active member of the Scrum and Agile User Group.

Exploring Costa Rica – Something For Everyone

Things to do when visiting Costa RicaWhile the possibility of a great destination for business travel is not reason alone to choose an offshore software development partner, it is true that Costa Rica has a lot to offer. Whether visiting Costa Rica for vacation, business, or a combination of both, the country is known for its unique history and beauty. Follow along for an overview of some great places to go during your travels to Costa Rica.

Situated on the Pacific side of Central America, Costa Rica features many opportunities for beach lovers. If you want to spend time enjoying the ocean and soaking up some rays, make sure to visit Guanacaste and the Nicoya Peninsula. This region of Costa Rica includes an 80 mile coastline covered with palm trees and waves. If you enjoy water sports like surfing, this is the spot for you.

This area of Costa Rica also features other sightseeing opportunities including a visit to one of the world’s most active volcanoes, the Arenal Volcano in Fortuna, Costa Rica. You might also enjoy exploring the Tabacón Hot Springs, complete with natural baths and a spa treatment featuring volcanic mud wraps amidst the beauty of natural waterfalls.

Traveling to Costa Rica – Opportunities for Adventure

Costa Rica also proves to be an excellent location for the adventure traveler. South of Fortuna, visitors enjoy the Caño Negro Wildlife Refuge, complete with hundreds of wildlife including a huge population of birds, crocodiles, water birds and sloths! Make sure to bring your binoculars because this attraction provides amazing views, perhaps best enjoyed during the wetter months between May and December.

If you enjoy the type of travel adventure that takes your breath away, zip-lining in Costa Rica may be the best activity for you. This exciting thrill offers unbelievable scenery complete with mountain ranges, exotic wildlife and beautiful ocean views. Those looking for incredible views, without all the thrill, may enjoy gondola rides or day hikes through suspended bridges in the forest. There are many unique opportunities to experience the special landscape in Costa Rica.

After enjoying beaches, waterfalls, wild animals, and nature hikes, you may be interested in learning more about some of the indoor attractions Costa Rica has to offer.

Enjoy Great Museums and Restaurants when Traveling to Costa Rica

If you enjoy history and architecture, Teatro Nacional is an architectural source of pride for Costa Rica. Built in 1897, this one-of-a-kind building is open for guided tours while also home to Soul Cafe, a popular gourmet restaurant. The Museo de Arte Costarricense, known for famous art pieces and memorable designs, all made by local artisans, is also well worth a visit. This is a great opportunity to experience the unique culture of Costa Rica.

After sightseeing and adventure, you may enjoy sitting back to a delicious meal. There are many great dining options in Costa Rica, including Restaurant la Terrasse, recipient of a 2014 Certificate of Excellence. This popular restaurant is enjoyed for excellent cuisine and scenery.
San Jose’s Restaurante Grano de Oro is another popular location, especially for those interested in experiencing the authentic cuisine of Costa Rica.

Traveling to Costa Rica is a special experience, whether you enjoy long stretches of time on the beach, exploring an active volcano, a zip-line adventure through the woods, or trying unique restaurants and museums. As all of us at number8 already know, Costa Rica really does have something for everyone.

Risks of Offshore Outsourcing Software Development

offshore outsourcing software developmentThere are many benefits to offshore outsourcing. For example, if you are developing new products and need the help of skilled software developers, offshore outsourcing gives you access to huge pool of hard-to-find technical talent. In addition, if you are a start-up company operating on a lean budget and in need of custom software development, offshore outsourcing gives you the opportunity to save both money and time.

Not only does offshore outsourcing provide you with access to software developers trained in all the latest computer languages, platforms and devices, but by cutting the costs and risks associated with hiring and training additional full-time employees, it may help you expand your business and not your budget.

Before you turn to offshore outsourcing as a solution to your technical needs and challenges though, it is important for you to consider the potential risks involved. Here are six possible risks of offshore outsourcing software development.

6 Risks of Offshore Outsourcing Software Development

While there are clear benefits to offshore outsourcing, the process is not always seamless. There are certain pitfalls you will want to work to avoid before you begin outsourcing software development overseas. Here are six risks to avoid with international outsourcing:

  1. Communication Problems – Regardless of whether you need short-term technical help or a long term partnership, clear communication is very important when you outsource software development overseas. Depending on the company and country that you engage for your international outsourcing, communication challenges can pose a real problem. Sometimes it can be difficult to understand the key contact people that are responsible for gathering and communicating the requirements for your project. Sometimes unstable technical infrastructure in certain regions of the world leads to sporadic telephone and internet access, making it unexpectedly difficult for you to communicate with offshore software developers.
  2. Time Zone Differences – If your IT team uses an agile scrum approach to software development, chances are that you will want regular ongoing communication with members of your offshore team. This may not be possible if you are working with offshore software developers located in far-away locations like China or India. Nearshore locations like Costa Rica offer a more practical solution to offshore outsourcing since Costa Rica is conveniently situated in the Central Time Zone.
  3. Safety Challenges – When you are outsourcing software development overseas, regional safety should be another issue you consider in advance. Domestic and regional conflict in an area may impact things like employee stability and communication. Safety concerns will also likely impact whether you or members of your team are able to travel for meetings with your offshore software developers.
  4. Cultural Factors – Depending on the region of the world where you decide to outsource software development, cultural factors including religious holidays and work schedule norms may affect overall efficiency, communication and project management more generally. While you may be accustomed to U.S. patterns around certain major holidays and school schedules, keep in mind that these can vary significantly in other regions of the world, and may have an impact on your experience with offshore outsourcing.
  5. Work Quality – Though you may be looking to offshore outsourcing to save money, it is likely that you do not want to sacrifice work quality in order to do this. Not all companies involved in offshore outsourcing deliver the same quality when it comes to project management and coding. It is important to do your research when you engage an IT outsourcing firm and this includes asking for some current customer testimonials so you have a good sense of what you can expect in terms of work quality.
  6. Challenge of Distance – Sometimes when team members are not in the same room as you, it can be easier to forget that they are there to assist. Perhaps especially in the beginning, it is possible to underutilize offshore software developers by not assigning enough work and forgetting that they are there to help. An experienced and professional offshore outsourcing firm will help you navigate this process, though, so that you learn to take full advantage of the opportunity your offshore software developers provide.

As with most business services, it is critical to do your homework before you choose a partner company for offshore outsourcing software development. Asking informed questions before you choose a partner for international outsourcing will help you avoid common pitfalls while making your experience more positive and productive.

Becoming A Microsoft Certified Partner

microsoft certified businessHow do you become a Microsoft Certified Partner?

A Microsoft Certified Partner is an independent company that uses Microsoft technologies to provide services and products. By partnering with Microsoft, a company can operate more efficiently, providing better support to customers and receiving higher priority and greater access to Microsoft.

There are several different levels of Microsoft Certified Partnerships. These include: Community, Action Pack, Silver and Gold. Membership benefits vary depending on level.

Microsoft Certified Silver Partners, like number8, have internal-use rights for up to 25 licenses per product along with 20 monthly advisory hours with Microsoft. Before becoming a Microsoft Certified Partner, a company must meet a number of important requirements.

Requirements for Becoming a Microsoft Certified Partner

In order for a company to become a Microsoft Certified Partner, the company must meet the following four eligibility requirements:

  1. Be a good match. In order to fill out the initial application to become a Microsoft Certified Partner, a company must be a good match for Microsoft. An eligible company typically sells, services, supports or builds solutions using Microsoft technologies for third party customers.
  2. Complete a Partner profile. If a company fits the description of a possible Microsoft Certified Partner, it will then need to create a partner profile. The partner profile characterizes the focus of the business, the services offered, the customers associated with the business, and the technologies used on regular basis.
  3. Obtain customer references. Evidence of customer satisfaction is required. A company applying to become a Microsoft Certified Partner is expected to provide least three confirmed references from customers that verify the overall quality of the business.
  4. Provide evidence of technical capabilities. A company will need to provide evidence that it has the technical capabilities to operate Microsoft technologies successfully. To do so, a company must employ, or employ by contract, at least two Microsoft certified professionals. The employees may have certification in some type of Microsoft technology. In addition to providing this evidence of competency, the company must also have Microsoft certified employees and be able to pass a technical assessment exam administered by Microsoft.

Once a company has met the eligibility requirements to become a Microsoft Certified Partner, it is required to pay an annual membership fee. The required fees based on the type of business and the level of certified partner.

Working with a company that is a Microsoft Certified Partner is very beneficial. Businesses that receive this certification are recognized by Microsoft, which is a very reputable company. Companies that are Microsoft Certified Partners are not only more likely to be up-to-date with the latest technologies, but they are also likely to stay up to date, since they receive ongoing information from Microsoft about anticipated developments, changes, trends and challenges.

Scrum Process Terminology

sprints and the scrum processThe scrum process describes a unique approach to software development for developers using the agile methodology. The scrum process enables software development teams to work together as a cohesive group while developing a new product. Close collaboration, ongoing communication and teamwork is emphasized among all team members.

A particularly important part of the scrum process involves an overall emphasis on flexibility to change requests throughout the project.  Developers using the agile scrum process understand change to be a normal part of product development; adapting to change quickly and effectively is at the heart of this unique approach.

The scrum process has grown in popularity among product development teams all over the U.S. and around the country. Those engaged in the day to day scrum process use a special terminology to describe various aspects of the process.  If you are interested in learning more about the scrum process, follow along to learn more about some of the common terms used with this approach.

7 Common Terms to Know for the Scrum Process

As with other software development methodologies, there is a special terminology to describe aspects of the day-to-day practice. The scrum process is no exception. There are a number of unique terms used by software developers engaged in the agile and scrum process including the following:

    1. Scrum Master – The scrum master is at the heart of the scrum process, serving as team facilitator or coach. While scrum masters have many responsibilities, probably one of the most important ones involves making sure that all obstacles are removed so that the product development team can complete tasks as efficiently as possible.
    2. Sprint – In the scrum process, the work involved to develop a product is divided up into a predictable schedule or work flow referred to as a sprint or iteration. Depending on the project, a sprint may last as long as 30 days or it might involve a shorter duration like a week.
    3. Product Owner – The product owner is the person responsible for making decisions on behalf of the customer about the priority of the project requirements.
    4. Velocity – As part of the scrum process, velocity is the amount of product backlog a scrum team can handle during a sprint period. After the team’s velocity is determined, it is used to plan for future projects and estimate completion times.
    5. User Stories – During the scrum process, project work is documented using user stories. Users stories work to document the end user’s perspective. There are different ways to capture user stories but they typically include at least a couple of sentences and sometime entire paragraphs.
    6. Product Backlog – When it comes to the scrum process, the product backlog is typically something that the product owner manages. It details all the work that the team needs to do in order to finish a project from a high level. User stories may be ranked in the product backlog with enough information that a software development team is able to provide accurate estimates in terms of time and resources.
    7. Burn Down Charts – Burn down charts detail daily progress in terms of project work. Burn down charts also detail the remaining work still left to be completed. In the scrum process, burn down charts may be applied to the entire project and/or the progress of individual sprints.

There is a lot of terminology involved in the scrum process and different software development teams may approach scrum in slightly different ways.  As with any approach to product development, it is extremely helpful to understand the key terminology.