Showing posts with label org. Show all posts
Showing posts with label org. Show all posts

Sunday, September 13, 2020

Business Agility are we back to CMMI?

Agile is around for at least +20 years. However, one big complaint was "how can we scale agile" or "how we go beyond teams". You might consider business agility as the 3rd wave of agile.  But is really hat the case? The world changed a lot in the last +20 years there are many other things to change in the next years. COVID-19 amplified lots of the issues that was already in place.  It's really business agility something entirely new or just an aggregation of previous movements, practices, and values? Business Agility is a hot topic right now, lots of people talking about, very few really doing it. It's hard to get real agile teams nowadays, imagine whole orgs being agile, even harder. IMHO to make the org agile is super hard, however, some of the reflections that business agility is proposing sounds right in the sense we might be asking these questions anyway. 

What is Business Agility Anyways?

Business Agility is about having agile at the core of the organization, the boards, the executives, the C-levels, the high-level mgmt, the leaders of the company but also going outside the IT and have it in other departments like Marketing, HR, Financial, Sales, etc. We can see business agility about having some core capabilities well established such as:
 * Agile Delivery
 * Product Innovation
 * Organization Adaptability
 * Leadership effectiveness 

We are talking about applying agile principles beyond technology. The word hard does not express how hard this is. All these capabilities can be considered new capabilities because if the org had it we would not be talking about them. 

Business Agility Relation with other Movements 

IMHO Business Agility it's backed by several other movements such as: 
 * Agile
 * Lean
 * Lean Startup
 * DTA / TTA / Lean UX
 * CMMI

Ok. I can see some relationship with all previous movements but CMMI. Well maybe because you are thinking about the bad parts of CMMI (Slow, process-driven, inefficient, certifications) which are very bad things. I would recommend no company to get a CMMI label. CMMI had 1 idea which was very good even if CMMI executed super badly. I see some people in Lean also backing and supporting this very CMMI idea, which is levels. 

Are we going back to CMMI? 

CMMI had levels 1 to 5. Meaning you need to improve your company as a whole from one level to the next level. IMHO the idea was super badly executed by everybody. However, if you think deeply you will see its not complete waste. Let's consider a football player, you might consider JR, Amateur, and PRO. A-Pro player might be able to do things that an amateur or JR might not be able to do it. 

IMHO CMMI's mistake was the content and being process-driven. The issue with levels is also that it might be different from company to company so I would say is not that static. If you Look David Anderson's approach to Lean/Kanban to enterprise it has lots of CMMI ideas on that. 

If we think about an org being Agile, definitely is not a 3-month work. Lots of ideas are business agility sounds like Lean principles to me, 14 points of Deming to be more specific like (improve leadership, break silos, drive fear out, create purpose, etc..). 

In some sense, I believe we are going back to CMMI. Since we might not be able to fix all problems at once we might need to go trought some multi-stage change phases. Do each phase need to last 1 year, no, hell no.  Otherwise, we might be talking about some change which is very hard to drive and a problem that is too big to fix at once. 

Business Agility Challenges

There are many challenges ahead. Lots of companies have politics, empire-building rather than focus on innovation and learning. Product is a area where lots of change also need to happen. Product is often a project management organization rather than being a product management organization. The product often pushes for Features and turn Tech into a Feature Factory. The product needs to stop focusing on deadlines, features, and cost and focus on Discovery and customer-centricity. Business agile is bigger than product or tech so imagine the size and the number of issues we need to go thought here. 

We also need to talk about the big elephant in the room. Culture and People. It's very hard to make some people to change. I believe people can change, but not all people. Sometimes what companies do to make change happen is to fire the leadership group. Companies are struggling to apply agile at the teams levels, imagine to apply at the execs level. At the same time looks like thats one of the big reasons why agile fail in the first place. So looks like talking the heart of the problem. 

The Catch 22

On thing, the agile community was always worried about was about being prescriptive. So focusing on the principles rather than tell people what to do (process). Which makes all the sense and is completely right. However, if you don't give guidance to people you end up with abuse. Some people say thats how success looks like. Agile has been abused and people are doing it wrong because for lots of people that's how success looks like. So how can we focus on principles and at the same time tell people how to do things because at the end of the day people need guidance. Before I explain what I think I need to elaborate on what I mean by "tell people what to do". 

