SlideShare uma empresa Scribd logo
1 de 2
Baixar para ler offline
Proceedings of the International Conference on Advances in Cloud Computing (ACC-2012), July 26-28 2012, Bangalore, India.
Agile Practices and Cloud Computing in Software
Development
Raja Bavani
MindTree Ltd., India
raja_bavani@mindtree.com
Abstract— Cloud computing is one among the emerging areas
and evolving paradigms in IT industry. Some of the service
models under the umbrella of cloud computing such as ‘Software
as a Service’ (SaaS) and ‘Infrastructure as a Service’ (IaaS) have
become popular since 2005. The potential of cloud computing
for optimization of IT assets, sustainability and growth has
triggered businesses to embrace cloud computing as a strategic
theme over the recent years. Over the past decade, the adoption
of agile methodologies has been on the rise in our industry.
The objective of this paper is to explore the benefits of cloud
computing and agile practices in executing IT projects at optimal
costs and share our experience in executing a project at
MindTree for one of the global leaders in Electric and Energy
Management.
Keywords— Cloud Computing, Agile
1. Introduction
The term ‘Software as a Service’ appeared in a document
titled ‘Software as a Service: Strategic Backgrounder’
published in February 2001 by Software and Information
Industry Association, Washington, DC [5]. Even though the
original idea was based on the Application Service Provider
(ASP) model, it matured over the next several years by
encompassing architectural paradigms such as component-
based and service-oriented architectures. Eventually, the
acronym SaaS inspired industry experts in inventing IaaS
(‘Infrastructure as a Service’), and PaaS (‘Platform as a
Service’). Coincidentally, during February 2001, 17
methodology experts convened at ‘The Lodge’ at Snowbird
Ski Resort in the Wasatch mountains of Utah and defined
‘Agile Manifesto’ and ‘Agile Principles’.
2. Agile Methodologies
Agile Software Development and the breed of agile
methodologies (XP, SCRUM, DSDM, etc.) have gained
popularity since 2001. Primarily founded as methodologies
for software projects executed at a single location, agile
methodologies have started showing promising results in
multi-site projects too with many adopters and practitioners
across the globe. The core of agile methodologies is all about
delivering business value in short iterations in a sustainable
pace, adapting to the changing business needs. Agile
methodologies focus on early delivery of working software,
and consider working software as the primary measure of
progress [1, 3]. Agile teams create an environment that
responds to changes by means of being flexible and nimble.
According to the 2011 CHAOS Manifesto from the Standish
Group, Agile projects are successful three times more often
than non-agile projects.
3. Cloud Computing
The power of virtualization coupled with the initial
experiments done in grid computing coupled with service
orientation has opened up several opportunities in cloud
computing. According to the National Institute of Standards
and Technology, Cloud computing is an evolving paradigm.
In Jan 2012, the Open Group published the first cloud
computing standard called SOCCI (Service Oriented Cloud
Computing Infrastructure framework) and it outlines the
concepts and architectural building blocks necessary to
support SOA and Cloud initiatives. The IT community
expects to see new standards related to Cloud Computing over
the next five years. Meanwhile, some of the industry reports
indicate positive market trends as well as future opportunities
in cloud computing arena [2, 4, 6].
4. Agile and Cloud
Applying the design paradigms of cloud computing such as
service-orientation in software projects is fundamental to
building modern software products and applications. Also
executing such projects using agile practices is a practical
approach to deliver results. While doing so, there is an
opportunity to optimize costs by means of leveraging an
appropriate cloud infrastructure and setting up the
development, test and production environments.
Implementation of agile practices ensures early visibility in
projects and encourages teams to fail fast. This helps agile
teams make necessary course correction iteration after
iteration. On the other hand, cloud platforms ensure minimum
investment. By choosing cloud platforms project teams can
fail cheap. Consequently adherence to agile practices and
considering a cloud platform provides ‘fail-fast, fail-cheap’
advantage.
5. Case Study
This is about a software development project we executed at
MindTree for a global leader in Electric and Energy
Management domain. The objective of this project was to
create a platform to build an application store which can
Proceedings of the International Conference on Advances in Cloud Computing (ACC-2012), July 26-28 2012, Bangalore, India.
enable the sale and purchase of automation designs. We
envisioned this project in two phases on Microsoft Azure
platform using agile practices. In the first phase we planned
to release the application store platform to internal
departments and seek feedback and release an enhanced
version to the partners and customers. This was a new
concept for our customer and hence the preferred approach
was to invest prudently in this project. Hence planning for a
large capacity of infrastructure upfront was not an option. On
the other hand, we had to come up with an extensible
architecture which can provide access to worldwide users.
We formed a team of six comprising of an architect, two leads
and three developers. The tools and technology stack of this
project consisted of ASP.Net 4.0, Ajax Control Toolkit,
JQuery, Parallel Task Library (PTL), Microsoft Extensibility
Framework (MEF), Windows Communication Foundation
(WCF) 4.0, Windows Azure SDK 1.4, Web Role and Worker
Role, SQL Azure and Azure Storage. MindTree team came
up with a solution and design and our partnership with
Microsoft helped us in having our solution reviewed by
Microsoft team.
We started this project in the month of January 2011. With an
elapsed time of 18 weeks, we planned for 9 iterations of 2
weeks each. In order to execute this project meticulously, we
focused on requirement elicitation during the first 2 iterations.
From the third iteration we started delivering a pre-defined set
of functionality and demonstrated working software to
customer at the end of the iteration. We followed agile
practices and a simplified form of Scrum in order to suit the
project context. We gathered feedback at the end of iterations
through retrospectives and incorporated continuous
improvement in subsequent iterations. With this approach,
we delivered this project on schedule.
The team members were new to agile. For them managing
customer expectations and delivering working software in
short iterations was a new experience as well as a challenge.
From customer standpoint it was a meaningful and
comfortable journey as they were seeing working software
output every two weeks. This provided them visibility and
predictability on the progress of this project.
The objective of the next phase is to integrate this system with
the backend ERP systems of our customer in order to provide
applications store data to ERP systems. This is required to
generate purchase orders and customer bills. At the time of
writing this paper, a team of 9 engineers including one
architect and a technical lead is working on this phase.
6. Conclusions
Iterative and incremental development and agile practices
followed by agile teams enable visibility and predictability.
Cloud computing has opened doors for cost optimization in
the form of incremental investment in software projects.
When we combine cloud computing with agile practices we
can not only increase the success rate of projects but also
optimize the costs.
Acknowledgment
I wish to acknowledge my colleagues Krishnakishore
Bhavaraju, Badal Kotecha and Srinivas Rao Bhagavatula for
sharing their experience in leveraging the benefits of cloud
computing and agile practices in the case study discussed in
this short paper.
References
[1] Alistair Cockburn, Agile Software Development, Addison-Wesley,
2002.
[2] Federico Etro, The Economics of Cloud Computing, The IUP Journal
of Managerial Economics, Vol IX, No. 2, 2011.
[3] Jim Highsmith, What is Agile Software Development? CrossTalk, The
Journal of Defense Software Engineering, October 2002.
[4] Martin Tantow, Editor-in-Chief, CloudTimes.org, Cloud Computing:
Current Market Trends and Future Opportunities, June 2011.
[5] Software as a Service: Strategic Backgrounder, Software &
Information Industry Association, Washington, DC, Feb 2001.
[6] The Economics of the Cloud, November 2010, Microsoft.

