This website uses cookies to better the user experience of its visitors. Where applicable, this website uses a cookie control system, allowing users to allow or disallow the use of cookies on their computer/device on their first visit to the website. This complies with recent legislative requirements for websites to obtain explicit consent from users before leaving behind or reading files such as cookies on a user’s computer/device. To learn more click Cookie Policy.

Privacy preference center

Cookies are small files saved to a user’s computer/device hard drive that track, save, and store information about the user’s interactions and website use. They allow a website, through its server, to provide users with a tailored experience within the site. Users are advised to take necessary steps within their web browser security settings to block all cookies from this website and its external serving vendors if they wish to deny the use and saving of cookies from this website to their computer’s/device’s hard drive. To learn more click Cookie Policy.

Manage consent preferences

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Cookies list
Name _rg_session
Provider rubygarage.org
Retention period 2 days
Type First party
Category Necessary
Description The website session cookie is set by the server to maintain the user's session state across different pages of the website. This cookie is essential for functionalities such as login persistence, ensuring a seamless and consistent user experience. The session cookie does not store personal data and is typically deleted when the browser is closed, enhancing privacy and security.
Name m
Provider m.stripe.com
Retention period 1 year 1 month
Type Third party
Category Necessary
Description The m cookie is set by Stripe and is used to help assess the risk associated with attempted transactions on the website. This cookie plays a critical role in fraud detection by identifying and analyzing patterns of behavior to distinguish between legitimate users and potentially fraudulent activity. It enhances the security of online transactions, ensuring that only authorized payments are processed while minimizing the risk of fraud.
Name __cf_bm
Provider .pipedrive.com
Retention period 1 hour
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to support Cloudflare Bot Management. This cookie helps to identify and filter requests from bots, enhancing the security and performance of the website. By distinguishing between legitimate users and automated traffic, it ensures that the site remains protected from malicious bots and potential attacks. This functionality is crucial for maintaining the integrity and reliability of the site's operations.
Name _GRECAPTCHA
Provider .recaptcha.net
Retention period 6 months
Type Third party
Category Necessary
Description The _GRECAPTCHA cookie is set by Google reCAPTCHA to ensure that interactions with the website are from legitimate human users and not automated bots. This cookie helps protect forms, login pages, and other interactive elements from spam and abuse by analyzing user behavior. It is essential for the proper functioning of reCAPTCHA, providing a critical layer of security to maintain the integrity and reliability of the site's interactive features.
Name __cf_bm
Provider .calendly.com
Retention period 30 minutes
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to distinguish between humans and bots. This cookie is beneficial for the website as it helps in making valid reports on the use of the website. By identifying and managing automated traffic, it ensures that analytics and performance metrics accurately reflect human user interactions, thereby enhancing site security and performance.
Name __cfruid
Provider .calendly.com
Retention period During session
Type Third party
Category Necessary
Description The __cfruid cookie is associated with websites using Cloudflare services. This cookie is used to identify trusted web traffic and enhance security. It helps Cloudflare manage and filter legitimate traffic from potentially harmful requests, thereby protecting the website from malicious activities such as DDoS attacks and ensuring reliable performance for genuine users.
Name OptanonConsent
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonConsent cookie determines whether the visitor has accepted the cookie consent box, ensuring that the consent box will not be presented again upon re-entry to the site. This cookie helps maintain the user's consent preferences and compliance with privacy regulations by storing information about the categories of cookies the user has consented to and preventing unnecessary repetition of consent requests.
Name OptanonAlertBoxClosed
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonAlertBoxClosed cookie is set after visitors have seen a cookie information notice and, in some cases, only when they actively close the notice. It ensures that the cookie consent message is not shown again to the user, enhancing the user experience by preventing repetitive notifications. This cookie helps manage user preferences and ensures compliance with privacy regulations by recording when the notice has been acknowledged.
Name referrer_user_id
Provider .calendly.com
Retention period 14 days
Type Third party
Category Necessary
Description The referrer_user_id cookie is set by Calendly to support the booking functionality on the website. This cookie helps track the source of referrals to the booking page, enabling Calendly to attribute bookings accurately and enhance the user experience by streamlining the scheduling process. It assists in managing user sessions and preferences during the booking workflow, ensuring efficient and reliable operation.
Name _calendly_session
Provider .calendly.com
Retention period 21 days
Type Third party
Category Necessary
Description The _calendly_session cookie is set by Calendly, a meeting scheduling tool, to enable the meeting scheduler to function within the website. This cookie facilitates the scheduling process by maintaining session information, allowing visitors to book meetings and add events to their calendars seamlessly. It ensures that the scheduling workflow operates smoothly, providing a consistent and reliable user experience.
Name _gat_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _gat_UA-* cookie is a pattern type cookie set by Google Analytics, where the pattern element in the name contains the unique identity number of the Google Analytics account or website it relates to. This cookie is a variation of the _gat cookie and is used to throttle the request rate, limiting the amount of data collected by Google Analytics on high traffic websites. It helps manage the volume of data recorded, ensuring efficient performance and accurate analytics reporting.
Name _ga
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga cookie is set by Google Analytics to calculate visitor, session, and campaign data for the site's analytics reports. It helps track how users interact with the website, providing insights into site usage and performance.
Name _ga_*
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga_* cookie is set by Google Analytics to store and count page views on the website. This cookie helps track the number of visits and interactions with the website, providing valuable data for performance and user behavior analysis. It belongs to the analytics category and plays a crucial role in generating detailed usage reports for site optimization.
Name _gid
Provider rubygarage.org
Retention period 1 day
Type First party
Category Analytics
Description The _gid cookie is set by Google Analytics to store information about how visitors use a website and to create an analytics report on the website's performance. This cookie collects data on visitor behavior, including pages visited, duration of the visit, and interactions with the website, helping site owners understand and improve user experience. It is part of the analytics category and typically expires after 24 hours.
Name _dc_gtm_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _dc_gtm_UA-* cookie is set by Google Analytics to help load the Google Analytics script tag via Google Tag Manager. This cookie facilitates the efficient loading of analytics tools, ensuring that data on user behavior and website performance is accurately collected and reported. It is categorized under analytics and assists in the seamless integration and functioning of Google Analytics on the website.