I dont believe in micro-management. However, at some times the structures will not change by them-selfs and managers will not change by themselves alone. So thats what I mean by "tell what to do" which is not micromanagement, is not command and control but having a strong leadership who drives change.  Leadership is both the problem and the solution that business agility needs to tackle. 

Cheers,
Diego Pacheco

Wednesday, August 5, 2020

Productive Disagreement

Building products(software) is hard. There are so many things that can go wrong. At Scale, everything becomes more laborious. More people, more coordination needed, more things that can go wrong and more pieces and more dependencies. To scale, we create team structure and software, often in the form of SOA Services. Any architecture or Design should survive a set of hard questions; otherwise, the idea or solution might not be good enough. Having people thinking into different dimensions, with varying points of view and various schools of touch, would create disagreement with could be an excellent and healthy thing. However, not always thats is the case.


When is Disagreement not Healthy? 


I would say that disagreement is not healthy if create one or several of the following side-effects:

  • Affects team morale(mature team) by not empowering that team
  • Prevent progress by power from Comand Control Structure
  • It's not logical or rational, and It is just a decision based on fear or emotion.  
  • Becomes a Power dispute(it will proceed via John or Petter way?)
  • Promotes a toxical environment with lots of politics

Some companies have toxic and un-secure cultures and environments. Often Top-down and old school. Steve Jobs once said, "There is no sense in hiring smart people and tell them what to do." IF you can't change the culture, you should consider leaving, at the end of the day it's what happens and is what people do. 


When is Disagreement Healthy?


First of all, To have a productive disagreement, you need to have a psychological safety environment. Wich requires mature people(a lot of them) and careful management. Not every company is like that, unfortunately. If you have that, the environment(be glad). Having that environment than disagreement become a valid tool to:

  • Promote team ownership
  • Cultivate a non-silos culture of collaboration
  • Generating new ideas
  • Hardening Solutions 

Ownership ends up promoted because people get into conflicts, and thats okay because of this is just ideas, it's not personal, and that makes the team grows. 

Non-Silos culture is promoted when you add other stakeholders from other teams to have that discussion and listen and participate equally. 

However, all of this is not possible if you don't have psychological safety at the company level. 

Generating new ideas is a super cool side-effect because you end up exposed to different points of view, and thats super constructive at the end of the day.

Hardening solutions is one of the best outcomes because collectively reviewing ideas, architectures, designs, and solutions is much cheaper than figuring out this issue in prod. 


I always believe in a Double-check mindset. Having Productive Disagreement is like having Doudle-check at the team or company level, which is super sweet and makes the whole team and the entire company to grow.


How to Enable Productive Disagreement?


There are many things you could do to promote a better culture and, therefore, a better working environment. Such as:


  1. Get executive By In (Management)
  2. Promote Psychological Safety
  3. Replace Blame for Curiosity
  4. Have regular 101s
  5. Do regular retrospectives and clear out misunderstandings. 
  6. Give and ask for Feedback.


Building a better culture is hard and takes time, commitment, vision, and continuous efforts, but it pays off in the long run. 


Cheers,

Diego Pacheco

Tuesday, January 13, 2015

IT Good and Bad Spots

Everything in life has good an bad things - there is no just win model - for sure there are things that are better than others but trade-offs will always exist.

What's the greatest things around IT?

There are several ones. The more I think I got into the *Framework Dilema* so what's the framework Dilema? It means as more as one constraint make it stronger it's also what make you weeak. 

Let's say flexibility its a strong advantage it also be the source of the weakness - this is the duality I'm talking about.

In my list, I would say IMHO: 
- Change - It's always changing 
- Constant Evolution and learning 
- Complexity 
- Build something 
- Culture stronger than practices 
- Delivery 

Change - it's always changing 

In software if does not change it means you are doing it wrong. That's such of amazing thing. Inspiring. In the other side of the coin it creates lots of communication and mindset issues. It's very easy to lost track of something - specially if it's a big company. 

More teams and isolation is awesome at the same time - it's easy to have people doing some mistakes all the time - how I fix that - you start with cops, them you get guilds and more to other static and financial groups as we'll. 

There is no regular group - what is great - but at same time people try to creat this all the time with commi, certifications, etc... 

