How IT can thrive with Agility & DevOps – Best Practices & Patterns for successful DevOps adoption?

Agile and Related Methodologies (My experiences and experiments)

DevOps and Agile are the new normal in today’s IT organizations. As we all know, DevOps and Agile coexist and complement each other for expedited delivery. Faster application delivery requires embracing DevOps practices. Every organization can benefit from these practices; however, each needs to assess its current situation and determine which practices are most immediately critical and which can be planned for future implementation. Here are a few common patterns among organizations that are marching ahead with DevOps adoption practices to improve their results. – See more at:

View original post

How IT can thrive with Agility & DevOps – Best Practices & Patterns for successful DevOps adoption?

DevOps and Agile are the new normal in today’s IT organizations. As we all know, DevOps and Agile coexist and complement each other for expedited delivery. Faster application delivery requires embracing DevOps practices. Every organization can benefit from these practices; however, each needs to assess its current situation and determine which practices are most immediately critical and which can be planned for future implementation. Here are a few common patterns among organizations that are marching ahead with DevOps adoption practices to improve their results. – See more at:

ChatOps: An Introduction, Advantages and Starting Steps

ChatOps helps you to interact  with your Infrastructure & business in a shared and collaborative way. The term ‘ChatOps’ (credited to GitHub) is all about conversation-driven development. We need to bring the tools into our conversations and using a ‘Chat Bot'(configured to work with key plugins and scripts), teams can automate tasks and collaborate to work more effectively and efficiently.

To put it in more simple way, a team member types commands that the ‘Chat Bot’ is configured to execute through custom scripts and plugins. These vary from code deployments to security event responses to team notifications. The entire team collaborates in real-time as commands are executed.

To Boost DevOps, Try ChatOps

For details, please visit:

Scrum Ceremonies and Artifacts


, , , , , , , , , ,

As promised in my last post, I will be discussing about ‘Scrum Ceremonies and Artifacts’ in this post.

Scrum Ceremonies:There are following ceremonies in Scrum:

  1. Sprint Planning Meeting
  2. Daily Scrum Meeting
  3. Sprint Review/Demonstration Meeting
  4. Sprint Retrospection Meeting

Sprint Planning Meeting :

Time box:  4 hours (2 weeks sprint) / 8 hours (4 weeks sprint)

Attendees: Scrum Master, Product Owner and Scrum Team

This meeting consists of 2 parts:

“What” is to be developed?: In first part Product owner describes and  presents the ordered Product Backlog items and Sprint goal to the entire Scrum Team, who  collaborates about understanding the work of the Sprint.

“How” it will deliver the Sprint Goal?:  In second half of this meeting scrum team plans in detail which tasks are necessary to fulfill the Sprint Goal and deliver the forecasted Product Backlog items according to capacity of team.

Inputs to Sprint Planning Meeting: Product Backlog and Team Capacity

Output of Sprint Planning Meeting: Sprint Backlog and Sprint Goal

Daily Scrum Meeting: The Daily Scrum is the key inspect and adapt meeting during a Sprint.During the Sprint execution , the scrum Team meets every day, for Daily Scrum meeting and inspects the progress and ensures communication flow inside the Team.It is a short (15 minutes) meeting.

Time box:  15 Minutes

Attendees: Scrum Master, Product Owner(Optional) and Scrum Team

It is held at the same time at same place each day.During the meeting, each Team member explains:

  • What have I accomplished since the last meeting?
  • What am I going to do before the next meeting?
  • What obstacles are in my way?

The Daily Scrum improves communication, eliminates other meetings, identifies & removes impediments to development, highlights and promotes quick decision-making, and improves everyone’s level of project knowledge.The responsibility for conducting the Daily Scrum is with the Team and Scrum Master facilitates the same.The Scrum Master ensures the all the impediments are noted and he/she will get these resolved. He coaches the Team to keep the Daily Scrum short and making sure that people speak briefly.

Sprint Review/Demonstration Meeting:

Time box:  1.5 hours (2 weeks sprint) / 3 hours (4 weeks sprint)

Attendees: Scrum Master, Product Owner and Scrum Team, All the Stakeholder/Sponsors, Customers.

A Sprint Review/Demo meeting is held at the end of the Sprint to inspect the Increment. The Team demonstrates the Increment with focus on the Sprint Goal according to the Definition of Done. The Product Owner reviews and accepts the delivered Increment.During the Sprint Review, Product Owner,Team and stakeholders review what was done. This meeting should not have Slides, with the presentation of the results but should have working demonstration of the work planned in sprint planning.

