SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
Agile Software Development Meets Corporate
  Deployment Procedures: Stretching the Agile Envelope

                                Olly Gotel1 and David Leip2

          Department of Computer Science, Pace University, New York (ogotel@pace.edu)
      1

           ibm.com Chief Innovation Dude and Agile Methods Advocate, IBM Hawthorne
          2

                                     (leip@us.ibm.com)



      Abstract. This paper describes a process initiative within IBM to make the
      Corporate Portal (ibm.com) development practices more responsive to changing
      customer needs and explains the bottlenecks that arose with application
      deployment when this agile approach was not initially extended throughout the
      wider solution delivery lifecycle. The paper details the simple process changes
      that were adopted to expand the agile philosophy beyond development.

      Keywords: Agile Deployment, Agile Development, Extreme Programming.




1 Introduction

The IBM Corporate Portal (ibm.com) is an application-driven website that advertises
and markets the products and services of IBM. Prior to 2004, the team responsible for
its development followed a “waterfall-like” approach, attempting to capture and
prioritize requirements for a new release before design and development. They found
that, while straightforward to agree on the main requirements, reaching agreement on
the complete set was problematic. Negotiations would introduce delays and slow
down releases to customers. A more agile approach was viewed as a pragmatic way to
tackle this issue; development would proceed from key requirements and additional
requirements would be determined and prioritized as the product evolved.
   In 2004, the IBM Corporate Webmaster’s team adopted an agile approach to
software development. The use of eXtreme Programming was trialed in the
development of a major release of ibm.com, culminating in its successful roll-out in
November 2004 [2]. The agile process has since been streamlined to develop and
deliver software that addresses evolving customer needs within a reduced timescale.
However, once a new release has been developed, it still has to be deployed to a
production environment to deliver a fully operational solution. The deployment
environment is maintained by a geographically distinct team. This team orchestrates
the deployment of multiple applications from across IBM, so their work is subject to
organizational-wide scheduling requirements and policies; the team has to ensure any
new deploys do not impact other deployment schedules and live applications.
   Limited improvements can be gained in end-to-end agility if there is a bottleneck
between the development of a product and its eventual deployment. While there is
advice on how to align agile with non-agile practices [3], there is less focus on
deployment [1]. This paper reports on the issues surrounding the alignment of agile
development practices with corporate deployment procedures and describes the agile-
spirited end-to-end process adopted for ibm.com.


2 Agile Development for ibm.com

The Corporate Webmaster’s team is responsible for developing and maintaining
ibm.com. The requirements for ibm.com change frequently, driven by new business
offerings, improvements in search engine technology, etc. Part of IBM Sales and
Distribution, the team comprises some 20 personnel, skilled in Java and XML/XSL
development, open and technical standards, and project management. The majority of
the team is based in New York State, with other members based in Asia and Europe.
   The deployment team is drawn from roughly 100 personnel within IBM Global
Services. This team runs the technology for IBM-sponsored events, like Wimbledon,
in addition to being responsible for the ibm.com infrastructure and operations. The
Webmaster’s team are hence one of a number of customers for the deployment team’s
services. The deployment team is responsible for estimating demand on servers,
understanding network traffic requirements for new or changing applications, network
settings and permissions, etc. They are also responsible for testing that new
applications meet non-functional requirements, do not compromise the performance
or availability of existing applications, and checking that applications are compliant
with organizational security policies. The team is based in Raleigh, North Carolina.
   The agile development process required the development team to work 7 week
release cycles, each cycle comprising 3 iterations of 2 week duration followed by a
week for deployment. Customer groups from across IBM submit high-level
requirements to be reviewed and prioritized based on business value. Selected
requirements are split into and/or reformulated as stories by customer representatives
and written on index cards. The stories are sized by the development team according
to the time they estimate they need to build the story and returned to the customer,
together with their estimated velocity for the iteration. Since the development team is
distributed, the velocity is for the extended team. The sizing is based on the expected
development effort (Java and XML/XSL), not on the associated deployment effort.
The customer selects stories to implement in the forthcoming iteration. This selection
process takes place every first Monday in a meeting at the start of each 2 week cycle.
Further interaction with the customer occurs as stories are clarified and developed,
and any elaboration is written on the back of the card. The extended development
team communicates via telephone and instant messaging during this time. Towards
the end of the iteration, the team performs user/customer acceptance testing.
   During this process, the deployment team should (ideally) be notified of any story
