Agile Practices and Rich Enterprise Applications

<script type="text/javascript">tweetmeme_url = 'http://blogs.oracle.com/develop/2010/09/agile_practices_and_rich_enterprise_applications.html';</script> <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"> </script>
Share <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
Wednesday's Oracle Develop Keynote began with Ryan Martens, Founder and Chief Technology Officer, Rally Software, exploring "The Linchpins for Scaling Software Agility."  Rally Software provides both a software service application set, and agile courses.

www.rallydev.com
rallydev.com/agileblog
ryan@rallydev.com
@RallyOn

As a slow food movement advocate, with a 2,000 sq/ft garden at his home in Colorado, Martens made the unique analogy between canning salsa and developing software.

Thumbnail image for Thumbnail image for PastedGraphic-2.jpg


Given a big batch of tomatillos and onions and chiles, the temptation is to "take a big batch of that stuff and start making it on the stove, and once it's stewed on the stove, put it in the hot jars, and then cap them and put them in a water bath to sterilize them and create a vacuum."  According to Martens, that's the tempting process, but the wrong one.  Instead, he and his wife work in a continuous slow process, with a little bit of tomatillos, a little bit of onions and chiles.  Because the constraint of the canning process is at the end, during the water bath – not too different from the constraints of the traditional software development process.

Martens detailed his background in and passion for software agility. He's worked for a number of  companies, from a Chinese wool importer, to US West Communications.  At the latter, he developed a rhythm of six week deliveries, regularly sitting down with customers.  "With Rally, we wanted to figure out how to bring the power of small teams and XP processes to large enterprises and big systems developers."

The ideal agile team, he explained, involves small, regular releases and visibility of the development process, from the building-code level all the way up to the program level.  Visibility provides the confidence that the process is on track.  Getting back to his canning analogy, Martens noted that traditional large development release cycles of 18 months or more result in stale requirements and old technologies. "Your onions are sitting on the table getting dry."

PastedGraphic-3.jpg



"That's a queuing theory problem, and that's what agility attacks," said Martens, "We've got patterns for how to deal with this.  The agile community has adopted XP as a concept and SCRUM as a concept, to lighten-up the development process."

SCRUM: http://en.wikipedia.org/wiki/Scrum_(development)
XP: http://en.wikipedia.org/wiki/Extreme_Programming

The physics of why SCRUM works, Martens continued, is because you are limiting your work in process, limiting your batch size, which ensures that it moves faster through the system, while limiting bottlenecks.

PastedGraphic-4.jpg

And a key part of the process is visibility at all levels of the development process, including the mindset of 'safe to fail' releases.  In this way, you can quickly and safely experiment with new things.  And an important aspect of this is 'releasing dark,' releasing features into production, but not turning them on for the entire user base. Martens recommends an ultimate development goal of one-week production cycles. The guiding idea is a smooth flow of software through the system with small teams and continuous deployment. Fast feedback and dark releases are the tools and techniques that allow production to deliver very quickly.

PastedGraphic-5.jpg


Martens and Rally use Oracle Enterprise Server and JavaFX to maximize their agile development processes.  A demo by Stephen Chin, Agile Executive and Java Champion, highlighted software development "stories" and their flow through the product development life cycle using Rally web service APIs and JavaFX.

In conclusion, Martens pointed attendees to Rally Software's "Learn Agile" online center:
http://www.rallydev.com/learn_agile/.  He also urged sampling their free Rally "Community Edition," and Oracle JDeveloper, along with visiting Oracle booth, Moscone W-195, for a live demo.

Next to take the stage was Ted Farrell, Chief Architect and Senior Vice President, Tools and Middleware, Oracle.  In a nod to agile development practices, Farrell directed attendees to Oracle's Team Productivity Center, which is a new application life cycle management tool integrated into JDeveloper, and now available for viewing at the Oracle Develop/JavaOne Demogrounds.

http://www.oracle.com/technetwork/developer-tools/tpc/overview/index.html

Farrell presented an overview of the remarkable changes and evolutions in technology interfaces.  The current landscape includes AJAX and Web technologies, Adobe Flash, Microsoft's Silverlight, PHP apps on Facebook, etc.  He noted that Union Pacific, an Oracle customer, still uses train tracking software written in assembler in the 1960's.  All that has changed over the years has been the UI logic to access that functionality.  Given this endless evolution of UI technologies, the big challenge for any company is deciding what technology to commit to.  Second to that, in an era of diverse technology devices, is committing to a delivery mechanism for any given application.

The goal of JDeveloper, ADF, and WebCenter, is to allow developers to to build services once, and then be able to reuse that across multiple devices and users offering that data to whoever needs it, and in whatever form they need it.  For that reason, Oracle ADF offers a declarative environment that is abstracted from the specifics of a particular underlying technology.

PastedGraphic-8.jpg


Such declarative development offers insulation from unpredictable technology evolutions.  ADF simply provides additional frameworks as new technologies come into being, adding capabilities without the developers ever explicitly changing the UI.  And the ADF UI components are capable of figuring out what they need to do in a given situation (such as a low bandwidth environment where heavy animated graphics would not be an option).

In a demo, Farrell detailed accessing an online automobile insurance site, which, in this case, happened to be AJAX-based, but also included Flash components.  He entered text detailing the nature of his fictional accident, and was even able to mark the physical location of the damage on an image of the car.  Then, he was able to check a map in terms of appraisers and their locations.  "This is just a component," he noted.  "You're dealing with the attributes of the component, and we're taking care of the rendering."  Selecting a given appraiser, he then sent out a push message to the appraiser's cell phone, registering an appointment.

Farrell then focused on the mobile space.  For many industries, he noted, mobile development is a luxury they can't afford, requiring a separate set of skills and development environment, and often the rewriting of business logic from the enterprise application.

PastedGraphic-6.jpg


But Oracle ADF also addresses this need, offering a JSF-based mobile browser.  "It's the same server, same infrastructure, same life cycle, same developer skills, and same tooling," said Farrell.  "You're just creating a specific use case that's going to be targeted for the mobile phone."

http://www.oracle.com/technetwork/developer-tools/adf/overview/adf-mobile-096323.html?ssSourceSiteId=ocomen

Meanwhile, Oracle's ADF Mobile Client product, now in developer preview, offers a native, disconnected mobile solution.  "This is Java technology running on the device itself," he explained.   Here again, the same developer skills and tools are involved.  And with facilities like mobile sync and transaction replay service, an intermittently connected native mobile application can update with the server whenever it is connected.

http://blogs.oracle.com/mobile/2010/04/adf_mobile_client_developer_preview_announced.html

Finally, with ADF Desktop Integration, a new feature of JDeveloper, enterprise data can be delivered to desktop office applications such as Excel, providing enterprise data to business users primarily familiar with such applications.

http://blogs.oracle.com/jruiz/2009/07/introduction_to_adf_desktop_in.html

"The goal," Farrell concluded, "is multi-channel development, single programming model.  To get all of these capabilities into your application without driving yourself crazy with specialized skill sets or specialized tools or specialized runtimes."  Developers can achieve this while not understanding Flash or JavaScript or Silverlight. They do it declaratively, and the component library takes care of the rest.  And this can even include providing accessibility features for the blind, in which UI components are delivered to a table that can be read by a screen reader.

PastedGraphic-7.jpg







Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

bocadmin_ww

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today