Skip to main content

Posts

Failure is an option for software development ( and in life)

 From childhood we are programmed to fear the failure, the opposite behavior is rewarded. I still see many companies & people trying to recruit people with a “Failure is not an option” requirement. Such practices reinforce this behavior. In many cases the “prevention” causes more problem & costs more than the actual issue. Without failure there is no learning. Any process/framework/companies which needs people to follow the “dotted” lines and where “failure is not an option” will not result in innovation or new ideas ; And eventually they will cease to exist. A lot has changed in the last decade, now we have tools and process to give instantaneous feedback to any changes we can think of. Clean code + Short feedback cycle (CI/CD) + automation + transparent data metrics should be the cornerstone for any software development team  A good software development strategy will have process to review failures and make the changes to ensure that people are learning from their mistakes. S
Recent posts

Why is potentially shippable product quality important

Agile teams work in iterations. During this period, they are supposed to work on product increments which can be “delivered” at the end of iteration. But how you know that the correct product was delivered? Many teams have different kinds of acceptance criteria and Definition of Done (DoD). But in many cases, this “done” is not the real “done” there might be some testing pending, some integration or review pending or anything else which prevents the actual use of the product increment. Many of these teams will need additional iterations to finish hardening their products. Many teams will implement different types of “gates” or approval steps to move to next stage. The free flow of product will be interrupted. They might end up doing mini waterfall within their agile process. Many don’t even realize this. This results in poor quality and requires additional effort to “harden” the product. Potentially Shippable Product increment The acceptance criteria and DoD should be modified

Product Backlog: Should you write everything in user story format?

I like user stories a lot. They help everyone talk the same language and results in a better product. User story alone does not constitute product requirement. User story is supposed to be a place holder for discussion which should happen between the team, Product Owner and the customer. This discussion result in a common understanding which along with the user story content is the product requirement. This format captures the essence of requirement without confusing the readers User Story is only one of the many different ways in which requirements can be represented. This is not mandatory in any Agile “process”. But many have made this mandatory. I have seen many spending countless hours trying to write the requirements in user story format when they could have easily written that in simple one-line sentence in few minutes.   I have seen team members refusing to even discuss the requirement until product owner rewrote the requirement in user story format. Once I

The different types of Daily stand-up for different teams with different maturity; Can product owners and others speak during daily scrum

Daily stand up meeting serves a very important role in agile teams. In a way they are the risk mitigation meeting. Team members talk about the risk for the iteration and overall product delivery. The need of a daily stand up for a new team and a matured team is different and hence the need for different rules for different teams. Teams who are starting the agile/scrum journey needs a lot of help. They might be new to agile or might be working together with each other for the first time. A structured well-defined set of rules will help them grow. For such teams the following rules are more than enough Daily Scrum Meeting Rules - http://www.theagileschool.com/2012/03/daily-scrum-meeting-rules.html   Daily scrum misconception, scrum meeting objectives and different stages of meeting http://www.theagileschool.com/2012/03/daily-scrum-misconception-scrum-meeting.html Only team members are “allowed” to speak and scrum master should be present to help the team. This rule immens

Some tips for Agile DevOps transformation

Lot of companies start on the Agile transformation and find it very difficult. Some even go back to their old process. I have seen this in lot of "large" companies who have "established" process which they are following for many years. Process control Most of these companies have lots of process, checklists and control to manage the "work" which is then  manged by complex hierarchy of "mangers".  Many feel empowered by this complex multi-layer organizational hierarchy. I always wondered how actual works gets done, if any,  in such environment. Such companies  will be slow and costly and will end up like dinosaurs. An Agile/DevOps transformation for  such companies is very difficult. The people connection In today's knowledge industry people are the most critical and important part of any company. The old process thrives with rigid rule and checklists. They focus on finding tools or solutions to meet the objective usually ignoring

The cultural aspect of Agile & DevOps transformation

I get a lot of request for “help” for  agile and DevOps transformation. Many sincerely want to do this but many do this because everyone else is doing and they contacted some some consultants who gave them their marketing pitch with all the technical jargon and modern buzzwords.  There is a lot of hype around DevOps and most of the consultant companies I interacted had many nice slide decks with lot of keywords but implementing them was very difficult. Adding "Ops" at the end of any normal technical word doesn't turn it into the next stage of DevOps. The team and company needs many years of practice and rigor before they can master the trade. Until you create a team/company which is interested in reducing the overall cycle time  and who is wiling to take the feedback and act on it don't think about ChatOps, DevSecOps, DataOps and a lot of other xOps. These ops jargon looks good on power point slides but in reality these are just common sense, the next thing you

Why Scaling Agile Doesn't Work for large companies

Many large companies make the fundamental mistake of scaling agile without understanding the whole idea behind agile principles. Being large shouldn't prevent you from looking at the fundamentals. I have heard many highly paid "agile" consultants say that the agile principles and process is all theory and the "big" companies should do things in a different way. After many years of "transformation" and pocketing lots of consulting dollars they will still complain about organizational inertia and lack of support. The moment they leave the company the entire "agile journey"  will go in reverse direction.  The objective of transformations shouldn't be to support any tool or any framework or tied to custom "enterprise" agile SDLC.   The transformation should focus on individuals, teams and products. Equip them with modern tools , train them on Agile and DevOps principles and encourage them to learn from their mistakes. Guide th