After the demonstration the Product Owner and other relevant stakeholders tell their impressions and clarify their requirements (user stories) if a requirement was not implement right. The Product Owner identifies what has been done and what hasn’t been done (according to the Definition of Done). The Product Owner accepts the user stories that have been done. Results of this meeting can be new requirements in the Product Backlog, and a new prioritization of existing Product Backlog items.

Sprint Retrospection Meeting:

Time box:  2 hours (2 weeks sprint) / 4 hours (4 weeks sprint)

Attendees: Scrum Master, Product Owner and Scrum Team

In the Sprint Retrospective the Scrum Team revises their way of work in the past in order to make it more efficient and effective in the future. The Scrum Master encourages the Scrum Team to search for best practices and to identify improvement measures that it will  implement in the next Sprint. After the Sprint Review and before the next Sprint Planning , the Team has a Sprint Retrospective.

Whereas the Sprint Review is about the product, the Sprint Retrospective is about the process – the way in which the Scrum team works. It is never omitted.

In the Sprint Retrospective meeting, the Scrum Master encourages the Development Team to inspect, within the Scrum framework and practices, how the last Sprint went in regards to people, relationships, process and tools. The Team should identify and prioritize the major items that went well, and those items that, if done differently, could make things even better. By the end of the Sprint Retrospective, the Team should have identified actionable improvement measures that they will implement in the next Sprint.

Scrum Artifacts:There are following artifacts in Scrum:

  1. Product Backlog
  2. Sprint Backlog
  3. Product Increment

Product Backlog :

The Product Backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product. The Product Backlog is dynamic; it constantly changes to identify what the product needs to be appropriate, competitive, and useful.It contains broad descriptions of all required features, functions, enhancements, wish-list items, etc. The Product Backlog defines the “What” that will be built.

The Product Backlog is the property of the Product Owner. He is responsible for its content, its availability and prioritization. Business value is set by the Product Owner. Development effort is set by the Team.All items in the Product Backlog are prioritized and sorted by business value. The top priority items drive the next development activities. Higher priority items are clearer and have more detailed information than lower priority items. As Increments are being reviewed and releases of the product are being used, feedback is provided and the Product Backlog emerges into a larger, more exhaustive and more detailed list.

The Product Backlog items are initially established and calculated during Release Planning. Afterwards they are updated in Sprint Planning or Backlog Groomings. The top priority items are selected for development during Sprint Planning developed in the Sprint and reviewed in the Sprint Review.

Sprint Backlog :

The Sprint Backlog is the set of Product Backlog items selected for the Sprint plus a plan for delivering the product Increment and realizing the Sprint Goal. The Sprint Backlog is a forecast by the Team in sprint planning meeting and is about what functionality will be in the next Increment and the work needed to deliver that functionality.

In the Sprint Backlog the Team plans the necessary tasks to implement the items selected from the Product Backlog in Sprint Planning . The Sprint Backlog is property of the Team. Estimations are set by the Development Team.The Team keeps the Sprint Backlog always up to date during the Sprint. As the work is done, the Development Team may find that more, less or different tasks are needed.The Sprint Burn Down graph shows the remaining effort across the time of a Sprint.Often a Task Board is used to see and change the state of the tasks of the current sprint, like “to do”, “in progress” and “done”.

Product Increment:

At the end of a Sprint the new Increment must be in a usable condition and meet the Scrum Team’s Definition of Done.In Scrum, the Development Team delivers each Sprint an Increment. The increment must consist of thoroughly tested code that has been built into an executable, and the user operation of the functionality is documented either in Help files or user documentation. These requirements are documented in the Definition of Done.If everything works fine and the Development Team has estimated well, the Increment includes all items, which were planned in the Sprint Backlog, tested and documented.

What is SCRUM ?


, , , ,

So friends in my last few posts, we tried to know what various ‘Agile Methodologies‘ are and ‘Scrum‘ is the one which is mostly used. Now let’s try to find out, What actually is ‘SCRUM’ ?Image

According to Wikipedia:
Scrum (an abbreviated form of scrummage, which is now rarely used, except as a verb), in the sports of rugby union and rugby league, is a way of restarting the game, either after an accidental infringement or (in rugby league only) when the ball has gone out of play.

Scrum, in our case , is an iterative & incremental project delivery framework.

So Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software (at end of sprint cycle/iteration). The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.

At end of sprint cycle/iteration , stakeholders can see real working software and decide to release it as is or continue to enhance it for another sprint.

So a typical Scrum cycle looks like  :


Characteristics of Scrum:

  • Self-organizing team
  • Product progresses in a series of “sprints” (ideally 2-4 weeks)
  • Requirements are captured as items in a list of “product backlog”
  • No specific engineering practices prescribed
  • Uses generative rules to create an agile environment for delivering projects
  • And of-course it is one of the “Agile Processes