Mais conteúdo relacionado

Mais procurados

EMC APAC State of Hybrid Cloud
EMC APAC State of Hybrid CloudEMC APAC State of Hybrid Cloud
EMC APAC State of Hybrid Cloud
Ai-Ling See
 
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Kevin Hancock
 
AAPT INDIA - Case Study
AAPT INDIA - Case StudyAAPT INDIA - Case Study
AAPT INDIA - Case Study
IOTAP
 
No sql now2011_review_of_adhoc_architectures
No sql now2011_review_of_adhoc_architecturesNo sql now2011_review_of_adhoc_architectures
No sql now2011_review_of_adhoc_architectures
Nicholas Goodman
 

Mais procurados (20)

TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexTechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
 
Adaptive Self-Service Cloud Option Helps RingCentral Optimize Big Data and Co...
Adaptive Self-Service Cloud Option Helps RingCentral Optimize Big Data and Co...Adaptive Self-Service Cloud Option Helps RingCentral Optimize Big Data and Co...
Adaptive Self-Service Cloud Option Helps RingCentral Optimize Big Data and Co...
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile Architecture
 
EMC APAC State of Hybrid Cloud
EMC APAC State of Hybrid CloudEMC APAC State of Hybrid Cloud
EMC APAC State of Hybrid Cloud
 
INT Inc | Benefits of a Microservices Architecture
INT Inc | Benefits of a Microservices ArchitectureINT Inc | Benefits of a Microservices Architecture
INT Inc | Benefits of a Microservices Architecture
 
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
 
Applying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureApplying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise Architecture
 
