diff --git a/QUICKSTART.md b/QUICKSTART.md
index c5c01bc..028f328 100644
--- a/QUICKSTART.md
+++ b/QUICKSTART.md
@@ -42,7 +42,6 @@
 
  * Qpid Proton (including C++ Proton API)
  * Qpid Python
- * Qpid JMS
 
 The following are not required, but if installed and present, will be tested:
 
@@ -56,7 +55,7 @@
 
 1. Install prerequisites, from packages or source
 2. Install or download / build AMQP brokers to test against (or set up networked brokers)
-3. Download and build qpid-interop-test
+3. Build qpid-interop-test
 4. Run the tests
 
 ## 1. Install prerequisites
@@ -88,26 +87,17 @@
 yum install jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton
 ````
 
-Qpid-jms client is not available as a package, so it must be built:
-
-````
-git clone https://git-wip-us.apache.org/repos/asf/qpid-jms.git
-cd qpid-jms
-mvn -DskipTests install
-cd ..
-````
-
 ### 1.3 Fedora 26
 
 All packages are available directly from the Fedora repositories:
 
 ````
-dnf install gcc-c++ cmake maven java-1.8.0-openjdk-devel perl-XML-XPath jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton qpid-jms-client
+dnf install gcc-c++ cmake maven java-1.8.0-openjdk-devel perl-XML-XPath jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton
 ````
 
 ## 2. Obtaining a broker
 
-Qpid-interop-test requires a broker to be running against which the tests may be run. This
+Qpid-interop-test requires a running broker to be available. This
 may be on localhost as a local install or build, or on another machine, in which case its
 IP addresss must be known. Some local broker install options are:
 
@@ -161,22 +151,41 @@
 
 ````
 
-## 3. Build and install qpid-interop-test
+## 3. Install qpid-interop-test
 
 Qpid-interop-test may be installed locally (preferred for local builds) or to the system
 (which requires root privileges). For a local install, use the `-DCMAKE_INSTALL_PREFIX`
 option to the `cmake` command. If it is omitted, then qpid-interop-test will be installed
-into the default system directories.
+into the default system directories.  The source may be unpacked, or (if you need to use the
+latest and greatest), cloned from git:
 
 ````
 git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git
+````
+
+Assuming the source tree is located in directory {{qpid-interop-test}}:
+
+````
 cd qpid-interop-test
 mkdir build
 cd build
-cmake [-DCMAKE_INSTALL_PREFIX=<abs-path-to-local-install-dir>] ..
+````
+For a local install:
+
+````
+cmake -DCMAKE_INSTALL_PREFIX=<abs-path-to-local-install-dir> ..
 make install
 ````
 
+For a system install, root privileges are required:
+
+````
+cmake ..
+make
+sudo make install
+
+````
+
 ## 4. Run the tests
 
 ### 4.1 Set the environment
@@ -213,7 +222,7 @@
 ...
 ````
 
-If the broker is remote, use the following to point to the broker:
+If the broker is remote, use the following to point to the broker(s):
 
 ````
 python -m qpid_interop_test.amqp_types_test --sender <broker-ip-addr> --receiver <broker-ip-addr>
diff --git a/pom.xml b/pom.xml
index 032cf74..ae6c3e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,12 +49,49 @@
     <maven.compiler.source>1.7</maven.compiler.source>
     <maven.compiler.target>1.7</maven.compiler.target>
     <maven-assembly-plugin-version>2.6</maven-assembly-plugin-version>
+    
+    <!-- Dependency versions -->
+    <geronimo.jms.2.spec-version>1.0-alpha-2</geronimo.jms.2.spec-version>
+    <json-version>1.1</json-version>
+    <qpid-jms-client-version>[0.25.0-SNAPSHOT,)</qpid-jms-client-version>
+    <slf4j-version>1.7.25</slf4j-version>
+    
   </properties>
 
   <modules>
     <module>shims/qpid-jms</module>
     <module>utils</module>
   </modules>
+  
+  <dependencyManagement>
+    <dependencies>
+	  <dependency>
+	    <groupId>org.apache.geronimo.specs</groupId>
+	    <artifactId>geronimo-jms_2.0_spec</artifactId>
+	    <version>${geronimo.jms.2.spec-version}</version>
+	  </dependency>
+	  <dependency>
+	    <groupId>javax.json</groupId>
+	    <artifactId>javax.json-api</artifactId>
+	    <version>${json-version}</version>
+	  </dependency>
+	  <dependency>
+	    <groupId>org.glassfish</groupId>
+	    <artifactId>javax.json</artifactId>
+	    <version>${json-version}</version>
+	  </dependency>
+	  <dependency>
+	    <groupId>org.apache.qpid</groupId>
+	    <artifactId>qpid-jms-client</artifactId>
+	    <version>${qpid-jms-client-version}</version>
+	  </dependency>
+	  <dependency>
+	    <groupId>org.slf4j</groupId>
+	    <artifactId>slf4j-nop</artifactId>
+	    <version>${slf4j-version}</version>
+	  </dependency>
+    </dependencies>
+  </dependencyManagement>
 
   <build>
     <plugins>
diff --git a/shims/qpid-jms/pom.xml b/shims/qpid-jms/pom.xml
index 1b0d2f0..5030e71 100644
--- a/shims/qpid-jms/pom.xml
+++ b/shims/qpid-jms/pom.xml
@@ -70,37 +70,25 @@
   </build>
 
   <dependencies>
-     <!-- JMS 1.1 dependency, now obsolete -->
-     <!--dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jms_1.1_spec</artifactId>
-      <version>1.1.1</version>
-    </dependency-->
-    <!-- JMS 2.0 dependency -->
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-jms_2.0_spec</artifactId>
-      <version>1.0-alpha-2</version>
     </dependency>
     <dependency>
       <groupId>javax.json</groupId>
       <artifactId>javax.json-api</artifactId>
-      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.glassfish</groupId>
       <artifactId>javax.json</artifactId>
-      <version>1.0.4</version>
     </dependency>
     <dependency>
       <groupId>org.apache.qpid</groupId>
       <artifactId>qpid-jms-client</artifactId>
-      <version>[0.20.0-SNAPSHOT,)</version>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-nop</artifactId>
-      <version>1.7.21</version>
     </dependency>
   </dependencies>
 </project>
