RUG-Asia - ALM
-
Upload
suresh-krishna-madhuvarsu -
Category
Technology
-
view
440 -
download
2
description
Transcript of RUG-Asia - ALM
Rational Users GroupAPPLICATION LIFE CYCLE CHALLENGES
Topic : WHY SHOULD YOU CARE ABOUT APPLICATION LIFE CYCLE CHALLENGES IN ORGANIZATIONS ?
Suresh Krishna MadhuvarsuSoftware Engineer, Blogger; Author
www.sureshkrishna.com
Agenda Introduction Why past ? IDE Evolution (My) User Story Possible Solutions Q & A
* All pictures in this presentation are a courtesy of “Google Images”.* Jazz/RTC slides are courtesy of Jazz Team
Introduction12 Years in SW Industry
◦Automotive◦Internet◦Enterprise Solutions
Productivity Tools, IDEs, SDKs and API Development
Bangalore Stuttgart Hyderabad San Francisco
Why past ?
Why past ?1954 - FORTRAN1958 - LISP1958 - ALGOL 581959 - COBOL1964 - BASIC1967 - BCPL1969 – B1970 - Pascal1972 - C1972 - Smalltalk1972 - Prolog1978 - SQL1980 - C++1983 - Objective-C1983 - Ada1984 - Common Lisp1985 - Eiffel1986 – Erlang
1987 - Perl1988 - Tcl1990 - Haskell1991 - Python1991 - Visual Basic1993 - Ruby1995 - Java1995 - Delphi1995 - JavaScript1995 - PHP1999 - D2001 - C#2001 - Visual Basic .NET2002 - F#2003 - Scala2007 - Clojure2007 – Groovy
* This is not a comprehensive list of languages. Courtesy : Wikipedia
Why past ?Scientific and Defense
CommunityBusiness Systems
◦ERP/CRM◦B2B◦B2C
Interconnected DevicesUniversal usage (Business,
Governance, Retailing, Utilities, Education, Automotive, Scientific, etc…)
Why past ?Once upon a time… Now…
Scientific and Defense Universal Application
Small groups of engineers; experts in everything
Large teams specialized in work areas
Geographically less dispersed teams
Distributed teams in norm
Procedural and Structural Programming
Functional and Object Oriented Programming
Low level programming / Machine code
High Level Programming with higher abstraction
IDE EvolutionIBM Punch card machineTimesharing terminalTurbo Pascal (simple text menu screen, Wordstar-like editor, the
Pascal compiler, runtime library, run in memory and compile to disk)
Visual Basic, Delphi (allowed you to create forms by
dragging and dropping pre-built components. The components/objects contained properties, methods and events.)
Eclipse, NetBeans (programmable editors, code
refactoring engines, team collaboration systems, object and data modeling, build environments, debuggers, unit testing and static and dynamic analysis)
???
Process EvolutionCost and Budget OverrunsIndustrial SafetyModel Driven DevelopmentSoftware Product LinesFeature Based DevelopmentCapability and Maturity Model
(CMM)Agile / SCRUM / TDD… many more …
Multi-dimensional Complexity HW Improvements SW Improvements IDE Evolution Process Evolution
(My) User StoryAutomotive Software DevelopmentSystem + Application ProgrammingClose to 65 tools used across Component Based + Interface
Definition in XML + Implementation in C&H files
Migration across Automotive SW and HW platforms
Complex SCM Process for Automotive Manufacturers
(My) User Story
Requirements
Architecture
Functional Design
Coding
Unit Testing
Integration Testing
System Testing
Tools Everywhere!
(My) User StoryIntegration ChallengesTechnology ChallengesPersonnel ChallengesUser Experience ChallengesLong-term Strategy
Possible Solutions
Possible Solutions All the requirements should be at one place; I am happy to see the high level
requirements.
I want to have the traceability of the code (irrespective of a feature, improvement, bug or a task)
I would like to have the transparency of the tasks that i am working on
Each time a task or on issue is taken care of, i should be able to decrease my product backlog
Should be able to do all the CM related tasks (Locking, Branching, Merging, Diff, etc…)
Each commit that i do should be able to notify my team and managers by mail
I don’t want to be micro-managed. My manager should be able to get all stats that he wants by tools that use
I want to manage my release plan in a single tool and be seen by Developers, QA, Product Team, Customers, in short all my project’s stakeholders.
For a simple reason that SW Development deals with communication, i would like to have all the communication that happens on a requirement, features to be in a single place. I want to have a trail of all my threads or in other terms i want to have audit trail.
I should be able to know the load on each of my team members
I should be able to query depending on variety of parameters
For each release bucket, i should be able to know what % of tasks/work is completed
If yours is a CMM organization…. you have more requirements on the CM permissions, checkins, etc…
I should be able to get the release notes directly from a tool so that i can reduce my manual work in compiling the tasks, bugs, improvements and enhancements.
…. many more …
Possible SolutionsIndependent of SCM that you useIndependent of IDEs (?)Process IndependentA platform that any tool vendor
can provide tools on
We need a Platform; Not just an IDE.
Jazz – Rational Team Concert
A major investment by IBM to create a scalable, extensible team collaboration platform for seamlessly integrating tasks across the software lifecycle
Jazz – Rational Team Concert
Jazz – Rational Team Concert
Jazz – Rational Team Concert
Jazz – Rational Team Concert
Rational Team Concert integrates work item tracking, source control management, continuous builds, iteration planning, and highly configurable process support to adapt to the way you want to work, enabling developers, architects, project managers, and project owners to work together effectively.
Thanks for your Attention!Rational Team Concert Book
◦ Packt Publishing◦ Amazon
Contact◦ LinkedIn◦ Web Site◦ Blog
Q & A