that may have a deployment implication. One scheduled call takes place every
Tuesday to give the deployment team an alert as to what may be coming through the
process and some indication of timeline. The first formal notification the team has is
when the development team submits a work request for a code review as a precursor
to deploying into staging. This occurs around the beginning of the third iteration (i.e.
week 5 in the cycle) but, as the development team began to take on more of the
responsibility for code review, this removed the necessity to put in such a request.
Once the application has been deployed, any issues are dealt with by the joint team.


3 Problem Description

A retrospective was undertaken at the end of 2004 and the benefits from the new
process were seen to be the increased level of communication between the customer
representatives and development team. Since the customers are able to determine and
prioritize requirements on a regular basis, they had more control over the product’s
direction. This retrospective revealed tensions, however, at the bottlenecks in
deployment. From the deployment team’s perspective, the last minute hand-over of
applications and expectation of a fast release into production indicated the developers
were not cognizant of the other demands on their time and corporate constraints.
   With the prior “waterfall-based” approach, the deployment team would receive a
requirements document and use this to plan and estimate their work for scheduled
deploys. Following the move to agile, this was replaced by paper-based story cards
and the team would often only find out about deployment requirements with the
request to deploy into staging. When this request came late, the seventh week in the
overall cycle would get stretched, leading to delays; the deployment team could not
abandon other work to accommodate this. With the move to agile there had been little
focus on the processes required to manage the transition of products from the
development environment to the corporate production environment. It relied on ad-
hoc communications between individuals and tacit institutional knowledge.


4 End-to-End Agile

Both teams have demands on their time and conflicting priorities, and are in separate
parts of the IBM organizational chart. It is therefore critical to gain an awareness of
the wider culture, working practices, constituency and remit of each other to
understand what is and is not feasible. A model of the prior end-to-end process was
constructed to clarify the tasks, timelines and information needs of both teams. This
included the role of artifacts that mediate communications and so help to synchronize
efforts (e.g. meetings, phone calls, requirements documents, etc.) This was compared
with a model of the agile process to get an idea of where there were significant
changes in the cross-team communication and possible information gaps. It was found
that the deployment team did not need intricate details about the application, just
specific and quite regular information pertaining to deployment. It was anticipated the
deployment team could provide an information checklist for development (acting like
triggers to talk), thereby affording some lead time for planning and decision making.
    The notion of who is a customer and who is a service provider changes throughout
the end-to-end process. The development team effectively assumes a dual role as
intermediary – supplier to the business customer and customer for the deployment
team’s services. The very nature of this shift in relationship means that the
development team needs to rethink their interaction point: when they are customers,
do they behave in an agile manner or does their agile thinking come to a stop?
Examining how to reduce cycle times within this wider chain led to the introduction
of time-boxes (with velocities) for the deployment team, which the development team
could apportion in a “lock-and-load” manner. All the ibm.com deploys were thus
scheduled to take place on a Monday/Thursday cycle (i.e. Monday to deploy to
staging and Thursday to deploy to production). On a Friday, the development team
would submit work requests for applications to be deployed in the following week’s
cycle. The deployment team would expect the code at 9am on Monday else release
their time to other customers. Monday through Wednesday the development team
would be in testing and on Wednesday the production request would go in for
deployment on the Thursday. Extending the metaphor such that the development team
received a set amount of scheduled effort, and making them responsible for deciding
how to prioritize their demands and use this resource, extended the agile envelope.


5 Future Considerations