Business Analysis office

At RubyGarage we don’t start on projects until a business analyst has defined your requirements and figured out how to transform them into the most effective and realistic technical solution. Now you might be thinking, Why don’t we just skip the analysis and go right to coding? Here’s why we don’t:

Our BAO adds tremendous value to projects

We have a rule at RubyGarage. All the time, money, and energy invested in creating a software solution should bring return on investment for our clients. This is why we add business analyst (BA) to each team and why they stay with the project through implementation and even through multiple releases.

Reduced development costs

Business analysis makes projects cheaper. But isn’t it a line item on the budget? It is, but business analysts reduce rework. Implementation is always more complex than it seems at first glance. As change requests come in and unexpected risks appear, software developers often have to rework the same code again and again. We prevent project cost overruns with our meticulous requirements engineering.

Reduced delivery time

Without business analysis preceding development, teams tend to spend many hours figuring out what it is they actually need to deliver. And because they also want to get the product out the door as soon as possible, quite often they go in the wrong direction. As a result, they end up having to go back and make changes to what they’ve already built. Business analysis helps teams focus on the right requirements and reduce unnecessary rework.

Effective problem-solving

In Agile software development, new needs and requirements are bound to be discovered during implementation. Our business analysts are involved in a project throughout its development life cycle. They facilitate problem-solving and help teams address newly discovered constraints without all the hassle. By supporting project implementation, they make sure that what’s being built meets stakeholders’ expectations.

Increased returns

Because BAs analyze your current business processes to understand your workflow, they help you discover new business benefits. Sometimes, just a small tweak in the system’s functionality can add a lot of value to your business. Features that add the most value should be implemented first. Having a business analyst on the team makes the development process more predictable and more successful and increases the return on investment.

How business analysis is done at RubyGarage

Quality software is the result of well-executed design and development, which can only happen if requirements are accurate and complete. Here’s how our business analysts at RubyGarage define project needs and help our clients find the most cost-effective solutions.

Stage 1

Business modeling

We dive into a project to discover our client’s needs, operating processes, problems their product is going to solve and for whom, and metrics that we’ll use to see if the solution has been implemented successfully. Business modeling ends when we’ve outlined the vision of the project and are ready to define the requirements.

Stage 2

Requirements engineering

At the stage of requirements engineering, we define user roles and a product feature set, create user activity diagrams and epics, decompose those epics into user stories, and build a data model. We also define acceptance criteria that a product must satisfy and get our client’s approval to move the project forward.

Key tools, techniques, and deliverables

We use lots of methods to visualize requirements and align our vision of the project with that of the project’s stakeholders. Here’s a quick overview of our business analysis toolkit and key deliverables from our Business Analysis Office:

Business Model Canvas

We share a Business Model Canvas with our clients to get a clear understanding of the problems that their products will solve. For our startup clients, we use Lean Canvas, an adaptation of the Business Model Canvas. The canvas describes:

  1. Key value propositions
  2. Customer segments
  3. Competitive landscape
  4. Pricing model
  5. KPIs

Operating Model Canvas

The purpose of the Operating Model Canvas is to describe the value delivery chain and explain how an organization operates. This framework helps us discover how the current operating strategy can be optimized with software. It shows:

  1. Parties involved in production and delivery
  2. How information is exchanged between different business units
  3. Locations and assets that are critical for delivering value to customers

Requirements architecture

After a series of interviews and workshops as well as brainstorming sessions and questionnaires, we start architecting the requirements. To structure and organize requirements in an understandable and elegant format, we use the following techniques:

  1. Business Process Modeling and Notation (BPMN) in the form of flowcharts and UML activity diagrams
  2. Prototypes in the form of mind maps, paper interfaces, low-fidelity prototypes, and wireframes

Requirements specification

We describe detailed project requirements in the form of a specification that’s shared with all stakeholders. With this document, developers know what to develop and testers know what to test. Everybody has everything they need to perform their job. The specification includes:

  1. User roles with goals and activities for each of these roles
  2. Functional specifications with a feature breakdown list, epics, and user stories
  3. A data model with entities, their attributes, and relationships among entities
  4. A data access diagram with different types of permissions for different user roles

Requirements validation

Once all requirements are clearly defined, our business analysts need to complete one more step to be able to move the project forward: they need to make sure the requirements are aligned with the business needs and operating processes. This involves all stakeholders and consists of the following activities:

  1. Defining acceptance criteria
  2. Analyzing the specification document
  3. Analyzing and managing risks
  4. Getting feedback from clients