Introduction to Agile Architecture
Introduction to Agile ArchitectureIntroduction to Agile Architecture
Introduction to Agile Architecture
 
b-alien4cloud-en1_web
b-alien4cloud-en1_webb-alien4cloud-en1_web
b-alien4cloud-en1_web
 
Bring cloud on premises with a kubernetes-native infrastructure
Bring cloud on premises with a kubernetes-native infrastructureBring cloud on premises with a kubernetes-native infrastructure
Bring cloud on premises with a kubernetes-native infrastructure
 
Modern Databases for Modern Application Architectures: The Next Wave of Desig...
Modern Databases for Modern Application Architectures: The Next Wave of Desig...Modern Databases for Modern Application Architectures: The Next Wave of Desig...
Modern Databases for Modern Application Architectures: The Next Wave of Desig...
 
Practical operability techniques for teams - Matthew Skelton - Agile in the C...
Practical operability techniques for teams - Matthew Skelton - Agile in the C...Practical operability techniques for teams - Matthew Skelton - Agile in the C...
Practical operability techniques for teams - Matthew Skelton - Agile in the C...
 
Day 1: ICT Strategic Planning, Mr. Soufiane Ben Moussa, CTO, House of Commons...
Day 1: ICT Strategic Planning, Mr. Soufiane Ben Moussa, CTO, House of Commons...Day 1: ICT Strategic Planning, Mr. Soufiane Ben Moussa, CTO, House of Commons...
Day 1: ICT Strategic Planning, Mr. Soufiane Ben Moussa, CTO, House of Commons...
 
CISCO case study
CISCO case studyCISCO case study
CISCO case study
 
AAPT INDIA - Case Study
AAPT INDIA - Case StudyAAPT INDIA - Case Study
AAPT INDIA - Case Study
 
Virtualization apollo-group-phoenix-rises-study
Virtualization apollo-group-phoenix-rises-studyVirtualization apollo-group-phoenix-rises-study
Virtualization apollo-group-phoenix-rises-study
 
No sql now2011_review_of_adhoc_architectures
No sql now2011_review_of_adhoc_architecturesNo sql now2011_review_of_adhoc_architectures
No sql now2011_review_of_adhoc_architectures
 
How to choose tools for DevOps and Continuous Delivery - #doxlon
How to choose tools for DevOps and Continuous Delivery - #doxlonHow to choose tools for DevOps and Continuous Delivery - #doxlon
How to choose tools for DevOps and Continuous Delivery - #doxlon
 
Value Journal - March 2021
Value Journal - March 2021Value Journal - March 2021
Value Journal - March 2021
 
Webinar: Hybrid Cloud Integration - Why It's Different and Why It Matters
Webinar: Hybrid Cloud Integration - Why It's Different and Why It MattersWebinar: Hybrid Cloud Integration - Why It's Different and Why It Matters
Webinar: Hybrid Cloud Integration - Why It's Different and Why It Matters
 

Semelhante a Agile Practices and Cloud Computing in Software Development

IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docx
vrickens
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
Divya Watson
 
Taloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayTaloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle Essay
Marisela Stone
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
Jennifer Wood
 

Semelhante a Agile Practices and Cloud Computing in Software Development (20)

IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docx
 
PMC1
PMC1PMC1
PMC1
 
Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptx
 
Academic Resources Architecture Framework Planning using ERP in Cloud Computing
Academic Resources Architecture Framework Planning using ERP in Cloud ComputingAcademic Resources Architecture Framework Planning using ERP in Cloud Computing
Academic Resources Architecture Framework Planning using ERP in Cloud Computing
 
Creating a Cloud Architecture for Machine Learning and Artificial Intelligenc...
Creating a Cloud Architecture for Machine Learning and Artificial Intelligenc...Creating a Cloud Architecture for Machine Learning and Artificial Intelligenc...
Creating a Cloud Architecture for Machine Learning and Artificial Intelligenc...
 
Supercharging the Cloud for an Agile Enterprise
Supercharging the Cloud  for an Agile EnterpriseSupercharging the Cloud  for an Agile Enterprise
Supercharging the Cloud for an Agile Enterprise
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTING
 
Agile Corporation for MIT
Agile Corporation for MITAgile Corporation for MIT
Agile Corporation for MIT
 
Innovation Agile Methodology towards DevOps
Innovation Agile Methodology towards DevOpsInnovation Agile Methodology towards DevOps
Innovation Agile Methodology towards DevOps
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 
BENEFITS AND CHALLENGES OF THE ADOPTION OF CLOUD COMPUTING IN BUSINESS
BENEFITS AND CHALLENGES OF THE ADOPTION OF CLOUD COMPUTING IN BUSINESSBENEFITS AND CHALLENGES OF THE ADOPTION OF CLOUD COMPUTING IN BUSINESS
BENEFITS AND CHALLENGES OF THE ADOPTION OF CLOUD COMPUTING IN BUSINESS
 
