The term means different things to different people. The concept of Web 2.0 began with a conference brainstorming session between O’Reilly and MediaLive International in 2004 The phrase Web 2.0 hints an improvement form of the World Wide Web. Web 1.0 is about broadcasting. Web 2.0 is a peer model. Emphasising tools and platforms that enable users to participate and actively contribute on the Internet. E.g. tag, blog, comment, modify, rank, etc. As opposed to the old one-way communciation model.
4 important principles of Web 2.0 Harness Collective Intelligence – create value via collective contributions, e.g. tagging images in flickr, wiki, ebay, amazon,
Rich User Experience – Rich UI, various devices (not just PC), customisation such as myYahoo, facebook, mySpace, google homepage allows companies to address the long tail.
End of Release Cycles – short cycles, there is no versioning on the web. Users must be treated as part developers, as they will make changes to data and applications. Web crawlers of Google and Yahoo keeps going so there is no versioning. Lightweight Programming models – AJAX does not require a whole page to refresh, REST does not need the whole SOAP web service stack, RSS simply get the data out there without worrying about presentation.
IBM plays a key role in 3 areas: 1. Via the Rational brand, IBM provides the technology to help software professionals to manage design and build Web 2.0 projects. As we will see later down the track, it also leverages the power of Web 2.0 to do that.
2. IBM provides platform that enables the social networking facet of Web 2.0 – The Lotus brand is all about corporate-ready tools for collaboration.
3. Research and Development into where Web 2.0 is going – e.g. SecondLife and gaming.
IBM site in SecondLife. There are a number of corporates established existence on SL. SecondLife has an economy of its own. CircuitCity is selling their products on SecondLife, earning Linden Dollars. I forgot to mention that Linder Dollars can be exchanged to USD, just like how NZD can. Innov8 - IBM has developed a business process simulation training tool, delivery education on SL. IBM is carrying out researches on how SL will benefit the corporate environment. Stats: Population 13 million residents This virtual world - don't call it a game - has become a phenomenon: Second Life, which is free for casual use, has about 334,000 regular visitors. More than 2.6 million have checked it out, a figure that in mid-January was growing by about 20,000 per day. A Second Lifer developed a gambling game called Tringo, a cross between Tetris and Bingo. It became so popular that it has been licensed for Nintendo's Game Boy advance. These days, about $600,000 is spent daily throughout Second Life, for an annual GDP of about $220 million.
We know that Web 2.0 is about harnessing collective intelligence. Software Delivery is also a process of harnessing collective intelligence of members in the software delivery team. Web 2.0 creates a wonderful world to users. They can collaborate and really create value together while enjoying the process because Web 2.0 tools made it easy for them. Are we taking advantage of it yet as software professionals? How do we know we are not leveraging 2.0 technologies in Software Delivery: A number of your tools work in silos. You use multiple tools for different task and you are manually copying and pasting data. E.g. Spreadsheet for requirement tracking, Document for requirements with links to other doc’s, Bugzilla for bug tracking, etc. Web2.0 = mashups that connect applications. A senior developer meet with an architect to discuss about a decision decision. and then they finally reached agreement and he wrote the meeting minute in a document, or you send him an email confirming what you discussed. Approval process is not enacted by software systems. Short release cycles means a lot of automation and flexibility – e.g. if you are doing Agile Development, you will know existing tools on the market are struggling to allow for a flexible iterative development process. No real time status reports can be drawn from systems There is no tool that cover the whole process. Different versions of truth if you look at different systems. If some of these sound familiar to you. You are not taking advantage of Web 2.0 yet. How does the new generation technology look like?
FB knows all these stuff. Web 2.0 software delivery tool should know them too. Plus more.
This is where Jazz comes in. Jazz: Eclipse established a desktop client integration model for individuals, Jazz will establish a similar integration model across the lifecycle of software projects Jazz will challenge us to think first about how people work together and then about the tool function needed by individual practitioners for specific roles Focuses on automating the unique dynamic of a team enhancing productivity by enabling real-time collaboration, visibility and transparency across the team, and process enactment The value of Jazz: Traceability of relationships between artifacts Correlating life-cycle artifacts like requirements, models, source code, build scripts, and test cases helps demonstrate that the software has delivered functions as the business wanted it to.3 Internal and external compliance requirements, as well as the increasing need to coordinate development across roles, locations, and organizations, make traceability more of a necessity than an ideal.4 For most organizations, traceability is a manual process. The problem isn’t just the size of projects; it’s also the number, the varying size and scope, and the artifact interdependencies. Managing dependencies between high-priority change requests and ongoing application development efforts “sometimes seems like it isn’t humanly possible,” reports one healthcare company. Automation of high-level processes Development organizations commonly employ paperbased approval processes to control handoffs between functions like analysis and design or build and testing. ALM improves efficiency by automating these handoffs and storing all associated documentation. One financial services firm we spoke with estimated that automating of builddeploy- test processes would save each of its developers an hour a day. Executable process descriptions — process models that correspond to actual automated processes — are a real boon for the many shops that have a “Book of Process” that sits on the shelf and is largely ignored. As one firm put it: “We had a consulting company define a methodology for us. We still have it on a shelf somewhere. A process needs to live in the tools we use if it’s ever going to be followed.” Right-size governance: You don’t have to set your process in stone at the beginning of a software delivery project. You are able to fine-tune your governance process over time, and Jazz is flexible to accommodate changes in the process. Providing visibility into the progress of development efforts Most managers have limited visibility into the progress of development projects; what visibility they have is typically gleaned from subjective testimonials rather than from objective data. A bank we spoke with told us: “We do progress reporting the same way we’ve been doing it for 40 years. It’s all manual: weekly status meetings, progress reports, demonstrations. We’d love to get test results from nightly builds posted somewhere. Collaborate in context Jazz maintains relationship between artifacts so that you don’t have to, such as keeping track of software code and the bill-of-material in a particular build. Choose your own path An open and extensible architecture is designed to give you the flexibility to assemble your own software delivery platform, relying on your preference Biz value: Accelerate time to value : Steer projects iteratively and integrate/test continuously to cut downstream scrap and rework Improve project predictability : Real time instrumentation of changing work products for lifecycle assessment of progress and quality Extract organization value and knowledge : Balance existing reusable assets with evolving user needs and employ know-how and skills from anywhere in a collaborative development environment. Right-size development governance : Dynamically adapt process agility and level of process rigor to be commensurate with the uncertainty in the estimate to complete. Focus value to the business : Link work and artifacts across the lifecycle to optimize economic outcomes Improve effectiveness in a globally and organizationally distributed environment : through improved transparency, best practices capture and enactment, project dashboarding
Jazz is not a product. It is a standard platform. Rational Team Concert is a flexible, low footprint application lifecycle management offering optimized for Agile development teams. The first in a family of planned Rational Team Concert offerings and extensions to existing products enriching the collaborative, team-savvy nature of the Rational Software Delivery Platform Key points: RTC allows you and your team to collaborate in context of work, whether you are all in the same room or geographically distributed. RTC is a layer that connects your artifacts in the SDLC, so that you don’t have to keep track of it. It gives you one version of truth and ability to report on how we do over the SDLC RTC is one tool for SCM and Build. Its open architecture means that you can connect to other open source tools. Native support for iterative development, e.g. Agile. Low admin footprint
Que fait jazz? Jazz permet la collaboration en temps réel de l’équipe Par exemple, le “Team Central” montre Ce qui se passe au niveau de votre projet: Nouvelles (flux RSS) projet ou internets, Statut des derniers builds Les taches a venir Les changements réalisés Événements (configurable) Cette IHM est configurable en fonction de vos besoins Il est aussi possible de voir qui travaille sur quoi a une instant T Comme nous le verrons dans le transparent suivant, chaque membre de l’équipe peut indiquer ce sur quoi il travaille au moment ou il commence une nouvelle activité…
Un des points fort de Jazz: La gestion du process En plus d’etre documente, le process automatise certaines taches et en guide d’autre Il est ainsi possible de definir le process de son equipe (par exemple en utilisant “Rational Method Composer” ou ”Eclipse Process Framework”) Il est aussi possible de definir les artefacts a manipuler par l’equipe, les roles, les taches Et prochainement les regles de fonctionnement Cette premiere copie d’ecran presente une copie statique car actuellemet nous utilisont encore un formalisme XML pour decrire les process… A chaque etape du process, des regles de coherence, completude, … sont activee pour garantir la qualite du code fournit.
Web 2.0 enabled users to create value collectively as well as enjoy the process Apply it to software delivery Rational Team Concert is a low-footprint, flexible application lifecycle management system, optimised for Agile development and small medium development teams. If you would like your team to benefit from the Jazz advantage, get in touch with Jono or myself.
It’s time to join the League of Extraordinary Software Development Professionals at the 11 th annual Rational Software Development Conference, which will be held on June 1 – 5, 2008 at the Walt Disney Dolphin & Swan Resort. This is the premier event where software development professionals come to learn how to heroically team with each other and IBM Rational to combat the evil forces of information isolation, data overload, poor processes, and barriers to distance and language. Winning in today’s geographically distributed world takes more than just individual heroics. It takes Collaboration! Effective Organizational Ability! Teamwork! For more information on the tracks and or to register at www.ibm.com/rational/rsdc
Software Delivery in the Web 2.0 Style
Software Delivery in the Web 2.0 Style Alan Kan, IBM Rational Technical Specialist [email_address]
Agenda <ul><li>Web 2.0 </li></ul><ul><li>IBM’s Involvement in Web 2.0 </li></ul><ul><li>Software Delivery in the Web 2.0 Style </li></ul><ul><li>The Latest Rational Technology </li></ul>
Software Delivery before Web 2.0 Era <ul><li>You are the connection between tools and artifacts </li></ul><ul><li>Your meeting minute is a standalone document </li></ul><ul><li>Approval is a standalone email </li></ul><ul><li>Difficult to cope with daily release cycles </li></ul><ul><li>Project manager rings to see whether you have fixed a defect </li></ul><ul><li>Bill-of-Material in a build being different from its documentation </li></ul>
Imagine Web 2.0 in Software Delivery <ul><li>Your SD tool should know… </li></ul><ul><li>… about your teams </li></ul><ul><li>… about your artifacts </li></ul><ul><li>… who is responsible for what </li></ul><ul><li>… about your process </li></ul><ul><ul><ul><li>Code delivery rules, code quality, traceability, test runs, intellectual property </li></ul></ul></ul><ul><li>… how to help new team members get started </li></ul><ul><li>… your favorite work item types and their state transitions </li></ul><ul><li>… when the build runs and what to do if it breaks </li></ul>FB knows… … about your friends … about your photos and videos … who has turned you into a zombie … what to do when you drop-kick a friend
What is Jazz? Collaboration Enables teams to collaborate in real time in the context of the work they are doing. Automation Enables custom process enactment via process automation & definable checkpoints. Visibility Provides visibility into accurate current project health information drawn directly from actual work across the team. Traceability Automates traceability and auditability by managing artifacts and their inter-relationships across the lifecycle. Jazz is IBM's next-generation technology platform for collaborative software delivery. Uniquely attuned to global and distributed teams, the Jazz platform is designed to transform how people work together to build software —making software delivery more collaborative, productive and transparent.
Rational Team Concert (Powered by ) Process Automation & Guidance Team Advisor Team Central RSS Personalized Work Items Open Architecture Iteration Planning and Execution Agile SCM and Build
Team Artifacts Navigator <ul><li>Project and team artifact access </li></ul><ul><ul><li>Centralized access for artifacts </li></ul></ul><ul><ul><li>All repositories, subscriptions </li></ul></ul><ul><ul><li>Drill down into builds, plans, reports, teams, etc </li></ul></ul>
Iteration Planning and Execution <ul><li>Integrates planning with execution </li></ul><ul><li>Easily see what needs to be done, what is being worked </li></ul><ul><li>Real-time window on project status </li></ul><ul><li>Based on data collected in real-time </li></ul><ul><li>from actual development work. </li></ul><ul><ul><li>Always accurate. </li></ul></ul><ul><ul><li>No extra effort required to gather data </li></ul></ul>
In Context Collaboration <ul><li>Team Central </li></ul><ul><ul><li>Shows what is happening on project </li></ul></ul><ul><ul><ul><li>News & events </li></ul></ul></ul><ul><ul><ul><li>Build status </li></ul></ul></ul><ul><ul><ul><li>What’s being worked on </li></ul></ul></ul><ul><ul><ul><li>Changes </li></ul></ul></ul><ul><ul><li>Configurable (RSS feeds) - New kinds of information easily added </li></ul></ul><ul><ul><li>Personalizable - Each team member can tailor to their needs </li></ul></ul><ul><li>Team Awareness </li></ul><ul><ul><li>Shows team members and their online status </li></ul></ul><ul><ul><li>Shows what the team is working on </li></ul></ul>
Sharing Change Sets <ul><li>Changes can be shared with other team members before committing to the repository </li></ul><ul><ul><li>Aids in code reviews, discussions, informal communication between team members </li></ul></ul><ul><ul><li>Prevents “in process” work from having to be added to the official record of the project just to have a discussion </li></ul></ul><ul><ul><li>Accelerates progress by improving communication </li></ul></ul>
Enables Process Automation and Guidance Using “Rational Method Composer” or “Eclipse Process Framework” <ul><li>Team Advisor </li></ul><ul><ul><li>Rules can be run when delivering changes to enforce team or organizational standards </li></ul></ul><ul><ul><li>Helps ensure higher quality results through enforcement of agreed-upon standards </li></ul></ul><ul><ul><li>Rules are configurable </li></ul></ul><ul><ul><li>“ Quick Fixes” can be specified to simplify corrective action </li></ul></ul><ul><ul><li>Process rules can be defined, refined “on the fly”, enabling continual improvements </li></ul></ul>
Team Build <ul><li>A Build is a first-class object </li></ul><ul><ul><li>Associated build results, tests </li></ul></ul><ul><ul><li>Full navigability to all artifacts contributing to a build, directly or indirectly </li></ul></ul><ul><li>Build engine is “pluggable”: </li></ul><ul><ul><li>Jazz Build Engine, </li></ul></ul><ul><ul><li>CruiseControl, </li></ul></ul><ul><ul><li>BuildForge,… </li></ul></ul>
Web client <ul><li>Web access using AJAX technology for a rich client style of interaction </li></ul><ul><li>External stakeholders or occasional users can get access to information without a “rich client” </li></ul>
Summary <ul><li>Web 2.0 </li></ul><ul><li>IBM’s Involvement </li></ul><ul><li>Jazz </li></ul><ul><li>Rational Team Concert – Application lifecycle management in Web 2.0 style </li></ul><ul><li>For more information – contact Alan or Jono </li></ul>
Register today with discount code “HDDE” and receive $100 off your registration fee! Visit www.ibm.com/rational/rsdc for more information IBM Rational Software Development Conference 2008 June 1 – 5, 2008; Orlando, Florida <ul><li>CONFERENCE HIGHLIGHTS: </li></ul><ul><li>Over 3,000 customers and partners </li></ul><ul><li>Over 300 sessions – 14 tracks </li></ul><ul><li>Executive Summit 2008 </li></ul><ul><li>3- and 5-hour Technical Workshops </li></ul><ul><li>Access to IBM Engineers </li></ul><ul><li>and IBM Research </li></ul><ul><li>Keynotes with industry-leading experts </li></ul><ul><li>Exhibit hall showcasing complimentary </li></ul><ul><li>product and services </li></ul><ul><li>Unlimited networking opportunities </li></ul><ul><li>IBM Solution Center </li></ul><ul><li>Interactive Birds-of-a-Feather Sessions </li></ul>
Rational Team Concert (Powered by ) Support for RSS and Atom Feeds Integrated with Work Items Integrated “entry level” Build System Team Central View Process Entactment WebUI for Work Items Integrated SCM Supports parallel development Streams for projects Based on Eclipse IDE Support for iteration plans based on Work items