Agile India 2005 (Pune)

Overview of Agile
A gentle introduction to Agile. The objective of the talk is to introduce the core values and principles of Agile.

Naresh Jain and Anand Joglekar

Agile way of Implementing CMMI
CMMI has a set of Specific and Generic Practices that leads to achieving some GOAL. Agile is a methodology, that can be useful in implementing the CMMI Specific Practices(SP- to a moderate extent) and Generic Practices(GP- to a high extent).
My Presentation shall focus on the efficiency and effectiveness impact of using the Agile for implementing cmmi. Specifically the GPs can be implemented in a much more faster with lesser operational overheads saving adequate time for the project teams.

Hitesh Sanghavi

TDD Workshop using JUnit
Test Driven Development Hands on Session. We'll be using Java and Eclipse to run the workshop.
Prerequisite: The participants need to have a good exposure to object oriented programming with Java

Parag Gokhale

Design Driven Development
Agile processes like Extreme Programming (XP), widely touted for their developmental efficiency and code quality, also their focus on close collaboration between customer team and development team. But it doesn't address, how exactly does the customer team arrive at appropriate functionality to implement? When and how the user and usability come into picture? What is the role of design and designers? This presentation focuses on using a User Centered Interaction Design approach, to select appropriate functionality, and then feed it forward into an agile development environment.

Henry Jacob

Automated Testing Framework
After using existing automated testing frameworks with our web based product we at PharmQuest decided to build our own Functional Testing Framework based on our experiences and lessons learnt. In this presentation we explain the rationale and architecture of the framework, which itself was developed using agile practices.

Glenny Thomas and Parag Shah
Automation in Xp - Why and How?
Automation in XP projects has not received enough focus or attention.
Automation is a key prerequisite - enabler - of Agile processes.
Automation should not be limited only to developers and should be extended to any task that is a drudgery and boring. When these tasks are automated a team member be it an Analyst, a QA or a Developer can be freed to work on more creative tasks that add business value. That way automation becomes a cog in the wheel of a XP project.
We further discuss a few automation tools and would like to demonstrate how simple tools can help automation.

Anand Joglekar and Sudhindra Rao
Introduction to Extreme Programming 2 (XP2)
This would provide an introduction to XP to begin with, and then move on to explain What is new in XP2 and a bit comparison of these features as compared to XP1. We would discuss the different primary practice, corollary practices of XP2 and how it can impact current XP teams.

Venkatesh Krishnamurthy and Mohan Kumar

Lightweight record and play web testing tool - Sahi
Sahi is a simple, easy to use tool for record and playback of web based applications.
Apart from being a QA tool, Sahi allows developers to actively participate in functional testing. It helps in reproduction of bugs and in automating repetitive web sequences.

The presentation aims to showcase the capabilities of Sahi and the role that Sahi can play in a project life cycle.
Sahi was developed due to a need felt for easy reproduction of bugs. It developed into a full fledged web testing tool with feedback from QAs.

V Narayan Raman
XP Planning Game
The XP Planning Game is a playful way to familiarize the players with some of the more difficult concepts of the planning in XP, like velocity, story estimation, yesterdayís weather and the cycle of life. Anyone can participate. The goal is to make development and business people work together, they both play both roles. Itís especially useful when a company starts adopting XP.

A few ThoughtWorkers
Business Architecture for the Agile Enterprise
Global servicing outsourcing is throwing up new opportunities for Indian companies grab. However, software companies are realizing that they must be AGILE, to manage the double whammy - volatile customer expectations and a challenging people availability scenario.

India's erstwhile strengths i.e. "low cost destination" and "CMMi " are no longer valid. Except maybe for companies with really deep pockets. In any case, these cannot be the basis of a sustainable strategy.

In particular, small and medium sized companies must embrace AGILITY as their competitive weapon.

AGILE programming methodologies, provide a sound basis for delivering customer value, in highly dynamic business environments. The ability to deliver good software, quickly; is only part of the prescription. The real challenge is to institute MANAGEMENT PROCESSES that deliver BUSINESS VALUE to all stakeholders - customers, employees and shareholders.

This paper discusses how concepts like WORK BREAKDOWN STRUCTURES, EARNED VALUE MANAGEMENT and the UNIVERSAL MEASUREMENT FRAMEWORK© provide the building blocks, to construct the BUSINESS ARCHITECTURE, to define, measure and deliver BUSINESS VALUE.

Ramesh Adavi

Software development - The Trekkers way
This is about my experience with Trekking and software development. I see a massive similarity between software development using Agile principles and trekking. Hence I would like to introduce Agile using trekking.

Naresh Jain

Agile principles and Quality certification
PharmQuest's journey towards quality certification without compramising agile development principles.

Parag Gokhale
Acceptance tests, the Agile way
The session would, with a brief background on acceptance testing, cover what we mean by acceptance testing in agile projects and the benefits of automating acceptance tests.

It would go on to cover the various available tools to help in automation, and then take a look at one such open-source tool used by us - FIT (Functional Integration Testing), its benefits and limitations, and how it can be used to keep track of the health of the application on a continuous, repetitive basis.

Vipul Garg and Ashish Kumar

Lean Software Development - Balancing Discipline and Agility
Software development is a critical industry in the world we live in today. The production system for software is governed by the discipline of software engineering. Software engineering has gone through the growing pains infancy, adolescence and is now begining to show signs of maturity that comes with an established discipline.

