One of the chief differences between ROS and ROS-Industrial is the level of code quality and reliability expected by the target users. ROS targets service robotics which is still a rapidly changing field whose users tolerate some bugs and poor documentation. ROS-Industrial targets factory automation, where reliability and ease of use are paramount. As such, we expect contributors to follow a more rigorous software development process. This process begins with ROS Enhancement Proposals (REP), followed by REP Reviews, refinement, and the launch of an official project. Once a project is underway, programmers are expected to use best coding practices which include: *Architecting code to make it reusable *Creating unit test code that runs at every build to detect breaking changes *Documenting code internally with a markup system called Doxygen *Documenting code externally with wiki pages and tutorials *Following a style guide, which makes code easier for others to interpret *Using a continuous integration build server to detect broken dependencies *Writing code that passes code quality analysis thresholds (future, refer to research topic) *Subjecting code to peer review