Agile in End to End Value Delivery
Agile has made development faster and have frequent
deployments. Business and IT operations needs stability with speed. To bridge this gap agile need to stretch
itself beyond development and deployment. Business and Development team
together need to consider software as a value.
A software value chain is a series of software definition,
development, deployment process and operation process. A series of align process and tools need to
work along and synchronized way to provide continuous flow of value to the
customer or end user. Processes and tools need to work around the value to
provide simplified development and deployment to remove unnecessary handoff and
step, also accelerate the delivery of the value by implementing lean and agile
principals and practices. Can agile principle be defined to operation also?
Lean and Agile have many things in common each are focused
on value delivery
Legacy Dev Ops Model
Teams and Roles
Product Management : The team is responsible for define the
functionalities required in the product. In tandem with the Business Operation
the team strategies the requirement for the Development Team or Product Vendor
for Product Changes (using the defined
Change Control Process ). Product Vendors have Product Owners who
interact with the team and add these changes to the product log for the Agile
team to define and plan Sprints
Tools Used : Requirement
Analysis and Gathering tools, Requirement Tracking and DMS tool eg Rational, Visio, XLS, Clearcase
Development Team: Plan and execute the sprints and publish
Sprint plan for the deployment, Burn Charts for management. Weekly releases to
the staging system for the UAT team to test . A group of sprint releases or one
sprint release can be part of the release plan published by the Product owner
to the Production and Business Operation.
Tools Used : Version
Control (SVN, CVS,GIT, Visual SourceSafe, Starteam ), ALM tools (SwiftALM,
Wizible, Collabnet, Microsoft Team foundation), Continuous integration
(Jenkins, Hudson )
UAT /SIT Team: The team is responsible for testing the
release in the staging system for integration and system and when done provide
UAT pass approval for the release team to prepare release build/ patch for
Product team
Tools Used : Testpro, Testing Tools/ Simulators, Load runner
Release team : Is responsible for the SCM activity and
release activity for both Staging and Production system. Depending on the
published release plan and date the team will provide signed build and release
note once a go is provided by the SIT
team in the staging server. The team publishes to the stake holders for downtime approval.
Tools used : Continuous integration (Jenkins, Hudson ),Cruise
Control, ALM tools and PLM tools
Production Support : On downtime approval the team deploys
the build or patch on the production system and runs and acceptance test with
the business operation. A go-live is declared on successful deployment else it
is rolled back with a failure issues logged in the incident system with
severity
Tools : Ticketing or incident management tools ( Bugzilla,
Jira, Quality Center, fogbuz), PLM tools like redmine. SwiftPLM, etc
Business Operation: Responsible to provide go-live testing
and also provide product changes required for Business Needs
Tools: The product,
Incident Management Tools, PLM tools to track changes status.
Agile Process in Delivering Value in Operations
Agile team starts with a value delivery (Value Release Team).
The Release is planned as a value to be delivered with the whole team. The
story board is build on the value and the product log and service catalogue is
build on the story board. This is the take away for the agile development team, release team, business ops, testing
team, infrastructure team and product support team.
Agile Value Model