The evolution of software engineering can be categorized into three major paradigms:
craft production,
mass production and
lean production.

The first two decades of software development fall primarily in the craft production paradigm, in which the software developed was a unique product that was created by specialist developers, who in most cases were also the end users of the produced software. The learning associated with the development process resided primarily in the developer, and was shared within a small community of skilled artisans.

The subsequent three decades saw dramatic reductions in computation costs, and the resultant commoditization of software led to the adoption of the mass production paradigm. This period saw the emergence of compilers, integrated development environments, fourth generation programming languages, and most importantly discplined software development approaches. The extant process models and maturity assessment approaches have more often than not resulted in heavyweight approaches that are characterized by rigid processes and document centricity.

The lean production paradigm provides a means of getting the best of both the mass and the craft production approaches. Lean production has its roots in Japanese automotive manufacturing, and is often credited for the current dominance of the Japanses automotive industry. Lean as an operating philosophy is beginning to permeate mainstream software development; however, successful institutionalization of these principles and practices requires both a purpose driving the adoption of these principles and practices, as well as a significant change in the culture of the organization.

This talk addresses lean software development from the mission-critical embedded systems perspective through the use of case studies drawn from extant literature and ongoing research studies at the Lean Aerospace Initiative. An overarching framework for lean software development is presented, and two case studies covering different phases of the software development lifecycle are use to illustrate aspects of the framework. The framework is based on four key pillars: value based project management, eliminating waste through model-based system development, achieving perfection through integrated verification and validation, and continuous improvement through knowledge management. Each of the foundational concepts is discussed in depth, and the principles and practices associated with them are presented. Case A focuses on the requirements generation phase in the development of an embedded radar system. The project was staffed with a small co-located team that had several members working on multiple projects at the same time. The original project plan had a large amount of requirement reuse planned into it, however that vision was not actualized, and the plan was revised significantly at different points in the project lifecycle. The case highlights the challenges associated with requirements reuse, as well as the limitations of the earned value approach to project management. Case B is drawn from the literature, and focuses on the code generation and verification phases of an embedded control system. The project involved globally distributed teams that were developing a product for use in multiple geographic locations. The impact of external stakeholders on project success is discussed both from the value and the knowledge management perspectives. The ability to reuse software architectures and thereby minimize waste was one of key reasons for the successful completion of the project. While the project serves to highlight a lot of the successful aspects of using lean software development, the gaps in the adoption of lean provide interesting points of learning.

Jayakanth Srinivasan

Identifying Stories Tutorial/Workshop
Effective requirement gathering is a key to ensure successful delivery of software. In an Agile world, it is very important for the requirement gathering process to be inline with the development process. This session is intended introduce concepts of agile and how they are reflected in the story identification process, which is a sliver of the much broader overall requirement gathering process. It also provides hands on experience in identifying stories for a given business problem. We will start by discovering some key story best practices such as: small, testable, valuable, happy path and splitting by value. Then groups will apply these practices on a sample problem and discuss the results.

Umar Akhter and Rolf Russell

TDD Workshop using CPPUnit
Test Driven Development (TDD) starts with writing a test that fails first followed by some code to pass that test, some test and some code again in that order. This ensures that the program is test as it is developed incrementally. It works on a simple guarantee that all tests pass all the time. This tutorial aims at understanding various test mechanism available in CPPUnit through example programs.

Syed Nayeemuddin

Sausage Machine: Agile tuned for offshore co-development
Overview of Sausage Machine, an agile methodology tuned for large offshore co-development projects. Objective is to present a case study, elaborating how a domain centric project like Securities Services for BNP Paribas benefited from the agile offshore based co-development model. Also to provide an executive summery on "Why Agile and for Who".

Sagar Patankar and Jitendra Joshi

Managing Iterations
An overview of different activites that take place during an Iteration.

Naresh Jain

XP in ISO 9001 Environment: Experience Report
As agile methodologies are gaining mind-share in development communities, it is necessary to reconcile with the certification needs of organizations. In this experience report a process framework, Subex Development Process, will be discussed that can achieve both the objectives.

Abhay Das

A Smart Agile method for large-scale enterprise application development
Large scale enterprise application development continues to face challenges associated with changing requirements, incomplete requirements, poor or insufficient analysis of requirements and a lack of sufficient business focus. Developers need to extract requirements from users quickly and in just-enough detail. They must implement smart mechanisms to bridge the gap between changing requirements and system design. Existing agile methods address these issues; but often come under criticism for being suitable only for small projects executed by teams that are co-located in the same work area. Attempts to apply agile methods on large or distributed teams find that communication challenges get in the way of success. To be able to scale up to large-scale applications, the method should incorporate the nimbleness and pragmatism of code driven development and rigor associated with model driven approaches.

In this presentation, we will discuss our work on MAPAGILE - a smart agile method developed at TCS. We will present a demo of MAP-WayPointer- a tool for active and intelligent process guidance based on MAPAGILE

Dr. Smita Ghaisas

Introduction to Mock Objects
We will present the basic ideas behind testing with mock objects; attendees will then have an opportunity to put these ideas into practice.

Madhusudhan Rao and Conan Dalton

  Symbiosis Institute of Computer Studies and Research [SICSR],

2005-2017 Copyright © Agile Software Community of India
Website designed and hosted by Agile FAQs