This paper has highlighted how deployment can easily be an afterthought in agile
process initiatives. Since May 2006, the simple changes described above have
resulted in a more agile end-to-end process for product development and solution
delivery within ibm.com. A number of outstanding questions remain:
Scalability. Only one of the deployment team’s customers works in an agile manner,
while the other teams plan and pre-schedule releases up to a few months in advance.
Would this model scale if all customers were to work in this way?
Whole team velocity. Is it more useful, in terms of end-to-end agility, to consider the
teams separately or as one whole team with a single velocity?
Story structure. Does it make additional sense to augment customer stories with
deployment aspects or to create separate deployment stories to chain with stories?
Accounting for the REAL end-to-end process. This initiative focuses on the latter
stages of an evolving product’s lifecycle. Are there initial upstream stakeholders and
processes that can also be brought into better alignment for further agility?

Acknowledgments. We would like to thank the IBM staff who assisted in this work.


References

1. Ambler, S.: One Piece at a Time: Just because agile practitioners deliver working software
   weekly doesn't mean that they deploy it into production at the same rate. Dr. Dobbs Portal,
   November 9th (2004)
2. Grossman, F., Bergin, J., Leip, D., Merritt, S. and Gotel, O.: One XP Experience:
   Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready.
   Proceedings of CASCON 2004, Markham, Ontario, Canada (2004) 242–254
3. McMahon, P.E.: Bridging Agile and Traditional Development Methods: A Project
   Management Perspective. CrossTalk: The Journal of Defense Software Engineering, May
   (2004)

Weitere ähnliche Inhalte

Was ist angesagt?

Sakshi Mittal Resume
Sakshi Mittal ResumeSakshi Mittal Resume
Sakshi Mittal Resume
Sakshi Mittal
 
http___www.irma-international.org_viewtitle_32970_
http___www.irma-international.org_viewtitle_32970_http___www.irma-international.org_viewtitle_32970_
http___www.irma-international.org_viewtitle_32970_
Abdul Hakeem
 

Was ist angesagt? (20)

Project_Experience
Project_ExperienceProject_Experience
Project_Experience
 
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
 
Improve software development project success with better information
Improve software development project success with better informationImprove software development project success with better information
Improve software development project success with better information
 
Sakshi Mittal Resume
Sakshi Mittal ResumeSakshi Mittal Resume
Sakshi Mittal Resume
 
Achyuth
AchyuthAchyuth
Achyuth
 
Debesh-Resume
Debesh-ResumeDebesh-Resume
Debesh-Resume
 
3685807
36858073685807
3685807
 
Shillum "Building for the Future: Interoperability"
Shillum "Building for the Future: Interoperability"Shillum "Building for the Future: Interoperability"
Shillum "Building for the Future: Interoperability"
 
CV_Gopinath
CV_GopinathCV_Gopinath
CV_Gopinath
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)
 
Vinny Panwar
Vinny PanwarVinny Panwar
Vinny Panwar
 
Session3
Session3Session3
Session3
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
http___www.irma-international.org_viewtitle_32970_
http___www.irma-international.org_viewtitle_32970_http___www.irma-international.org_viewtitle_32970_
http___www.irma-international.org_viewtitle_32970_
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
Flexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the CampusFlexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the Campus
 
Dave Jones, CIO at Cape Plc - Transition of Autonomous regional IT to Providi...
Dave Jones, CIO at Cape Plc - Transition of Autonomous regional IT to Providi...Dave Jones, CIO at Cape Plc - Transition of Autonomous regional IT to Providi...
Dave Jones, CIO at Cape Plc - Transition of Autonomous regional IT to Providi...
 
Advaanz Company Profile
Advaanz Company ProfileAdvaanz Company Profile
Advaanz Company Profile
 
Cloud Computing Project
Cloud Computing ProjectCloud Computing Project
Cloud Computing Project
 

Andere mochten auch (6)

Marco Koeder: Mobile Success Stories from Asia
Marco Koeder: Mobile Success Stories from AsiaMarco Koeder: Mobile Success Stories from Asia
Marco Koeder: Mobile Success Stories from Asia
 
Extended Reach: An Efficient Content Management Technique for Sharing and Loc...
Extended Reach: An Efficient Content Management Technique for Sharing and Loc...Extended Reach: An Efficient Content Management Technique for Sharing and Loc...
Extended Reach: An Efficient Content Management Technique for Sharing and Loc...
 
