Blog
![A handshake as part of a graph](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119367/rangle.io/blogs/agile-first-contact-with-a-new-client/feature-photo.gif)
Our recent whitepaper Advanced Agile: Five Ways to Accelerate Delivery, Improve Flexibility, and Reduce Waste (Available through our Contact Us form) summarizes five of the key insights Rangle has acquired doing Agile software development projects for a diverse group of clients.
![Text: Agile = Success](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119320/rangle.io/blogs/where-to-begin-learning-before-doing/feature-photo.gif)
Our recent whitepaper “Advanced Agile: Five Ways to Accelerate Delivery, Improve Flexibility, and Reduce Waste" summarizes five tactics Rangle recommends for any company considering implementing Agile practices.
![Pencil writing in a looped arrow](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119367/rangle.io/blogs/bqas-why-we-combined-the-business-and-quality-analyst-roles/feature-photo.png)
Quality assurance has a bad reputation. Despite being a vital part of the development process, some argue that if developers were writing good code in the first place, then QAs wouldn’t be necessary. Yet constant testing is vital to ensure things work as they’re supposed to.
![React on mobile device](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119366/rangle.io/blogs/unit-testing-react-redux-selectors-and-epics/feature-photo.png)
Components can be tested with snapshot testing. Tools like Jest (often combined with Enzyme) that offer this functionality take a ‘snapshot’ of what your component renders--everything from divs, attributes, classNames, props, and state--and saves it to a file, kind of like this:
![A checkmark surrounded by four coloured segments](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119365/rangle.io/blogs/agile-development-3-ways-it-benefits-your-business/feature-photo.png)
With support from Alex Karasyov. Although Agile development is common practice within many of the world’s leading tech companies, many aspects of the process are still misunderstood, misused, or all alone ignored. Agile software development refers to a set of best practices, methodologies and team values that allow organizations to quickly adapt to changing customer needs and respond to competitors, all while solidifying team morale.
![A form with a redux logo by submit](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119364/rangle.io/blogs/creating-forms-with-redux-part-ii/feature-photo.png)
In Creating Forms with Redux Part I, we hooked up our forms to Redux, learned about the reduxForm HOC and Field component, styled our forms, and made a custom input component. In this section, we continue creating reusable components for the most common form widgets, learn how to do field-level validation, and dive a bit deeper into the built-in action creators and selectors to help us create a more dynamic form.
![A form with a redux logo by submit](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659119359/rangle.io/blogs/creating-forms-with-redux-part-1/feature-photo.png)
There are few things less appealing than forms but they’re still one of the most direct ways for a user to dump a hunk of data into your server. To make the process of filling a form as painless as possible, one needs a good form system that handles common concerns such as:
![Gitpoint](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1669230520/rangle.io/blogs/using-react-native-to-build-gitpoint/feature-photo.png)
If you’ve been involved in mobile development in any way in the past few years, you may have heard of React Native - a framework that lets you build native mobile applications using only JavaScript and React.