rug-asia - alm

23
Rational Users Group APPLICATION LIFE CYCLE CHALLENGES Topic : WHY SHOULD YOU CARE ABOUT APPLICATION LIFE CYCLE CHALLENGES IN ORGANIZATIONS ? Suresh Krishna Madhuvarsu Software Engineer, Blogger; Author www.sureshkrishna.com

Upload: suresh-krishna-madhuvarsu

Post on 24-May-2015

440 views

Category:

Technology


2 download

DESCRIPTION

Presentation to Rational Users Group on May 4th 2011.

TRANSCRIPT

Page 1: 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

Page 2: RUG-Asia - ALM

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

Page 3: RUG-Asia - ALM

Introduction12 Years in SW Industry

◦Automotive◦Internet◦Enterprise Solutions

Productivity Tools, IDEs, SDKs and API Development

Bangalore Stuttgart Hyderabad San Francisco

Page 4: RUG-Asia - ALM

Why past ?

Page 5: RUG-Asia - ALM

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

Page 6: RUG-Asia - ALM

Why past ?Scientific and Defense

CommunityBusiness Systems

◦ERP/CRM◦B2B◦B2C

Interconnected DevicesUniversal usage (Business,

Governance, Retailing, Utilities, Education, Automotive, Scientific, etc…)

Page 7: RUG-Asia - ALM

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

Page 8: RUG-Asia - ALM

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)

???

Page 9: RUG-Asia - ALM

Process EvolutionCost and Budget OverrunsIndustrial SafetyModel Driven DevelopmentSoftware Product LinesFeature Based DevelopmentCapability and Maturity Model

(CMM)Agile / SCRUM / TDD… many more …

Page 10: RUG-Asia - ALM

Multi-dimensional Complexity HW Improvements SW Improvements IDE Evolution Process Evolution

Page 11: RUG-Asia - ALM

(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

Page 12: RUG-Asia - ALM

(My) User Story

Requirements

Architecture

Functional Design

Coding

Unit Testing

Integration Testing

System Testing

Tools Everywhere!

Page 13: RUG-Asia - ALM

(My) User StoryIntegration ChallengesTechnology ChallengesPersonnel ChallengesUser Experience ChallengesLong-term Strategy

Page 14: RUG-Asia - ALM

Possible Solutions

Page 15: RUG-Asia - ALM

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 …

Page 16: RUG-Asia - ALM

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.

Page 17: RUG-Asia - ALM

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

Page 18: RUG-Asia - ALM

Jazz – Rational Team Concert

Page 19: RUG-Asia - ALM

Jazz – Rational Team Concert

Page 20: RUG-Asia - ALM

Jazz – Rational Team Concert

Page 21: RUG-Asia - ALM

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.

Page 23: RUG-Asia - ALM

Q & A