Making TILT social
Making TILT socialMaking TILT social
Making TILT social
 
Tpp Concept Presentatie
Tpp Concept PresentatieTpp Concept Presentatie
Tpp Concept Presentatie
 
OpenID: An Executive Briefing
OpenID: An Executive BriefingOpenID: An Executive Briefing
OpenID: An Executive Briefing
 
Ad Sense Image
Ad Sense ImageAd Sense Image
Ad Sense Image
 

Ähnlich wie Agile Software Development Meets Corporate Deployment Procedures: Stretching the Agile Envelope

Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
armitageclaire49
 
An Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming EssayAn Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming Essay
Sharon Roberts
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno
 
BUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docx
BUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docxBUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docx
BUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docx
jasoninnes20
 
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
Crystal Thomas
 
JeffDavisProjectPortfolio
JeffDavisProjectPortfolioJeffDavisProjectPortfolio
JeffDavisProjectPortfolio
Jeff Davis
 
RajeevGautam_PeopleSoft Technology Lead_Infosys
RajeevGautam_PeopleSoft Technology Lead_InfosysRajeevGautam_PeopleSoft Technology Lead_Infosys
RajeevGautam_PeopleSoft Technology Lead_Infosys
Rajeev Gautam
 
Lakshmi_Resume
Lakshmi_ResumeLakshmi_Resume
Lakshmi_Resume
VK Lakshmi
 
DevOps_Automation White Paper
DevOps_Automation White PaperDevOps_Automation White Paper
DevOps_Automation White Paper
Toby Thorslund
 

Ähnlich wie Agile Software Development Meets Corporate Deployment Procedures: Stretching the Agile Envelope (20)

Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
 
An Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming EssayAn Inside Look At Extreme Programming Essay
An Inside Look At Extreme Programming Essay
 
Enterprise Mobile Application Development Lifecycle by Social Cubix
Enterprise Mobile Application Development Lifecycle by Social CubixEnterprise Mobile Application Development Lifecycle by Social Cubix
Enterprise Mobile Application Development Lifecycle by Social Cubix
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
A research on- Sales force Project- documentation
A research on- Sales force Project- documentationA research on- Sales force Project- documentation
A research on- Sales force Project- documentation
 
chapter-03-Agile view of process.ppt
chapter-03-Agile view of process.pptchapter-03-Agile view of process.ppt
chapter-03-Agile view of process.ppt
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
 
COMP6214 Project 2.docx
COMP6214 Project 2.docxCOMP6214 Project 2.docx
COMP6214 Project 2.docx
 
Agile Corporation for MIT
Agile Corporation for MITAgile Corporation for MIT
Agile Corporation for MIT
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 
BUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docx
BUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docxBUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docx
BUSINESS CASE CAPSTONE2BUSINESS CASE CAPSTONE3.docx
 
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
 
Windows XP to Windows 7 Migration Whitepaper
Windows XP to Windows 7 Migration WhitepaperWindows XP to Windows 7 Migration Whitepaper
Windows XP to Windows 7 Migration Whitepaper
 
JeffDavisProjectPortfolio
JeffDavisProjectPortfolioJeffDavisProjectPortfolio
JeffDavisProjectPortfolio
 
RajeevGautam_PeopleSoft Technology Lead_Infosys
RajeevGautam_PeopleSoft Technology Lead_InfosysRajeevGautam_PeopleSoft Technology Lead_Infosys
RajeevGautam_PeopleSoft Technology Lead_Infosys
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Lakshmi_Resume
Lakshmi_ResumeLakshmi_Resume
Lakshmi_Resume
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
 
DevOps_Automation White Paper
DevOps_Automation White PaperDevOps_Automation White Paper
DevOps_Automation White Paper
 
Daffodil Software-Sharepoint Capability Document
Daffodil Software-Sharepoint Capability DocumentDaffodil Software-Sharepoint Capability Document
Daffodil Software-Sharepoint Capability Document
 

Kürzlich hochgeladen

VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf
Adnet Communications
 

Kürzlich hochgeladen (20)