Benefits and Challenges of the Adoption of Cloud Computing in Business
Benefits and Challenges of the Adoption of Cloud Computing in BusinessBenefits and Challenges of the Adoption of Cloud Computing in Business
Benefits and Challenges of the Adoption of Cloud Computing in Business
 
Taloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayTaloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle Essay
 
Upgrad industry project part 2
Upgrad industry project part 2Upgrad industry project part 2
Upgrad industry project part 2
 
internship paper
internship paperinternship paper
internship paper
 
Complementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile ArchitectureComplementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile Architecture
 
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CDMACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web Frameworks
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 

Mais de Raja Bavani (7)

Enhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital InitiativesEnhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital Initiatives
 
How to Build Effective Dashboards
How to Build Effective DashboardsHow to Build Effective Dashboards
How to Build Effective Dashboards
 
Industry Trends and Challenges of IT Professionals
Industry Trends and Challenges of IT ProfessionalsIndustry Trends and Challenges of IT Professionals
Industry Trends and Challenges of IT Professionals
 
Life after Graduation: Expecting the Unexpected
Life after Graduation: Expecting the UnexpectedLife after Graduation: Expecting the Unexpected
Life after Graduation: Expecting the Unexpected
 
Distributed Agile - Ten Guiding Principles
Distributed Agile - Ten Guiding PrinciplesDistributed Agile - Ten Guiding Principles
Distributed Agile - Ten Guiding Principles
 
Fixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsFixed Price Distributed Agile Projects
Fixed Price Distributed Agile Projects
 