Tools are often mistuderstud - people want a make tool so they can put money in and say wow we use Jira do we are agile or we have puppet so we are Devops - all lies - people want lies - make life easier. The true is that is not easy and take time and culture - the main issues is how big is this culture ? 

I don't like CMNI, I don't even think it's updated - the practices - on the principles most I consider wrong - so I don't agree with most of assumption - but they tried to get areas - even I don't like they areas. 

So you need a lot of things to get things write. Proper things like: 
 - OSS
 - Lean/Agile
 - Architecture / Service Orientation
 - Devops
 - Ongoing 
 - Coaching 
 - Leadership 
 - and so on and on....

Constant evolution and learning 

It means be humble. Always there is something more you don't know but you will know you need. 

Learning means - no easy easy answers - means if you get one thing right it means you still have another 20 to get it as well. 

Complexity is the new Boss

If you if ignore it will bit you very hard - it's like healthy Mindsets you might ignore it for 20 years and be okay - but the after the 30 it gets you hard. 

In other other IT it's easy to get corrupted since you need have desipline - but you know what it's like eating at the mc Donald's you don't realise until you weight 300 pounds. 

Build Somehhing 

Build wins. That's dated already. What's dod(definition of done)? Tested? In prod? More and more means more discipline - like automated, with fallbacks, stressed, etc... 

Validation in sense of test become a big thing now a day - so hell yeah we need build more code - but it needs be way better designed and architecture than what we have it now. 

Culture stronger than practices 

I always like practices but there lots of practices zelots today. I don't think anyone needs scrum now a days or daily meetings. 

There are so many miss reads - so drop it - focus on Continnous improvement and real changes - if does not have then Behavior it's bullshit that's the metric. 

If it does not change the code outcome and key visible aspects - it's bullshit. 

Delivery, Delivery, Delivery 

That's how you win. That's how you build trust - that's how you get people with proud. 

In It we need have better ways to delivey than just worries about pointless manager practices or useless schedules. Should we drop dates? No. Should we forget cost? No way. 

Be professional - deliver and improve it - don't it matter if is little - direction is more important than speed - but speed is important too so do cook to mutch :-)

Cheers,
Diego Pacheco

Sunday, November 2, 2014

Driving fear out through passion and patience

If you want do something why dont you do? Most because there is fear around your, sometimes this fear is real other is not, in business fear will always happen and for some stuff you do you always will need to be careful.

Some organizations or systems are more complex and political tham other but you need be very careful because sometimes things are not impossible as we think they are.

Is easy to see things as worst as they are because we fell safe this way. So how we overcome fear? For me is a matter of passion and patience, first of all you need to love what you do otherwise you wont be able to drive any change, secondly still talking about you passion you need to be yourself.

Passion is magnetic

People often listen to passionate people, because we want that, because is in or very nature i think could be our artistic side taking control or something like that. Thats why because of pitch a company could be founded now a days and chance the world,  if you think about it, its true? A Pitch is just a passionate speak about some ideias. So people by this and get money because not only the ideas but what you can do around that ideas so there is a sense of faith in your passion.

Patience, Patience, Patience 

Bigger the prize, longer the fight. You will need to have patience, nothing chance as short tern, so great stuff will only happen after times goes by. I would say is a never ending stop battle since in companies and life people keep going, you get new people in your work and life how often? So you are dealing with something that is alive. Thats why organizations are some complex and so hard to change because if hard to keep things alive.

No matter your culture or beliefs there are things we can do world wide. Like: Appreciate a simile or a good piece of code, or team work or a beautiful software interface that works. In the end we are not so different but we need to keep  and keep doing what we belive otherwise it dies. So what you want todo become a cause and if is good cause you might get more people to follow your cause and you need to infect they as a virus. More people you infect with this better, more chance you have to make things happen.

You need to Start and Keep the Cadence

