\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

Page 1 of 2 1 2
\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n
\nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n

In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

\nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

* Vision<\/p>\n\n\n\n

* Inspirational Communication<\/p>\n\n\n\n

* Intellectual Stimulation<\/p>\n\n\n\n

* Supportive Leadership and<\/p>\n\n\n\n

* Personal Recognition<\/p>\n\n\n\n

From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

\u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

\u2013 We use Chef\/Puppet<\/p>\n\n\n\n

\u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

\u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
[ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

It is almost like in-situ renovation.<\/p>\n\n\n\n

In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

Immutable Infrastructure
by Josha Stella,
Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

- We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

The simple answer is Yes and No.<\/p>\n\n\n\n

First the Yes part \u2013 similarities:<\/p>\n\n\n\n

Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

Now, for the No part:<\/p>\n\n\n\n

DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Shifting left<\/li>\n\n\n\n
  • Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Architecture<\/li>\n\n\n\n
  • Shifting left<\/li>\n\n\n\n
  • Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Configuration management<\/li>\n\n\n\n
  • Architecture<\/li>\n\n\n\n
  • Shifting left<\/li>\n\n\n\n
  • Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Full life cycle<\/li>\n\n\n\n
  • Configuration management<\/li>\n\n\n\n
  • Architecture<\/li>\n\n\n\n
  • Shifting left<\/li>\n\n\n\n
  • Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
  • Backlog management<\/li>\n\n\n\n
  • Full life cycle<\/li>\n\n\n\n
  • Configuration management<\/li>\n\n\n\n
  • Architecture<\/li>\n\n\n\n
  • Shifting left<\/li>\n\n\n\n
  • Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
  • Continuous Deployment and Delivery<\/li>\n\n\n\n
  • Monitoring the user experience : track and analyze<\/li>\n\n\n\n
  • Governance<\/li>\n\n\n\n
  • Feedback loops<\/li>\n<\/ol>\n\n\n\n

    In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

    \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

    Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

    It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

    Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

    Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

    The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

    * Vision<\/p>\n\n\n\n

    * Inspirational Communication<\/p>\n\n\n\n

    * Intellectual Stimulation<\/p>\n\n\n\n

    * Supportive Leadership and<\/p>\n\n\n\n

    * Personal Recognition<\/p>\n\n\n\n

    From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

    The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

    Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

    The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

    I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

    This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

    In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

    Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

    Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

    In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

    \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

    Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

    \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

    \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

    \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

    While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

    One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

    The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

    Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

    With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

    Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

    However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

    Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

    The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

    On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

    Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

    Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
    [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

    It is almost like in-situ renovation.<\/p>\n\n\n\n

    In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

    More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

    This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

    But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

    Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

    If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

    Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

    If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

    Immutable Infrastructure
    by Josha Stella,
    Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

    you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

    If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

    This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

    In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

    - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

    The simple answer is Yes and No.<\/p>\n\n\n\n

    First the Yes part \u2013 similarities:<\/p>\n\n\n\n

    Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

    Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

    Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

    Now, for the No part:<\/p>\n\n\n\n

    DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

    DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

    In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

    Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

    A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

    When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

    The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

    Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

    To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

    \n
      \n
    1. Backlog management<\/li>\n\n\n\n
    2. Full life cycle<\/li>\n\n\n\n
    3. Configuration management<\/li>\n\n\n\n
    4. Architecture<\/li>\n\n\n\n
    5. Shifting left<\/li>\n\n\n\n
    6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
    7. Continuous Deployment and Delivery<\/li>\n\n\n\n
    8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
    9. Governance<\/li>\n\n\n\n
    10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

      In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

      \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

      Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

      It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

      Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

      Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

      The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

      * Vision<\/p>\n\n\n\n

      * Inspirational Communication<\/p>\n\n\n\n

      * Intellectual Stimulation<\/p>\n\n\n\n

      * Supportive Leadership and<\/p>\n\n\n\n

      * Personal Recognition<\/p>\n\n\n\n

      From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

      The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

      Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

      The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

      I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

      This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

      In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

      Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

      Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

      In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

      \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

      Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

      \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

      \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

      \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

      While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

      One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

      The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

      Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

      With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

      Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

      However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

      Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

      The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

      On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

      Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

      Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
      [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

      It is almost like in-situ renovation.<\/p>\n\n\n\n

      In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

      More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

      This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

      But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

      Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

      If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

      Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

      If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

      Immutable Infrastructure
      by Josha Stella,
      Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

      you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

      If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

      This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

      In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

      - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

      The simple answer is Yes and No.<\/p>\n\n\n\n

      First the Yes part \u2013 similarities:<\/p>\n\n\n\n

      Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

      Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

      Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

      Now, for the No part:<\/p>\n\n\n\n

      DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

      DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

      In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

      Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

      A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

      When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

      The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

      Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

      To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

      \n

      This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

        \n
      1. Backlog management<\/li>\n\n\n\n
      2. Full life cycle<\/li>\n\n\n\n
      3. Configuration management<\/li>\n\n\n\n
      4. Architecture<\/li>\n\n\n\n
      5. Shifting left<\/li>\n\n\n\n
      6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
      7. Continuous Deployment and Delivery<\/li>\n\n\n\n
      8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
      9. Governance<\/li>\n\n\n\n
      10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

        In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

        \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

        Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

        It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

        Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

        Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

        The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

        * Vision<\/p>\n\n\n\n

        * Inspirational Communication<\/p>\n\n\n\n

        * Intellectual Stimulation<\/p>\n\n\n\n

        * Supportive Leadership and<\/p>\n\n\n\n

        * Personal Recognition<\/p>\n\n\n\n

        From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

        The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

        Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

        The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

        I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

        This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

        In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

        Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

        Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

        In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

        \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

        Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

        \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

        \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

        \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

        While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

        One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

        The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

        Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

        With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

        Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

        However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

        Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

        The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

        On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

        Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

        Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
        [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

        It is almost like in-situ renovation.<\/p>\n\n\n\n

        In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

        More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

        This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

        But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

        Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

        If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

        Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

        If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

        Immutable Infrastructure
        by Josha Stella,
        Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

        you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

        If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

        This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

        In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

        - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

        The simple answer is Yes and No.<\/p>\n\n\n\n

        First the Yes part \u2013 similarities:<\/p>\n\n\n\n

        Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

        Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

        Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

        Now, for the No part:<\/p>\n\n\n\n

        DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

        DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

        In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

        Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

        A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

        When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

        The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

        Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

        To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

        \n

        The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

        This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

          \n
        1. Backlog management<\/li>\n\n\n\n
        2. Full life cycle<\/li>\n\n\n\n
        3. Configuration management<\/li>\n\n\n\n
        4. Architecture<\/li>\n\n\n\n
        5. Shifting left<\/li>\n\n\n\n
        6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
        7. Continuous Deployment and Delivery<\/li>\n\n\n\n
        8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
        9. Governance<\/li>\n\n\n\n
        10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

          In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

          \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

          Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

          It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

          Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

          Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

          The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

          * Vision<\/p>\n\n\n\n

          * Inspirational Communication<\/p>\n\n\n\n

          * Intellectual Stimulation<\/p>\n\n\n\n

          * Supportive Leadership and<\/p>\n\n\n\n

          * Personal Recognition<\/p>\n\n\n\n

          From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

          The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

          Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

          The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

          I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

          This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

          In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

          Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

          Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

          In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

          \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

          Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

          \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

          \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

          \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

          While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

          One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

          The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

          Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

          With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

          Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

          However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

          Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

          The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

          On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

          Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

          Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
          [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

          It is almost like in-situ renovation.<\/p>\n\n\n\n

          In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

          More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

          This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

          But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

          Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

          If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

          Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

          If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

          Immutable Infrastructure
          by Josha Stella,
          Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

          you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

          If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

          This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

          In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

          - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

          The simple answer is Yes and No.<\/p>\n\n\n\n

          First the Yes part \u2013 similarities:<\/p>\n\n\n\n

          Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

          Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

          Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

          Now, for the No part:<\/p>\n\n\n\n

          DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

          DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

          In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

          Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

          A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

          When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

          The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

          Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

          To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n
          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          A \u2013 Automation<\/p>\n\n\n\n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          C \u2013 Culture <\/p>\n\n\n\n

          A \u2013 Automation<\/p>\n\n\n\n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          There seems to be a growing\nmisinterpretation of DevOps. When we hear the word DevOps, the first thing that\ncomes to our mind is automation; continuous deployment, continuous build, and\nassociated toolsets or we think of development and operations teams sitting\ntogether. Even when we search DevOps in google, you can get results such as How\nto become a full-stack engineer in 6 months or how to implement Jenkins,\ncucumber or crucible, etc. Sometimes it\u2019s represented as a separate team in the\nengineering organization. Whereas DevOps is all about breaking down Silos to\nthe full cycle of delivering value to customers. DevOps is a\nculture that requires some practices and a new vision, its common goal is\nunifying people and organizations around unique goals. Some of the thought\nleaders of DevOps have coined the term CALMS for DevOps; <\/p>\n\n\n\n

          C \u2013 Culture <\/p>\n\n\n\n

          A \u2013 Automation<\/p>\n\n\n\n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Like any team that's getting setup initially, Cloud reliability team also need to start with the purpose. Why do we exist and who are we servicing<\/a> and that gets everyone energised towards the same goal.<\/p>\n","post_title":"CHOW #198 - How do you setup your Cloud Reliability Team?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"chow-198-how-do-you-setup-your-cloud-reliability-team","to_ping":"","pinged":"","post_modified":"2024-01-24 13:48:30","post_modified_gmt":"2024-01-24 13:48:30","post_content_filtered":"","post_parent":0,"guid":"https:\/\/pm-powerconsulting.com\/?p=15107","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":13573,"post_author":"29","post_date":"2019-11-18 16:11:36","post_date_gmt":"2019-11-18 10:41:36","post_content":"\n

          There seems to be a growing\nmisinterpretation of DevOps. When we hear the word DevOps, the first thing that\ncomes to our mind is automation; continuous deployment, continuous build, and\nassociated toolsets or we think of development and operations teams sitting\ntogether. Even when we search DevOps in google, you can get results such as How\nto become a full-stack engineer in 6 months or how to implement Jenkins,\ncucumber or crucible, etc. Sometimes it\u2019s represented as a separate team in the\nengineering organization. Whereas DevOps is all about breaking down Silos to\nthe full cycle of delivering value to customers. DevOps is a\nculture that requires some practices and a new vision, its common goal is\nunifying people and organizations around unique goals. Some of the thought\nleaders of DevOps have coined the term CALMS for DevOps; <\/p>\n\n\n\n

          C \u2013 Culture <\/p>\n\n\n\n

          A \u2013 Automation<\/p>\n\n\n\n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Thus with the above initial backlog, they found that the CRE didn't have a few skills. They realised that Entire team consisted of Cloud developers and architects. Some of them had experience in setting up scalable cloud environments. What was missing was python scripting and test automation skills within themselves. .<\/p>\n\n\n\n

          Like any team that's getting setup initially, Cloud reliability team also need to start with the purpose. Why do we exist and who are we servicing<\/a> and that gets everyone energised towards the same goal.<\/p>\n","post_title":"CHOW #198 - How do you setup your Cloud Reliability Team?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"chow-198-how-do-you-setup-your-cloud-reliability-team","to_ping":"","pinged":"","post_modified":"2024-01-24 13:48:30","post_modified_gmt":"2024-01-24 13:48:30","post_content_filtered":"","post_parent":0,"guid":"https:\/\/pm-powerconsulting.com\/?p=15107","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":13573,"post_author":"29","post_date":"2019-11-18 16:11:36","post_date_gmt":"2019-11-18 10:41:36","post_content":"\n

          There seems to be a growing\nmisinterpretation of DevOps. When we hear the word DevOps, the first thing that\ncomes to our mind is automation; continuous deployment, continuous build, and\nassociated toolsets or we think of development and operations teams sitting\ntogether. Even when we search DevOps in google, you can get results such as How\nto become a full-stack engineer in 6 months or how to implement Jenkins,\ncucumber or crucible, etc. Sometimes it\u2019s represented as a separate team in the\nengineering organization. Whereas DevOps is all about breaking down Silos to\nthe full cycle of delivering value to customers. DevOps is a\nculture that requires some practices and a new vision, its common goal is\nunifying people and organizations around unique goals. Some of the thought\nleaders of DevOps have coined the term CALMS for DevOps; <\/p>\n\n\n\n

          C \u2013 Culture <\/p>\n\n\n\n

          A \u2013 Automation<\/p>\n\n\n\n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n

          Skillsets<\/h2>\n\n\n\n

          Thus with the above initial backlog, they found that the CRE didn't have a few skills. They realised that Entire team consisted of Cloud developers and architects. Some of them had experience in setting up scalable cloud environments. What was missing was python scripting and test automation skills within themselves. .<\/p>\n\n\n\n

          Like any team that's getting setup initially, Cloud reliability team also need to start with the purpose. Why do we exist and who are we servicing<\/a> and that gets everyone energised towards the same goal.<\/p>\n","post_title":"CHOW #198 - How do you setup your Cloud Reliability Team?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"chow-198-how-do-you-setup-your-cloud-reliability-team","to_ping":"","pinged":"","post_modified":"2024-01-24 13:48:30","post_modified_gmt":"2024-01-24 13:48:30","post_content_filtered":"","post_parent":0,"guid":"https:\/\/pm-powerconsulting.com\/?p=15107","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":13573,"post_author":"29","post_date":"2019-11-18 16:11:36","post_date_gmt":"2019-11-18 10:41:36","post_content":"\n

          There seems to be a growing\nmisinterpretation of DevOps. When we hear the word DevOps, the first thing that\ncomes to our mind is automation; continuous deployment, continuous build, and\nassociated toolsets or we think of development and operations teams sitting\ntogether. Even when we search DevOps in google, you can get results such as How\nto become a full-stack engineer in 6 months or how to implement Jenkins,\ncucumber or crucible, etc. Sometimes it\u2019s represented as a separate team in the\nengineering organization. Whereas DevOps is all about breaking down Silos to\nthe full cycle of delivering value to customers. DevOps is a\nculture that requires some practices and a new vision, its common goal is\nunifying people and organizations around unique goals. Some of the thought\nleaders of DevOps have coined the term CALMS for DevOps; <\/p>\n\n\n\n

          C \u2013 Culture <\/p>\n\n\n\n

          A \u2013 Automation<\/p>\n\n\n\n

          L \u2013 Lean (flow,\nSystems thinking) <\/p>\n\n\n\n

          M \u2013 Measurement\n(measuring systems) <\/p>\n\n\n\n

          S \u2013 Sharing.<\/p>\n\n\n\n

          For me, It gives a nice representation of all DevOps encompasses. DevOps is about culture; it is also about end to end flow with systems thinking mindset; it is also about the automation of work end to end; figuring out effective ways to measure our efforts.  When we read what is DevOps, it also gives a feel that DevOps implementation is not simple, it might require a lot of changes w.r.t organizational structure and might require complete automation of development and operation processes. Due to which I have often got resistance for DevOps transformation. Usually, the team brings a lot of tools for automation w.r.t build, deploy and release to declare that they have done DevOps. <\/p>\n\n\n\n

          MVP should not be limited to new software products. Instead, organizations should consider minimum viable everything (MVE). By \u201ceverything,\u201d I do mean everything. Any change can be viewed as a product release. Whether an organization transformation and infrastructure shift, a new service, or a feature release to a classically developed product, all of these can benefit from MVE<\/em><\/p>\n\n\n\n

          Sometime back, I had read a blog that talked Minimum viable of everything to demonstrate the viability of transformation or new change or new features and wanted to experiment that thought for DevOps transformation (highlighted in the above paragraph). So, why not Minimum Viable DevOps; the first version of DevOps, that my customers can benefit from. It would help us to minimize resistance w.r.t cultural changes, reduce cost w.r.t tools but showcase benefits of DevOps implementation. I would like to share the journey of that implementation; how it started and would love to hear your feedback on this implementation.    <\/p>\n\n\n\n

          How it started:<\/strong> One fine day, Customers of XYZ applications\nfigured that the orders that they had placed were either in the wrong quantity\nor with the wrong price due to which they suffered huge financial losses. After\nanalysis for a few days, it was figured that data was not loaded properly. The\nbusiness was very angry with the operations team for missing the problem. The\noperations team was angry with the IT team for not letting them know that there\nwas a new release. A new SWAT team was formed to solve the issue and the team\nproposed DevOps as a one-stop solution that can solve all the problems. <\/p>\n\n\n\n

                   Business case<\/strong> - With the Minimum Viable DevOps in mind, I wanted to understand how would the end state would like for customers. What are the benefits that they are expecting? Are they expecting faster deployment? Are they looking for quicker feedback loops? Are they looking for system reliability?  Used the Gemba method and interviews with Business users, development team, Operations team, and leadership team to validate the problem statement and business needs. Customers wanted the application to have good quality data, perform faster and provide a faster feedback loop for any incidents. They did not want faster release as the customers were Non-IT people and it would need constant training to keep them updated.<\/p>\n\n\n\n

               \n  DevOps Approach:<\/strong>  With customers' needs in place, the next\nstep was to identify an approach for DevOps implementation. Even though DevOps\ntalks about Culture, automation, and end to end flow as a single unit, do I\nneed to implement all in a single go? Can we do Minimum viable DevOps for this\nteam? Hence, I started with a couple of questions to define the DevOps\nprocesses\/roadmap for this team:  <\/p>\n\n\n\n

          1. What are the ways of working of DevOps that this team needs? <\/p>\n\n\n\n

          2. Do we need automation from testing to Build to release to deployment to monitoring? <\/p>\n\n\n\n

          3.  How can the customer see the benefit fast? <\/p>\n\n\n\n

          4. What are the cultural elements that I need to get started with?<\/p>\n\n\n\n

          This helped me to define the MVP of DevOps implementation. Here are some of the practices that were implemented as part of our initial phase.  <\/p>\n\n\n\n

          1.  Unified backlog \u2013 Incidents, Monitoring and operational requirements from the operation teams were included as part of the backlog. Unified backlog was used by the product owners in the grooming, prioritization process for the team to work in the iteration. The single tool was used by both the Operations team and Development team. <\/p>\n\n\n\n

          2.  WoW \u2013 (Ways of working) <\/p>\n\n\n\n

          a.  Dev team and OPS team were co-located. <\/p>\n\n\n\n

          b.  As a start, the Dev team was asked to work on at least 1 or 2 incidents\nin each iteration and the Ops team was asked to work on some of the user\nstories. This helped in building a \u201cone team\u201d culture even though their\nreporting structure was different. When the team demonstrated results in terms\nof business metrics (faster response to incidents, time to recover, etc) reporting\nstructure was aligned. <\/p>\n\n\n\n

          3.  Proactive monitoring \u2013 Monitoring tools were introduced to monitor the\nbusiness metrics (Product usage across countries, performance, security, data\nquality) <\/p>\n\n\n\n

          4.  Automation \u2013 Build, deploy and release cycle was not automated. Only\ntesting was automated to focus on product quality. <\/p>\n\n\n\n

          Each of the above practices can be a separate blog but wanted to highlight MV part of DevOps in this blog.<\/p>\n\n\n\n

          The above mentioned four practices helped us to meet our customer\u2019s needs i.e. to achieve faster response to incidents, reduce data quality issues and improve product quality. This also helped me to showcase DevOps and the benefits of breaking down silos in achieving value generation for Customers. <\/p>\n\n\n\n

          My journey with the team continues. Will share the journey after our next phase.<\/p>\n\n\n\n

          Conclusion:<\/strong><\/strong><\/p>\n\n\n\n

          In summary, DevOps can be broken down into practices, processes, and tools that are needed as per the context. It is not necessary to build the complete tool chain or define new roles or define new teams to call it DevOps. It\u2019s about customer focus mindset across all the layers of the organization, Product owner learning from customers, developers coding for operation and Operation team owing customer experience. <\/p>\n\n\n\n

             \u201cMVP and agile are essential components of a successful DevOps organization. They are also effective tools to enable a DevOps transformation. If you are trying to figure out how to transform from a classic IT organization to a DevOps organization, start by considering the minimally viable DevOps organization. While you may have only reduced \u201cboiling the ocean\u201d to \u201cboiling a lake,\u201d the reduction will prove meaningful.\u201d<\/em><\/p>\n\n\n\n

          Further read: <\/p>\n\n\n\n

          \u201cThe Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win\u201d book describes the fundamental principles of DevOps, describes \u201cThe Three Ways\u201d from which are the principles that all of the DevOps patterns can be derived from.<\/p>\n\n\n\n

          Netflix \u2013 chaos monkey practice <\/p>\n\n\n\n

          Savitha<\/a><\/p>\n\n\n\n

            <\/strong><\/p>\n","post_title":"Minimum Viable DevOps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"minimum-viable-devops","to_ping":"","pinged":"","post_modified":"2024-01-25 14:42:44","post_modified_gmt":"2024-01-25 14:42:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=13573","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":6119,"post_author":"30","post_date":"2017-06-24 21:00:06","post_date_gmt":"2017-06-24 15:30:06","post_content":"\n

          \"\"<\/figure>
          \n

          The most commonly accepted definition of\u00a0DevOps<\/a>\u00a0is that it is a movement. There are many discussions around the approaches that would work best to adopt DevOps in a specific context. Most of these threads talk about the need for culture, automation, lean thinking etc, and those that get into a little more details in terms of the engineering practices talk about\u00a0Continuous Integration<\/a>\u00a0or Deployment, automation of infrastructure related activities etc.<\/p>\n<\/div><\/div>\n\n\n\n

          This post is about how you can easily map on the underlying principles of DevOps on various activities across the Software Lifecycle. I call it the software lifecycle \u2013 to distinguish it from the SD<\/strong>LC \u2013 that is essentially about the software Development lifecycle. When you take a customer centric view and are focused on delivering value incrementally and steadily \u2013 aka continuously \u2013 you need to internalize the key DevOps concepts across the various steps in a typical software lifecycle, covering both the engineering and management aspects. I usually recommend a model where we group various activities under 10 buckets. These are:<\/p>\n\n\n\n

            \n
          1. Backlog management<\/li>\n\n\n\n
          2. Full life cycle<\/li>\n\n\n\n
          3. Configuration management<\/li>\n\n\n\n
          4. Architecture<\/li>\n\n\n\n
          5. Shifting left<\/li>\n\n\n\n
          6. Managing the user experience<\/a>: deployment<\/li>\n\n\n\n
          7. Continuous Deployment and Delivery<\/li>\n\n\n\n
          8. Monitoring the user experience : track and analyze<\/li>\n\n\n\n
          9. Governance<\/li>\n\n\n\n
          10. Feedback loops<\/li>\n<\/ol>\n\n\n\n

            In each of the above, there are some commonly accepted good practices as well as some anti-patterns. I have shared more details on each of these in a\u00a022 minute recording.<\/a><\/p>\n\n\n\n

            \nhttps:\/\/www.youtube.com\/watch?v=aSJf3X5RjB4\n<\/div><\/figure>\n\n\n\n

            Once you have understood this, you would be ready to plan your DevOps journey. We recommend a six step approach to DevOps adoption. More about that in a later post. Meanwhile, if you have any comments or experiences to share on your own DevOps journey, please reach out. Of course, if you have questions, just ask!<\/p>\n","post_title":"DevOps and the software lifecycle","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"devops-software-lifecycle","to_ping":"","pinged":"","post_modified":"2024-01-29 11:58:50","post_modified_gmt":"2024-01-29 11:58:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=6119","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7334,"post_author":"30","post_date":"2017-06-23 14:28:55","post_date_gmt":"2017-06-23 08:58:55","post_content":"\n

            It is always good to learn from others, particularly if the sources are from across industries \u2013 as they trigger ideas to apply in our own work areas. While this is one such learning from the IT industry, The latest State of DevOps report for 2017<\/a> offers thoughts that can be applied at team level or organization levels as well.<\/p>\n\n\n\n

            Over the years this report has been getting better in terms of the depth and also the analysis.<\/p>\n\n\n\n

            Some highlights from the report this year are significant from an organizational maturity and transformation perspective.<\/p>\n\n\n\n

            The report talks of five common characteristics shared by transformational leaders that have been correlated to high performing teams and organizations. These include<\/p>\n\n\n\n

            * Vision<\/p>\n\n\n\n

            * Inspirational Communication<\/p>\n\n\n\n

            * Intellectual Stimulation<\/p>\n\n\n\n

            * Supportive Leadership and<\/p>\n\n\n\n

            * Personal Recognition<\/p>\n\n\n\n

            From my experience with various transformational and organizational excellence initiatives across multiple industries, this is a common success factor. Setting a clear vision and mission and letting the teams take up ownership detail out execution strategies creates a sustainable transformation.<\/p>\n\n\n\n

            The report also talks of the applicability of DevOps approaches \u2013 which can trace their origins to principles of Lean and Theory of Constraints models \u2013 is not only for the Unicorns, but for all organizations, including ones that have not-so-modern technologies deployed.<\/p>\n\n\n\n

            Since Lean approaches have been proven in manufacturing companies there are enough examples and patterns that we can adopt in the IT industry context.<\/p>\n\n\n\n

            The power of autonomy and ownership at a team level are also indicated in the report where one can see a correlation of loosely coupled, autonomous teams that work together with stable, continuous delivery practices.<\/p>\n\n\n\n

            I want to also highlight the importance of architecture to really derive the benefits of a DevOps transformation. It is no longer sufficient to adopt some tools for automating specific tasks of the software delivery lifecycle, but also the core of the enterprise and application architectures.<\/p>\n\n\n\n

            This reinforces the approach that I had talked about in an earlier post.<\/a><\/p>\n\n\n\n

            In summary, this is a well made report that is easy to read and understand.<\/p>\n\n\n\n

            Even if you have not started your DevOps journey yet, this will be a very useful read!<\/p>\n","post_title":"Some inferences from the State of DevOps 2017 report","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"inferences-state-devops-2017-report","to_ping":"","pinged":"","post_modified":"2024-01-29 12:00:04","post_modified_gmt":"2024-01-29 12:00:04","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7334","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":7337,"post_author":"30","post_date":"2017-01-28 14:31:15","post_date_gmt":"2017-01-28 09:01:15","post_content":"\n

            Over the many years of my interactions with various projects, the most common misconception that I come across is equating a daily standup to scrum and agile.<\/p>\n\n\n\n

            In such situations, the conversations invariably start something like this:<\/p>\n\n\n\n

            \u201cWe are already agile, we do daily standups \u2013 so, we do not need any training. Just tell us how to improve productivity.\u201d<\/p>\n\n\n\n

            Similarly, there are many misconceptions about DevOps.  When asked what is your DevOps approach.<\/p>\n\n\n\n

            \u2013 We use Chef\/Puppet<\/p>\n\n\n\n

            \u2013 We have a CI\/CD pipeline [use Jenkins]<\/p>\n\n\n\n

            \u2013 We deploy to the cloud etc.<\/p>\n\n\n\n

            While DevOps is also considered as a significant cultural approach, there are many aspects that contribute to deriving the benefits of a cross-functional team working together with the user experience in mind \u2013 which is the spirit of DevOps or the Software Delivery Lifecycle. [See also a related post on this topic<\/a>]<\/p>\n\n\n\n

            One of the concepts that is not talked about much, is related to immutable infrastructure.<\/p>\n\n\n\n

            The concept itself is not new. We have heard this in different forms \u2013 most popular is the plug and play model. Just replace a component or add a new component and everything will work well and, in effect, replace the old configuration.<\/p>\n\n\n\n

            Usually, when we upgrade applications as patches, new features etc, there is a downtime needed to complete the setup and migration \u2013 as depicted in the top portion of the diagram.<\/p>\n\n\n\n

            With an immutable approach, the shift is from a \u2018maintained\u2019 infrastructure \u2013 as it would be the case for dedicated data centers, to a \u2018replaceable\u2019 data center, as in the case of a cloud platform.<\/p>\n\n\n\n

            Traditionally, provisioning infrastructure from the scratch is a more time consuming activity compared to patching or mutating an existing infrastructure. That has made the latter approach more popular.<\/p>\n\n\n\n

            However this has a potential side effect of unpredictable application behavior, since there could be differences between the production environment and the development or test\/staging set ups.<\/p>\n\n\n\n

            Immutable infrastructure is a collection of components where the infrastructure is closed for modifications, but open for recreation and expansion.<\/p>\n\n\n\n

            The significant benefits are predictability and the ability to fail fast, if you have to!<\/p>\n\n\n\n

            On cloud platforms, changes to the resources are pretty much a simple command or API call.<\/p>\n\n\n\n

            Immutable does not mean that nothing changes. It is just that the evolution can be better managed with reduced disruptions.<\/p>\n\n\n\n

            Martin Fowler wrote in a July 2012 blog post titled \u201cPhoenixServer\u201d:
            [ \u2026 ], it is a good idea to virtually burn down your servers at regular intervals. A server should be like a phoenix, regularly rising from the ashes.<\/p>\n\n\n\n

            It is almost like in-situ renovation.<\/p>\n\n\n\n

            In order to do this, the application[s] should inherently be able to handle this. Stateful applications [for special applications] and multi-data center deployments could add additional challenges, but none of them unmanageable.<\/p>\n\n\n\n

            More careful planning and automation can help make the upgrades smooth. If the underlying architecture is more API based or service oriented \u2013 in other words, based on high cohesion and loose coupling, managing some of these changes will become simpler.<\/p>\n\n\n\n

            This approach could be an overkill, if you manage a fairly simple application running on a few dedicated servers. If you are already on the cloud, you may already be leveraging the facilities of the service provider.<\/p>\n\n\n\n

            But, if you anticipate the application to evolve into a large one, building an immutable infrastructure in parallel, even during the time of development may benefit in the long-run, to scale out and also detect failure more easily.<\/p>\n\n\n\n

            Virtualization [and microservices] will help you replace old images, as suggested by an immutable approach.<\/p>\n\n\n\n

            If you want to take baby steps towards this, you can start with the blue\/green model<\/a>.<\/p>\n\n\n\n

            Have 2 infrastructures, one that is live and the other that could be just standing by. Again, build the heartbeat or replication features in the architecture, particularly to handle any degradation in production, gracefully.<\/p>\n\n\n\n

            If you are ready to experiment, inspect and adapt, a good reference to read is:<\/p>\n\n\n\n

            Immutable Infrastructure
            by Josha Stella,
            Copyright \u00a9 2016 O\u2019Reilly Media, Inc.<\/p>\n\n\n\n

            you can read it online at the author\u2019s company site<\/a>.<\/p>\n\n\n\n

            If you have created any tools for doing this, or have some experience \u2013 good or not so good \u2013 please share for the benefit of the others.<\/p>\n","post_title":"Immutable infrastructure","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"immutable-infrastructure","to_ping":"","pinged":"","post_modified":"2024-01-29 12:01:36","post_modified_gmt":"2024-01-29 12:01:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/?p=7337","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":4083,"post_author":"30","post_date":"2016-01-12 11:33:44","post_date_gmt":"2016-01-12 06:03:44","post_content":"\n

            This is probably the most frequently asked question that I have received.<\/p>\n\n\n\n

            In many sessions when I introduce the concept of DevOps and some characteristics, after the first 30 minutes or so, the question is a variation of:<\/p>\n\n\n\n

            - We are already agile. all this sounds just like agile. how is it different and why do we need DevOps<\/p>\n\n\n\n

            The simple answer is Yes and No.<\/p>\n\n\n\n

            First the Yes part \u2013 similarities:<\/p>\n\n\n\n

            Both Agle and DevOps have their origins from Lean thinking, that has been well embraced in manufacturing activities.<\/p>\n\n\n\n

            Both approaches encourage a minimalistic view to design and deliver, but in an incremental manner.<\/p>\n\n\n\n

            Here, when I say Agile, I include both the governance framework [Scrum] as well as the good engineering practices [XP], though the popular label of agile is applied to teams that follow [portions] of Scrum!<\/p>\n\n\n\n

            Now, for the No part:<\/p>\n\n\n\n

            DevOps is more of an organizational agility approach.<\/p>\n\n\n\n

            DevOps is a cross functional movement, aimed at maximizing the value delivered to customers. It builds on other techniques and frameworks available, without imposing any prescriptive ways to implement them. However, organizations are free to look at a mix and match of practices and tools and put them together so that all activitie across the full applcation lfecycle can be connected and work smoothly.<\/p>\n\n\n\n

            In one sense it may also be considered as DevOps extending the scope of the lifecycle from Requirements [backlog] that can be considered one step before the product planning, to the deployment activitiy that has typically been much after the dev team has completed their development activities.<\/p>\n\n\n\n

            Techniques and standards such as Scrum, Kanban [or a combination \u2013 Scrumban], Lean, ITIL etc all continue to have significant roles in the DevOps view of the value flow.<\/p>\n\n\n\n

            A successful DevOps adoption requires aspects of people, process and technology all the be addressed in a balanced manner.<\/p>\n\n\n\n

            When all contributing teams and individuals are all aligned to the requirements from the customer, many internal iefficiencies in organizations get addressed.<\/p>\n\n\n\n

            The softer aspects as well as enterprise architecture requirements become more prominent in a DevOps team.<\/p>\n\n\n\n

            Taking a DevOps approach will influence many current systems and practices \u2013 including: target setting, planning and tracking, rewards and recognition [based on shared goals and achievements], architecture, automation of SDLC activities.<\/p>\n\n\n\n

            To summarize, while there may be common origins and intent, similarity in some of the adoption approches, DevOps addresses some of the basic organizational aspects of structure, flows etc while Agile typically has looked at improving the software development activities.<\/p>\n","post_title":"Is DevOps = Agile++?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"is-devops-agile","to_ping":"","pinged":"","post_modified":"2024-01-29 12:12:36","post_modified_gmt":"2024-01-29 12:12:36","post_content_filtered":"","post_parent":0,"guid":"http:\/\/pm-powerconsulting.com\/blogs\/?p=4083","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw"}],"next":false,"prev":false,"total_page":1},"paged":1,"column_class":"jeg_col_3o3","class":"epic_block_11"};

          \n