I covered the optimal structure of a mobile delivery factory in part 1, so in this blog post I will further expand on the details of the delivery factory tools and assets.
Let’s focus on the tools each individual cell needs to function efficiently. In general all build cells need collaboration tools and integrated test tools. There are various choices for this but the most common are the Jazz platform tools from IBM: IBM Rational Team Concert (RTC) and IBM Rational Quality Manager (RQM). What is great is that they integrate with the Eclipse platform, which is commonly used for mobile application development for all platforms except iOS.
To really have an efficient factory that is able to function with a high volume of deliverables, there is no alternative to a continuous build process. In a continuous build process the code that is developed is integrated and tested before the end of the day to guarantee that everything checked in the code repository at least passed the unit test and is regression tested. This makes it easy for the test team to take it to the next level of quality. To implement a continuous build process again there are a lot of choices for products, but since everything we used so far came from IBM, their Build Forge build solution is an obvious pick.
If we go one step back and focus on our design cell we again find a lot of choices, but if you need to use the same platform the developers are using then IBM Rational Software Architect (RSA) is the best choice. RSA is built on Eclipse, making it very familiar to most practitioners in the business. And if you need to have a more elaborate tool to design your back-end data storage system, then the best choice for an integrated tool is IBM InfoSphere Data Architect (IDA).
If we want to move further down the manufacturing line to our test cell we can again depend on IBM to give us the appropriate quality validation tool. For a functional test we can use IBM Rational Functional Tester, and for performance testing we have IBM Rational Performance Tester.
If we put this all together, our delivery factory would function in an efficient manner that follows industry best practices such as model-driven development and continuous integration in a fully integrated manner, as shown in the following diagram:Justinmind. Having a prototyping tool is essential to give the stakeholders a feeling for what they are getting and to make sure everyone is on the same page regarding what is going to be delivered.
And the most important tool for mobile application delivery is the actual development tool. Due to the diversity of devices, you can’t support all platforms with just one tool, but you can get as close as possible to that with IBM’s Worklight. The only limitation is compiling for iOS, which will require Xcode from Apple.
Now getting over the needed tools is one thing, but no factory will function without templates, accelerators and very specific instructions for the cells to perform on. This is the hard part and where most of the intellectual capital will be developed and guarded by the organizations running these factories.