Instead of complain go do one small thing to help things to go a better spot. After you do that keep doing that every week. That`s how we can change stuff with rythin, like a song you need keep the jam otherwise it gets ugly.

I belive as human beings we have a lack of creativity. Because why there is people motivated and people demotivated on same spots? I guess is a matter of perspective and faith, not only faith the persistence to keep pushing into a direction. Fear is often trigger when you try todo big things, thats why baby steps are so important because with small steps you dont have fear is easier to overcome stuff.

Very often our perception is worst than the really. So sometimes is just a matter to find something small that can work and keep trying the thing you want todo or change. You can change people minds you can make they belive you, but did you belive in your self?

Not sure if you do belive in your own ideas!

Do you really belive in your ideias? If thats is true, what are you doing? How many people do you talk every week to change stuff? how many different things did your tried? I made several experiments in my life. But i notice when i say something to people sometimes they got afraid but if instead of saying i DO with they together they fell better and they are able to overcome fear. So was that hard on the beginning? Well thats the thing FEAR makes things worst them they actually are.

Most of great ideas and startups i see now a days are around very passionate people who keep pushing into a direction or a vision they had. Maybe your idea is not that solid, so you could be talking to people outside of your office to get it into a more mature stage or you could be doing small experiments to see if things works as you think they worked.

Cheers,

Thursday, October 23, 2014

Why Management does not work on Agile?

Today everybody talks about agile, yeah agile is mainstream. Agile become "Management", scrum is better than waterfall but things are not working as they should.

I`m not staying you not need management. As you grown into a complex structure you will need coordination, costs control, and management is need as you get something bigger and complex.

But in order to get it right you need realize when and where you fit management. People talk a lot about scaling agile and i think is funny so little is about engineering. People talk about multiples teams, multiple Product owners, multiple work streams, multiple timezones and cultures but where is the engineering? Deming(The Big mind behind Lean) talk a lot about psychology and the ability to understand systems and they nature.  Go Google you will lots of things talking about teams and so little talking about stuff like: Culture, Engineering practices, software architecture(real one, not power points) and principles.

Why Management is not working?

You can only manage what works, if it dont work how could you manage it? How could you manage what you dont understand!? RUP in the past talked a lot about "Vision" thats something very important. If you dont understand it how can you fix it or improve it!?

We need management for complex things but management need came later, after leadership and great engineering practices. Software architecture and design are key elements or enablers of developers / features / users scalability.

Agile Engineering is almost dead, how many posts do we see around it!? How many people are talking about it, well the most successful company's are doing this, and i see lots of good samples like: Netflix and Spottily.

Why do we still have spaghetti for dinner?

Spaghetti code / design / architecture happens because the lack of the right practices like: Code Review, Design Sessions, Design Reviews, Coding Dojos, Proper Retrospectives and lack of right technical leadership.  If you keep not doing this things it will become a habit and belive me bad habits are hard to fix, you need change bad habits with good habits.

How to introduce right development habits? Strong vision and fanatic disciplined leadership with engineering practices make they happen every day, systematical, over time, over and over.

Why I dont like what happens with "Technical Debts"?

The idea behind technical debts is brilliant and is a great metaphor the problem is the fact that: Why should you care about your others debts? Fuck them right? You will only care if is your debits. So if my friend have debits why should i care? IT department often hold the business down but business also try to be "clear" and never pay technical debts and this make they go slower not fast but since they dont see the debts as their debts they wont pay it. I like the idea of not separate the tech debits from the business stories because that dont give options for the business to decide "not pay the debits".

So basically should management be doing this stuff? No they should not, this is a technical fault because why should a manager do a design session, right? At some point all the code and the system become an Alien system. Nobody knows from where thing come and where they will go, people just know is that way and keep going on that same direction.

Systematic fault also called Cancer

So nobody cares about technical debts, they are not being payed, no proper review meetings and proper retrospectives to fix the product and the process, so nobody study new technology and techniques... At some point people just get demotivated and start quitting and one thing leaves to another and this become very spread and bad, so its hard to get fixed. But it can get fixed.

In order to get this right you need do systematical fixes, in process, in people, in leadership and in engendering culture and practices, you need make sue people are learning and improving stuff, that takes time but direction is more important than speed, you can do it.

Everything can be fixed, you just need patience and time, keep doing the right things. Small is better than big because is easier to fix but start one small step and keep going, you can go very slow if you go right it does not matter one day you will change the world :-)


Chuyên mục văn hoá giải trí của VnExpress

.

© 2017 www.blogthuthuatwin10.com

Tầng 5, Tòa nhà FPT Cầu Giấy, phố Duy Tân, Phường Dịch Vọng Hậu, Quận Cầu Giấy, Hà Nội
Email: nguyenanhtuan2401@gmail.com
Điện thoại: 0908 562 750 ext 4548; Liên hệ quảng cáo: 4567.