Agile Evolution and Academic Impreatives
Agile Evolution and Academic ImpreativesAgile Evolution and Academic Impreatives
Agile Evolution and Academic Impreatives
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Agile Practices and Cloud Computing in Software Development

  • 1. Proceedings of the International Conference on Advances in Cloud Computing (ACC-2012), July 26-28 2012, Bangalore, India. Agile Practices and Cloud Computing in Software Development Raja Bavani MindTree Ltd., India raja_bavani@mindtree.com Abstract— Cloud computing is one among the emerging areas and evolving paradigms in IT industry. Some of the service models under the umbrella of cloud computing such as ‘Software as a Service’ (SaaS) and ‘Infrastructure as a Service’ (IaaS) have become popular since 2005. The potential of cloud computing for optimization of IT assets, sustainability and growth has triggered businesses to embrace cloud computing as a strategic theme over the recent years. Over the past decade, the adoption of agile methodologies has been on the rise in our industry. The objective of this paper is to explore the benefits of cloud computing and agile practices in executing IT projects at optimal costs and share our experience in executing a project at MindTree for one of the global leaders in Electric and Energy Management. Keywords— Cloud Computing, Agile 1. Introduction The term ‘Software as a Service’ appeared in a document titled ‘Software as a Service: Strategic Backgrounder’ published in February 2001 by Software and Information Industry Association, Washington, DC [5]. Even though the original idea was based on the Application Service Provider (ASP) model, it matured over the next several years by encompassing architectural paradigms such as component- based and service-oriented architectures. Eventually, the acronym SaaS inspired industry experts in inventing IaaS (‘Infrastructure as a Service’), and PaaS (‘Platform as a Service’). Coincidentally, during February 2001, 17 methodology experts convened at ‘The Lodge’ at Snowbird Ski Resort in the Wasatch mountains of Utah and defined ‘Agile Manifesto’ and ‘Agile Principles’. 2. Agile Methodologies Agile Software Development and the breed of agile methodologies (XP, SCRUM, DSDM, etc.) have gained popularity since 2001. Primarily founded as methodologies for software projects executed at a single location, agile methodologies have started showing promising results in multi-site projects too with many adopters and practitioners across the globe. The core of agile methodologies is all about delivering business value in short iterations in a sustainable pace, adapting to the changing business needs. Agile methodologies focus on early delivery of working software, and consider working software as the primary measure of progress [1, 3]. Agile teams create an environment that responds to changes by means of being flexible and nimble. According to the 2011 CHAOS Manifesto from the Standish Group, Agile projects are successful three times more often than non-agile projects. 3. Cloud Computing The power of virtualization coupled with the initial experiments done in grid computing coupled with service orientation has opened up several opportunities in cloud computing. According to the National Institute of Standards and Technology, Cloud computing is an evolving paradigm. In Jan 2012, the Open Group published the first cloud computing standard called SOCCI (Service Oriented Cloud Computing Infrastructure framework) and it outlines the concepts and architectural building blocks necessary to support SOA and Cloud initiatives. The IT community expects to see new standards related to Cloud Computing over the next five years. Meanwhile, some of the industry reports indicate positive market trends as well as future opportunities in cloud computing arena [2, 4, 6]. 4. Agile and Cloud Applying the design paradigms of cloud computing such as service-orientation in software projects is fundamental to building modern software products and applications. Also executing such projects using agile practices is a practical approach to deliver results. While doing so, there is an opportunity to optimize costs by means of leveraging an appropriate cloud infrastructure and setting up the development, test and production environments. Implementation of agile practices ensures early visibility in projects and encourages teams to fail fast. This helps agile teams make necessary course correction iteration after iteration. On the other hand, cloud platforms ensure minimum investment. By choosing cloud platforms project teams can fail cheap. Consequently adherence to agile practices and considering a cloud platform provides ‘fail-fast, fail-cheap’ advantage. 5. Case Study This is about a software development project we executed at MindTree for a global leader in Electric and Energy Management domain. The objective of this project was to create a platform to build an application store which can
  • 2. Proceedings of the International Conference on Advances in Cloud Computing (ACC-2012), July 26-28 2012, Bangalore, India. enable the sale and purchase of automation designs. We envisioned this project in two phases on Microsoft Azure platform using agile practices. In the first phase we planned to release the application store platform to internal departments and seek feedback and release an enhanced version to the partners and customers. This was a new concept for our customer and hence the preferred approach was to invest prudently in this project. Hence planning for a large capacity of infrastructure upfront was not an option. On the other hand, we had to come up with an extensible architecture which can provide access to worldwide users. We formed a team of six comprising of an architect, two leads and three developers. The tools and technology stack of this project consisted of ASP.Net 4.0, Ajax Control Toolkit, JQuery, Parallel Task Library (PTL), Microsoft Extensibility Framework (MEF), Windows Communication Foundation (WCF) 4.0, Windows Azure SDK 1.4, Web Role and Worker Role, SQL Azure and Azure Storage. MindTree team came up with a solution and design and our partnership with Microsoft helped us in having our solution reviewed by Microsoft team. We started this project in the month of January 2011. With an elapsed time of 18 weeks, we planned for 9 iterations of 2 weeks each. In order to execute this project meticulously, we focused on requirement elicitation during the first 2 iterations. From the third iteration we started delivering a pre-defined set of functionality and demonstrated working software to customer at the end of the iteration. We followed agile practices and a simplified form of Scrum in order to suit the project context. We gathered feedback at the end of iterations through retrospectives and incorporated continuous improvement in subsequent iterations. With this approach, we delivered this project on schedule. The team members were new to agile. For them managing customer expectations and delivering working software in short iterations was a new experience as well as a challenge. From customer standpoint it was a meaningful and comfortable journey as they were seeing working software output every two weeks. This provided them visibility and predictability on the progress of this project. The objective of the next phase is to integrate this system with the backend ERP systems of our customer in order to provide applications store data to ERP systems. This is required to generate purchase orders and customer bills. At the time of writing this paper, a team of 9 engineers including one architect and a technical lead is working on this phase. 6. Conclusions Iterative and incremental development and agile practices followed by agile teams enable visibility and predictability. Cloud computing has opened doors for cost optimization in the form of incremental investment in software projects. When we combine cloud computing with agile practices we can not only increase the success rate of projects but also optimize the costs. Acknowledgment I wish to acknowledge my colleagues Krishnakishore Bhavaraju, Badal Kotecha and Srinivas Rao Bhagavatula for sharing their experience in leveraging the benefits of cloud computing and agile practices in the case study discussed in this short paper. References [1] Alistair Cockburn, Agile Software Development, Addison-Wesley, 2002. [2] Federico Etro, The Economics of Cloud Computing, The IUP Journal of Managerial Economics, Vol IX, No. 2, 2011. [3] Jim Highsmith, What is Agile Software Development? CrossTalk, The Journal of Defense Software Engineering, October 2002. [4] Martin Tantow, Editor-in-Chief, CloudTimes.org, Cloud Computing: Current Market Trends and Future Opportunities, June 2011. [5] Software as a Service: Strategic Backgrounder, Software & Information Industry Association, Washington, DC, Feb 2001. [6] The Economics of the Cloud, November 2010, Microsoft.