Mobility presents several unique challenges for your organization. You need to connect mobile employees, partners and customers to the back office systems, data and networks in a trusted and secure manner. You have to deliver timely mobile apps within a highly fragmented environment with multitudes of devices, platforms and networks. You have faster, more iterative mobile development lifecycles. All the while, you need to engage mobile customers, partners and employees with richer, more connected mobile applications that let them take action whenever and where ever they are.
Learn about an aspirational ALM framework for enterprise mobile project teams that introduces a way of thinking about continuous development of mobile apps; applying the same discipline to this lifecycle as you do any business-critical process.
Main Point: “You can’t go mobile without Mobile apps.” Mobile apps are driving business results.
However Building mobile apps is NOT just a one-off – this rapid mobile application delivery trend is expected to continue and YOUR users will continue ask for more innovation and for it to be delivered sooner to help drive your organization’s mobile strategy.
Main Point: IBM has invested in understanding the mobile enterprise, and you should feel confident in the offerings across IBM INCLUDING DevOps for Mobile. While this architecture may be specific to IBM, each client delivering mobile apps will have a VERY SIMILAR functional architecture, perhaps with non-IBM components – most mobile apps reach back into the enterprise servers and data through some security component and have an associated mobile management component. These systems need to interact with each other to produce the mobile experience.
You can learn more about the bigger picture of IBM MobileFirst Reference Architecture from your IBM Architect point of contact.
Main point: Most agree that GOOD mobile apps typically have a better user experience than desktop systems. But the entire mobile USER EXPERIENCE is not just the USER INTERFACE. Mobile apps have dependencies across teams, tools, processes, data, services and platforms, which increases the need for coordination, collaboration and transparency even more. Certainly a good UI is important, but what’s behind is the UI is also important.
In a typical IT shop, mobile apps are typically not stand alone apps. They have very little business logic on the mobile device itself and serve more as front-ends to a multiple web-tier and back-office applications already in use by the enterprise. These enterprise applications may range from mission-critical transaction processing systems to employee portals to packaged applications. Furthermore, as our IBM clients learn more about their client’s buying patterns through analytics or data mining, NEW systems might get built to integrate those information sources for the mobile applications’ usage.
Testing and quality is one concern area, especially in the case of outsourcing mobile applications, the enterprise systems of record may not even be available to the mobile development team for continuous testing during their agile release cycles.
Changes to systems of record can also impact mobile applications, and therefore, The coordination of release plan, development, test, release processes which are all moving at different rate can be quite time consuming and often done manually and ad-hoc communications, leading to some of the challenges we discussed earlier. For example the Mobile team is pushing out code a lot faster than let’s say a back-office team would and as dependencies across these sub-systems grows, managing the end-to-end delivery process becomes even more critical.
Main Point: We know organizations have a gap between the software delivery capabilities they need to succeed and the ones they have in house currently. Successful organizations know that when they improve their abilities in this area, they increase their success.
In fact a recent IBV study where organizations self-reported that... Insights from 435 executives in 58 countries, spanning 18 industries.
85% realize and reported it is important to critical
Only 25% say they are able to fully leverage software delivery effectively
So there is a gap -- but when companies that can close the resulting execution gap stand to benefit.
Almost 70 percent of the companies currently leveraging software development for competitive advantage outperform their peers from a profitability standpoint
Specifically in the mobile market, a rise in the number of “mobile app outsource providers” validates that many organizations aren’t even investing in this part of the mobile strategy to outperform their competitors.
Main point: Results show that current software delivery methods are CHALLENGED as they cannot satisfy stakeholder or business needs.
----------------------------------------------------------------------------------------------------------------------------------------------
A lack of continuous delivery impact the entire business. And when you combine the new requirements coming from Systems of engagement side which now have to integrate and access existing systems of record applications, the complexity dramatically increases.
Business Need: Experiment in the market to judge success of products and services. LOB: Cannot iterate quickly with market based on IT timelines
Business Need: Maintain system stability. Ops: Cannot keep up with the pace of change pushed into the system
Business Need: Quickly iterate on functionality. Dev: Cannot access production-like environments to validate application changes
Source: Analyst Insights MobileFirst 2013-11-18 FINAL3 – Marketing / Analyst Relations Presentation from Dr. Kristof Kloeckner AND Webinar: “Rapid response to feedback – Continuous delivery in a mobile world” Derek Baron.
Main point: a Mobile DevOps approach changes the status-quo and focuses on the end-to-end delivery of products and services
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
How do they address the challenges of today’s complexities and get to market faster with a quality product, service or application? The most forward thinking companies will establish an enterprise capability for accelerated delivery of software that enables them to seize market opportunities and reduce time to customer feedback, improve governance while balancing quality and cost.
They can do this by taking a lean and agile approach but expanded AND fully automated across an expanded lifecycle that includes customers, LOB / business owners, development / test and operations / production and really focus on achieving:
Accelerated software delivery
Reduced time to gather and analyze customer feedback
Improved governance across the lifecycle
Without losing the balance of quality, cost and speed
As mentioned previously, the entire mobile USER EXPERIENCE is not just the USER INTERFACE. In a typical IT shop, mobile apps are typically not stand alone apps and typically use back-end data and services or even mid-tier or cloud-based services. So while it is important to test the user interface, and all the many different variations, it’s also important to be able to:
Verify your services function properly
Verify your services perform according to your service level agreements
Maintain agility of your mobile development team through virtualizing (simulating) the back-end systems for continuous testing.
Ensure the mobile application and services are tested for security vulnerabilities.
Keep all testing roles as productive as possible.
http://en.wikipedia.org/wiki/Furps
As mentioned previously, the entire mobile USER EXPERIENCE is not just the USER INTERFACE. In a typical IT shop, mobile apps are typically not stand alone apps and typically use back-end data and services or even mid-tier or cloud-based services. So while it is important to test the user interface, and all the many different variations, it’s also important to be able to:
Verify your services function properly
Verify your services perform according to your service level agreements
Maintain agility of your mobile development team through virtualizing (simulating) the back-end systems for continuous testing.
Ensure the mobile application and services are tested for security vulnerabilities.
Keep all testing roles as productive as possible.
http://en.wikipedia.org/wiki/Furps
Main point: A Mobile Continuous Testing DevOps approach can accelerate your time to market.
MAIN POINT: Most mobile app testing today is manual, as it has been with other platforms in history. Manual testing is often filled with many time consuming tasks that themselves can be “automated” helping improve productivity of testers.
Rational Quality Manager provides two key capabilities in this area:
A collaborative interface that replaces manual document and spreadsheet creation and emails with a single dashboard for all QA team members to work together.
2. Integrates Test Execution and streamlines test result reporting into dashboards.
3. Integrates to rest of ALM – faster comm to developers to reduce feedback times
Your Objective in the NEXT SLIDE is to Describe IBM’s Mobile Quality Assurance automation solution which is CURRENTLY in Open Beta and is FREE to TRY! This solution is very mobile specific and the fact that it is free, gives a low-cost barrier for clients to TRY out this mobile-specific capability.
Main Points: Mobile development teams can view all of this “industrialization” of the lifecycle as “too much”, instead of really focusing on the VALUE that it can deliver. This is NOT a NEW problem for Rational – developers historically have never wanted to do anything but create great code with “little or no business process”. But we already know that the most successful organizations have a defined capability to outperform their competition.
However, if you cannot change the perspective of the client, they may appreciate this offering, currently in OPEN BETA. While you cannot sell it NOW, you MUST create mindshare here because it does address very specific agile quality initiatives – it helps our clients Continuously Deliver High Quality Mobile Apps and Reduce Time to Feedback.
A further benefit is it can drag in CLM/JazzHub capabilities behind it – the “streamlined” bug reporting can go directly into those systems for developers to start fixing!
Since it is policy NOT to discuss/sell futures, this is a “freebie” for your client to consume now and has four other key features listed on this page that also deliver value.
On the next slide ASK YOUR CLIENT:
How much time does it take your testers to submit a defect?
How much time does it take your testers to submit a mobile app defect with a screenshot, phone state, phone model, OS version…….?
How many of your mobile bug reports do developers have to go back and ASK for <the above> information?
What if you were able to simply SHAKE your phone to initiate a bug report that captures all of this information?
A mobile application is developed and stored in an source repository, such as Subversion or Git or preferably Rational Team Concert. For applications that are intended for an internal app store, such as IBM Worklight, an integration with UrbanCode Deploy helps streamline deployment automation. A build is created and copies the output files (Worklight Adapter, Worklight Application and Mobile Application) to the UrbanCode code station. Using a process in uDeploy, the appropriate files are deployed to the Worklight Console and/or Worklight Application Center.
Collaboration imperatives are as important to mobile as other kinds of software, especially these three:
In-Context Collaboration Product value
Lifecycle Traceability Improves quality
Real-Time Planning Time to delivery
These other two imperatives are also important, but no more so for mobile than for other software:
Development Intelligence Predictability
Continuous Improvement Reduce cost
Main Point: Even Agile-process oriented teams need automation to improve communication and collaboration.
Lifecycle traceability links builds and tasks. For each mobile app build, you can see tasks in the build, and the code in each task.
Real-time planning, You can quickly adjust backlog for each sprint based on feedback
Collaborate on work items, tasks, get feedback
Want to CONNECT to our SMEs and learn more about Agile? Join the Agile Learning Circle:
https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=4593c3a1-0cbf-4354-ac5c-961fb1546ab7
Out of the box views shows the plan in formats that support planning and execution objectives. Views are designed to support practitioners, scrum master, team leads etc. Views are also customizable allowing the team and practitioners to view their meaningful data.
The following three images show the same sprint plan BRM Sprint 2 (1.0 ) Plan using different views. Using different views helps the team balance the work, plan effectively, understand dependencies and respond to changes more quickly.
Image 1 – Roadmap view: -show dependencies between work items In this example you can see the dependency between 3 tasks between Marco and Deb.
Image 2 – Task board view: shows current progress for daily stand-ups
Image 3 – Planned Time view: Shows the work load for each individuals. In this example you can clearly see that Deb and Marco are over worked. Bob and Tanuj have no work assigned to them.
Slide Source: CLM_MASTER_deck_for_reuse.ppt
Main Point: DevOps for Mobile is not just a collection of tools, but an integrated solution and set of best practices that helps mobile team continuously delivery high quality mobile apps and rapidly respond to feedback. The best mobile applications bring together content and context from a variety of systems to present the user with a truly engaging experience.
There are 3 tiers of the components of the mobile app (device code on top, middleware in middle, mainframe on bottom). Within the systems of engagement represented by Mobile, we find the greatest churn on applications, requiring agile practices and tightly integrated and automated DevOps support. Most enterprise mobile apps, whether serving customers or employees, rely on services provided by mid-tier, web or back-end systems of record. These services evolve less rapidly but still must be aligned with the needs of the mobile apps to deliver an engaging user experience. Similar practices and integrated tooling are needed for these applications as well.
A MobileFirst organization brings Development and Operations teams across these three tiers together to collaborate on delivering the best possible experience to the end user.
Features/Business Value:
Orchestration and deployment automation—create automated deployment processes using the graphical editor; run processes on thousands of machines simultaneously.
Environment and configuration management—use powerful management features that permit configuration-only and traditional code-and-configuration deployments.
Artifact repository— store deployment artifacts more securely to enable traceability.
Middleware configuration management—detect IBM WebSphere® Application Server configurations.
Security, approvals and notifications—customize user permissions, define entrance criteria for environments, and inform stakeholders of deployment actions.
New Capabilities:
Automatic deployment of mobile applications to the IBM Worklight Platform
• Deploy adapter and application components to the Worklight Console.
• Deploy mobile application binaries to the Worklight Application Center.
Test virtualization support for application deployment through integration with IBM Rational® Test Workbench and Rational Test Virtualization Server
• Enable continuous, integration testing and progressive deployments throughout the software delivery lifecycle for complex applications.
• Automate the creation of virtual test environments as part of the end-to-end, DevOps process. Enables teams to establish a virtual system pattern with automated deployment to standardize and share test environments quickly and easily across projects and teams.
• Increase the frequency of releases by testing earlier in the development cycle and deploying reliably to pre-production and production environments.
Support for application deployments to Cloud (including integrations with SmartCloud Provisioning, SmartCloud Orchestrator, Workload Deployer, and PureApplication System)
• Accelerate application development-test by continuously provisioning environments and deploying developed applications.
• Rollout applications faster to virtualized production environments
Integrations with Application Lifecycle Management solution
• Artifact repository integration with Rational Asset Manager
• Support for Rational Quality Manager to execute test-cases
Support for Chef recipes to provide infrastructure-as-code scripting for environment provisioning
UrbanCode Deploy Automatic deployment of mobile applications to the MobileFirst Platform
Ability to orchestrate and automate the deployment of applications, databases and configurations into development, test and production environments, helping to drive down cost, speed time to market with reduced risk
UrbanCode Deploy provides capabilities that:
• Automate deployments
• Automate processes via a visual process designer.
• Provide plug-in actions for application containers, web servers, mobile application platforms, network devices, database deployment, and so on.
• Model environments and deployment targets.
• Enforce application quality gates for environments.
There are open source plugins to UrbanCode Deploy that the tools can coexist.
Slide Source: Devops - 3 slides.ppt