Top Rated Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...
Top Rated  Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...Top Rated  Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...
Top Rated Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...
 
Booking open Available Pune Call Girls Wadgaon Sheri 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Wadgaon Sheri  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Wadgaon Sheri  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Wadgaon Sheri 6297143586 Call Hot Ind...
 
The Economic History of the U.S. Lecture 20.pdf
The Economic History of the U.S. Lecture 20.pdfThe Economic History of the U.S. Lecture 20.pdf
The Economic History of the U.S. Lecture 20.pdf
 
Booking open Available Pune Call Girls Shivane 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Shivane  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Shivane  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Shivane 6297143586 Call Hot Indian Gi...
 
00_Main ppt_MeetupDORA&CyberSecurity.pptx
00_Main ppt_MeetupDORA&CyberSecurity.pptx00_Main ppt_MeetupDORA&CyberSecurity.pptx
00_Main ppt_MeetupDORA&CyberSecurity.pptx
 
Top Rated Pune Call Girls Sinhagad Road ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Sinhagad Road ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Sinhagad Road ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Sinhagad Road ⟟ 6297143586 ⟟ Call Me For Genuine S...
 
The Economic History of the U.S. Lecture 18.pdf
The Economic History of the U.S. Lecture 18.pdfThe Economic History of the U.S. Lecture 18.pdf
The Economic History of the U.S. Lecture 18.pdf
 
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
 
Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...
Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...
Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...
 
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
 
Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...
Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...
Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...
 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
 
20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf
 
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
 
The Economic History of the U.S. Lecture 25.pdf
The Economic History of the U.S. Lecture 25.pdfThe Economic History of the U.S. Lecture 25.pdf
The Economic History of the U.S. Lecture 25.pdf
 
Gurley shaw Theory of Monetary Economics.
Gurley shaw Theory of Monetary Economics.Gurley shaw Theory of Monetary Economics.
Gurley shaw Theory of Monetary Economics.
 
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
 
Mira Road Awesome 100% Independent Call Girls NUmber-9833754194-Dahisar Inter...
Mira Road Awesome 100% Independent Call Girls NUmber-9833754194-Dahisar Inter...Mira Road Awesome 100% Independent Call Girls NUmber-9833754194-Dahisar Inter...
Mira Road Awesome 100% Independent Call Girls NUmber-9833754194-Dahisar Inter...
 
Vip Call US 📞 7738631006 ✅Call Girls In Sakinaka ( Mumbai )
Vip Call US 📞 7738631006 ✅Call Girls In Sakinaka ( Mumbai )Vip Call US 📞 7738631006 ✅Call Girls In Sakinaka ( Mumbai )
Vip Call US 📞 7738631006 ✅Call Girls In Sakinaka ( Mumbai )
 
WhatsApp 📞 Call : 9892124323 ✅Call Girls In Chembur ( Mumbai ) secure service
WhatsApp 📞 Call : 9892124323  ✅Call Girls In Chembur ( Mumbai ) secure serviceWhatsApp 📞 Call : 9892124323  ✅Call Girls In Chembur ( Mumbai ) secure service
WhatsApp 📞 Call : 9892124323 ✅Call Girls In Chembur ( Mumbai ) secure service
 