Now, we know the basic of Scrum methodology. Let’s talk about Roles in Scrum.

Roles: There are following 3 roles in scrum.

Team: Responsible for doing the work

  • 7 +/- 2 People
  • Cross-functional
  • Self-organizing

Product Owner: Responsible for maximizing the value of the work that the Team does

  • Owns the vision and overall goals
  • Owns the prioritized list of what needs to be produced to achieve maximum value and ROI (the Product Backlog)
  • Decides when product is ready to ship

Scrum Master: Responsible for ensuring the Scrum process is understood and followed. Scrum Master is the one who is: ‘Process Owner’ , ‘Problem Solver’ and ‘Protector’ of the Team.

As a Process Owner, Scrum Master :

  • Teaches Scrum to Team, PO, and stakeholders
  • Coaches the Team, PO, and stakeholders to achieve maximum value and ROI by improving practices
  • Change agent for the organization

As a Problem Solver, Scrum Master :

  • Helps remove blocks and assists the Team and Product Owner

As a Protector , Scrum Master:

  • Protects the Team from disruption

Now, let’s look at the Scrum cycle (in detail) again:


We can see the three roles and the how they fit in the scrum cycle. Apart from ‘Roles’ , the above image also shows ‘Scrum Ceremonies‘ and ‘Scrum Artifacts‘.

Scrum Ceremonies:There are following ceremonies in Scrum:

  • Sprint Planning
  • Daily Scrum Meeting
  • Sprint Review/Demonstration
  • Sprint Retrospection

Scrum Artifacts:There are following artifacts in Scrum:

  • Product Backlog
  • Sprint Backlog
  • Product Increment

We will discuss about ‘Scrum Ceremonies‘  and ‘Scrum Artifacts‘ in detailed manner in my next post.

What is the difference between ancient software engineering practices and Scrum?


I think the main and most important difference is ‘Project Management’, the way its done in traditional models is drastically opposite to the one in Scrum. In Scrum, the scrum team in a way is responsible for handling and taking care of  ‘Project Management’. Following are the reasons that I can quote in favor of it:

  • Sizing(Estimation): In SCRUM it is done by the team along with the product owner and SCRUM Master during the SPRINT planning meeting in contrast with traditional models where Estimation is done by managers.
  • Communication Plan: In SCRUM, Transparency and timely communication is the key to success and these are implemented through daily stand-up meetings and in other rituals of scrum (Sprint Planning, Scrum Of Scrums, Sprint review ).But in older software development models the communication plan is created but actual implementation is not so powerful.
  • Customer Acceptance: Sprint review/Sprint Demo meeting is an important ritual where product is showcased to customer and stakeholders, and is being accepted, instead of waiting for long time (months/years) in older models to get acceptance. It is the scrum team along with Product Owner that defines acceptance criteria during Sprint planning. In contrary, Dev. team was not involved in defining the same in Older models.

  • Retrospection(Lessons learnt): It helps team to self retrospect at end of sprint and then plans for improving the areas identified for improvement.In traditional models, its done at the end of project, which is not fruitful.

I hope it will help you in improving the processes and outcomes of your projects while migrating to Scrum.

What is Agile , its Characteristics and Most famous & adapted ‘Agile’ Methodologies?



What is Agile ? 

Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto introduced the term in 2001. – WikiPedia

Principles behind the Agile Manifesto: There are 12 principles being followed in agile.

“This is not a technical approach – it is business driven” – John McLean: IBM VP of WebSphere Connectivity Development and Director of the IBM Hursley Laboratory

“Use of continuous stakeholder feedback to deliver high quality and consumable code through user stories and a series of stable, short, time boxed iterations” – IBM SWG: Carl Kessler: Vice President of Worldwide Software Development for IBM’s Enterprise Content Management

Agile Characteristics :

  • Just enough planning
  • Time-boxed iterations
  • Velocity
  • Alternate Routes
  • Handling Surprises
  • Motivating the Team
  • Differing Stakeholder Goals
  • Workspace Considerations
  • Repeatable, Sustainable Iterations

“Agile” describes a series of related methodologies. Most famous & adapted ‘Agile’ Methodologies are:

  • Scrum by Ken Schwaber and Jeff Sutherland
  • eXtreme Programming(XP) by Kent Beck,Ward Cunningham,Ron Jeffries
  • CrystalMethods by Alistair Cockburn
  • Feature Driven Development by Jeff DeLuca
  • Dynamic Systems Development Method by DSDM Consortium
  • Kanban Lean Systems and Software by Lean Systems & Software Consortium


(Source : VersionOne – State of Agile Development Survey Results )