Agile Software Development Meets Corporate Deployment Procedures: Stretching the Agile Envelope

  • 1. Agile Software Development Meets Corporate Deployment Procedures: Stretching the Agile Envelope Olly Gotel1 and David Leip2 Department of Computer Science, Pace University, New York (ogotel@pace.edu) 1 ibm.com Chief Innovation Dude and Agile Methods Advocate, IBM Hawthorne 2 (leip@us.ibm.com) Abstract. This paper describes a process initiative within IBM to make the Corporate Portal (ibm.com) development practices more responsive to changing customer needs and explains the bottlenecks that arose with application deployment when this agile approach was not initially extended throughout the wider solution delivery lifecycle. The paper details the simple process changes that were adopted to expand the agile philosophy beyond development. Keywords: Agile Deployment, Agile Development, Extreme Programming. 1 Introduction The IBM Corporate Portal (ibm.com) is an application-driven website that advertises and markets the products and services of IBM. Prior to 2004, the team responsible for its development followed a “waterfall-like” approach, attempting to capture and prioritize requirements for a new release before design and development. They found that, while straightforward to agree on the main requirements, reaching agreement on the complete set was problematic. Negotiations would introduce delays and slow down releases to customers. A more agile approach was viewed as a pragmatic way to tackle this issue; development would proceed from key requirements and additional requirements would be determined and prioritized as the product evolved. In 2004, the IBM Corporate Webmaster’s team adopted an agile approach to software development. The use of eXtreme Programming was trialed in the development of a major release of ibm.com, culminating in its successful roll-out in November 2004 [2]. The agile process has since been streamlined to develop and deliver software that addresses evolving customer needs within a reduced timescale. However, once a new release has been developed, it still has to be deployed to a production environment to deliver a fully operational solution. The deployment environment is maintained by a geographically distinct team. This team orchestrates the deployment of multiple applications from across IBM, so their work is subject to organizational-wide scheduling requirements and policies; the team has to ensure any new deploys do not impact other deployment schedules and live applications. Limited improvements can be gained in end-to-end agility if there is a bottleneck between the development of a product and its eventual deployment. While there is
  • 2. advice on how to align agile with non-agile practices [3], there is less focus on deployment [1]. This paper reports on the issues surrounding the alignment of agile development practices with corporate deployment procedures and describes the agile- spirited end-to-end process adopted for ibm.com. 2 Agile Development for ibm.com The Corporate Webmaster’s team is responsible for developing and maintaining ibm.com. The requirements for ibm.com change frequently, driven by new business offerings, improvements in search engine technology, etc. Part of IBM Sales and Distribution, the team comprises some 20 personnel, skilled in Java and XML/XSL development, open and technical standards, and project management. The majority of the team is based in New York State, with other members based in Asia and Europe. The deployment team is drawn from roughly 100 personnel within IBM Global Services. This team runs the technology for IBM-sponsored events, like Wimbledon, in addition to being responsible for the ibm.com infrastructure and operations. The Webmaster’s team are hence one of a number of customers for the deployment team’s services. The deployment team is responsible for estimating demand on servers, understanding network traffic requirements for new or changing applications, network settings and permissions, etc. They are also responsible for testing that new applications meet non-functional requirements, do not compromise the performance or availability of existing applications, and checking that applications are compliant with organizational security policies. The team is based in Raleigh, North Carolina. The agile development process required the development team to work 7 week release cycles, each cycle comprising 3 iterations of 2 week duration followed by a week for deployment. Customer groups from across IBM submit high-level requirements to be reviewed and prioritized based on business value. Selected requirements are split into and/or reformulated as stories by customer representatives and written on index cards. The stories are sized by the development team according to the time they estimate they need to build the story and returned to the customer, together with their estimated velocity for the iteration. Since the development team is distributed, the velocity is for the extended team. The sizing is based on the expected development effort (Java and XML/XSL), not on the associated deployment effort. The customer selects stories to implement in the forthcoming iteration. This selection process takes place every first Monday in a meeting at the start of each 2 week cycle. Further interaction with the customer occurs as stories are clarified and developed, and any elaboration is written on the back of the card. The extended development team communicates via telephone and instant messaging during this time. Towards the end of the iteration, the team performs user/customer acceptance testing. During this process, the deployment team should (ideally) be notified of any story that may have a deployment implication. One scheduled call takes place every Tuesday to give the deployment team an alert as to what may be coming through the process and some indication of timeline. The first formal notification the team has is when the development team submits a work request for a code review as a precursor to deploying into staging. This occurs around the beginning of the third iteration (i.e.
  • 3. week 5 in the cycle) but, as the development team began to take on more of the responsibility for code review, this removed the necessity to put in such a request. Once the application has been deployed, any issues are dealt with by the joint team. 3 Problem Description A retrospective was undertaken at the end of 2004 and the benefits from the new process were seen to be the increased level of communication between the customer representatives and development team. Since the customers are able to determine and prioritize requirements on a regular basis, they had more control over the product’s direction. This retrospective revealed tensions, however, at the bottlenecks in deployment. From the deployment team’s perspective, the last minute hand-over of applications and expectation of a fast release into production indicated the developers were not cognizant of the other demands on their time and corporate constraints. With the prior “waterfall-based” approach, the deployment team would receive a requirements document and use this to plan and estimate their work for scheduled deploys. Following the move to agile, this was replaced by paper-based story cards and the team would often only find out about deployment requirements with the request to deploy into staging. When this request came late, the seventh week in the overall cycle would get stretched, leading to delays; the deployment team could not abandon other work to accommodate this. With the move to agile there had been little focus on the processes required to manage the transition of products from the development environment to the corporate production environment. It relied on ad- hoc communications between individuals and tacit institutional knowledge. 4 End-to-End Agile Both teams have demands on their time and conflicting priorities, and are in separate parts of the IBM organizational chart. It is therefore critical to gain an awareness of the wider culture, working practices, constituency and remit of each other to understand what is and is not feasible. A model of the prior end-to-end process was constructed to clarify the tasks, timelines and information needs of both teams. This included the role of artifacts that mediate communications and so help to synchronize efforts (e.g. meetings, phone calls, requirements documents, etc.) This was compared with a model of the agile process to get an idea of where there were significant changes in the cross-team communication and possible information gaps. It was found that the deployment team did not need intricate details about the application, just specific and quite regular information pertaining to deployment. It was anticipated the deployment team could provide an information checklist for development (acting like triggers to talk), thereby affording some lead time for planning and decision making. The notion of who is a customer and who is a service provider changes throughout the end-to-end process. The development team effectively assumes a dual role as intermediary – supplier to the business customer and customer for the deployment team’s services. The very nature of this shift in relationship means that the
  • 4. development team needs to rethink their interaction point: when they are customers, do they behave in an agile manner or does their agile thinking come to a stop? Examining how to reduce cycle times within this wider chain led to the introduction of time-boxes (with velocities) for the deployment team, which the development team could apportion in a “lock-and-load” manner. All the ibm.com deploys were thus scheduled to take place on a Monday/Thursday cycle (i.e. Monday to deploy to staging and Thursday to deploy to production). On a Friday, the development team would submit work requests for applications to be deployed in the following week’s cycle. The deployment team would expect the code at 9am on Monday else release their time to other customers. Monday through Wednesday the development team would be in testing and on Wednesday the production request would go in for deployment on the Thursday. Extending the metaphor such that the development team received a set amount of scheduled effort, and making them responsible for deciding how to prioritize their demands and use this resource, extended the agile envelope. 5 Future Considerations This paper has highlighted how deployment can easily be an afterthought in agile process initiatives. Since May 2006, the simple changes described above have resulted in a more agile end-to-end process for product development and solution delivery within ibm.com. A number of outstanding questions remain: Scalability. Only one of the deployment team’s customers works in an agile manner, while the other teams plan and pre-schedule releases up to a few months in advance. Would this model scale if all customers were to work in this way? Whole team velocity. Is it more useful, in terms of end-to-end agility, to consider the teams separately or as one whole team with a single velocity? Story structure. Does it make additional sense to augment customer stories with deployment aspects or to create separate deployment stories to chain with stories? Accounting for the REAL end-to-end process. This initiative focuses on the latter stages of an evolving product’s lifecycle. Are there initial upstream stakeholders and processes that can also be brought into better alignment for further agility? Acknowledgments. We would like to thank the IBM staff who assisted in this work. References 1. Ambler, S.: One Piece at a Time: Just because agile practitioners deliver working software weekly doesn't mean that they deploy it into production at the same rate. Dr. Dobbs Portal, November 9th (2004) 2. Grossman, F., Bergin, J., Leip, D., Merritt, S. and Gotel, O.: One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready. Proceedings of CASCON 2004, Markham, Ontario, Canada (2004) 242–254 3. McMahon, P.E.: Bridging Agile and Traditional Development Methods: A Project Management Perspective. CrossTalk: The Journal of Defense Software Engineering, May (2004)