Scaled Agile Framework (SAFe)

Know about details of what, why and how of Scaled Agile Framework (SAFe)
Read More

Organizational Change Management (OCM)

How to have Efficient and Effective Organizational Change Management (OCM)
Read More

Art Of Delegation

Know-How and Essentials of Effective Delegation!
Read More

Post 2 Headline

Sample small text. Lorem ipsum dolor sit amet.
Read More

Post 3 Headline

Sample small text. Lorem ipsum dolor sit amet.
Read More

Post 1 Headline

Sample small text. Lorem ipsum dolor sit amet.
Read More

What, Why and How of Scaled Agile Framework (SAFe)

What is Scaled Agile Framework (SAFe): It is a framework through which we can scale agile for bigger projects to achieve better collaboration between multiple teams, to meet quality and faster delivery to market, in the shortest sustainable lead time.

Why do we need SAFe to scale agile?

Here are few of the known and famous agile methodologies that you might have used to deliver your projects, where Scrum, Kanban or combination of both(scrumban) are the most famous methodologies in the Software IT industry:
  • Scrum Methodology.
  • Lean Software Development.
  • Kanban.
  • Extreme Programming (XP).
  • Crystal.
  • Dynamic Systems Development Method (DSDM).
  • Feature Driven Development (FDD).
Here are few important aspects due to which we need to scale agile:

  1. Needed for managing bigger and multiple programs in parallel.
  2. Better risk management at program level.
  3. Manage dependencies between huge and multiple teams.
  4. Helps building one system and better integration for a working software.

Let’s take an example of a banking system where we want to build this huge system and want to achieve quality and faster delivery to market.

As shown in above picture we have four programs (1. Personal Banking, 2. Corporate Banking, 3. Loans, and 4. Investments). And there could be more programs.

Each program has sub modules, for example Personal Banking program has sub-modules as:

Now we can manage the implementation and delivery of each sub-module of a program through some scrum team, and to achieve faster delivery to market we cannot wait for a single team to finish implementation for one of the sub-module and then pick another sub-module and so on.

But instead we would like to have multiple teams working in parallel for each of these sub-modules of the program. For example, dedicated team will work on User Management module, and then another dedicated team for Balance and Statements, and so on.

Functional and Technical Dependencies:

There would be now functional and technical dependencies between those modules and teams, for example User Management team will need to make sure that they need to build an authentication and authorization APIs, so that other teams could use those APIs to make sure that only valid user should be able to access their Balance and Statements, or to transfer money, or to setup required settings related to their credit or debit cards, and so on.
Likewise, Product Owner and Product Manager will also need to make sure that program level and team level backlog and priorities are effectively defined in the right direction, and this is very important to make a successful program.

Technical Decisions:

Who will be accountable and responsible for taking technical decisions for multiple teams?
We want some technical expert who will make sure that whole program teams are following the technical best practices and direction to meet technical quality standards, and each module’s technology should be compatible and interoperable.

Multiple Program Challenge:
Along with the multiple teams working together for a program (Personal Banking), there are also other parallel programs that we need to take care of:

Now as personal banking program will need 5 to 10 teams working on the respective sub-modules, likewise other programs (Corporate Banking, Loans and Investments) will also need multiple teams (10 teams approximately) for each program.
We can now pretty much imagine the level of dependencies and risks at program level, as we are now talking about 40 to 50 teams working together to deliver a banking system, meaning that a huge team of 350 to more than 500 people working together to meet quality and faster delivery to market.
Can Scrum, Kanban or any agile methodology has a capacity to deal with such big programs and system? I don’t think so!!!


Solution: Scaled Agile Framework (SAFe):

Scaled Agile Framework is a life saver here, it helps us to scale agile and appoints key owners of the whole system at different roles and responsibility levels, who will be accountable for the success of whole program and system, through better collaboration and by taking key responsibilities as per the program and system needs.


Team Level: Team is the heart and foundation of SAFe, and as we all know we have three actors in a Scrum team, i.e. Team, Product Owner and Scrum Master, where scrum team is a self-organized team operating and defining the best way for themselves for delivering and aiming for the sprint or iteration goal achievement. Each team will work on the Program's sub-module. For example, dedicated team will work on User Management module, and then another dedicated team for Balance and Statements, and so on, and each team's Product Owner will be owning the team backlog for his team at a team level, and will work with the assigned team for feature and module deliveries.

Program Level:

Whole program is managed through program layer, and we will need same number of program layers equivalent to the number of programs, like in our case we will need 4 program layers for below mentioned programs:

Product Manager at Program Level:

Just as product owner owns the team level backlog for his team, Product Manager owns the program level backlog for a particular program, for example one product owner will own the program backlog for Personal Banking program, and another Product Manager will own the program backlog for Corporate Banking program, and likewise other Product Managers for Loans and Investment programs respectively and will be responsible and accountable for their respective programs.

Now Product Manager will coordinate and collaborate with Product Owner of their respective program’s sub-module team, for example Product Manager of personal banking will work with product owner of User Management team, and with other product owners for their respective program teams (Balance & Statement, Transfers, Credit and Debit cards team) of the same program.


PO Sync-Up Meetings: Weekly PO sync-up or as frequent as per need, is required for making sure that all team level backlog is aligned with the program and all functional dependencies and risks has been taken care. In this meeting all product owners of program teams collaborate with their program level Product Manager, at times scrum master or functional representative of program teams may also participate.

Architect at Program Level: Architect at program level will be taking technical decisions for program teams and makes sure that all modules and teams are having compatible technology. Program Architect also makes sure of building an Architectural Runway (technical base, foundation, framework) for the whole program to enable all teams to meet their technical and function goals.
Architect works very closely with the Product Manager to understand the program vision and to create a technical vision for the program, to direct and guide program teams on the architectural path.

Release Train Engineer (Chief Scrum Master) at Program Level: Release train engineer is a chief scrum master at a program level and coordinates with all team’s scrum masters of the same program. Just as scrum master is responsible and is a servant leader for the team to remove any bottleneck or impediments, and makes sure that team is following process and on track with the team goals, likewise RTE or chief scrum master at program level makes sure that all teams of the program follows process, i.e. engineering practices for writing good quality code and code reviews are happening, teams are writing unit tests, automation scripts are written and following same processes and tools in all teams.

Scrum of Scrum Meetings: Just like PO Sync-Up meetings, Scrum of Scrum meetings are for all the Scrum masters for program teams to coordinate together along with the Release Train Engineer, and key representatives of respective teams may also be part of the meetings as necessary.

System Team at Program Level: System team plays a very critical role at program level to integrate all sub-modules of the program, and makes sure that program builds one system and a working software, well tested, and as per program goals. System team is also responsible for system demos at the end of the program increment.

Solution Level:

Now that we have program layers and product managers taking care of respective programs, we need key people who will take ownership of a whole system, for example banking system as a whole. Who will take system level decisions or removing functional and technical dependencies between programs (Personal Banking, Corporate Banking, Loans and Investments), and making sure that same processes are followed through all the programs in the banking system?

Answer to these challenges is a solution layer, where Solution Manager will own the backlog of whole system and will coordinate with all Product Managers at their respective programs. Similarly Solution Architect will own and drive the technical leadership for a whole banking system and will coordinate and provide technical path and guidance to each Architect of their respective programs for banking system, likewise Solution Train Engineer will make sure that same processes are followed throughout all the programs for the system, and System Team will make sure that one working solution is delivered with best quality and market expectations. And all these key actors at solution level coordinate with each other and down below for better coordination and collaboration for meeting business goals. Weekly sync-ups or meetings as frequently as necessary would be conducted for making sure that everyone is on the same page and driving common goals through agile release train and program increments.
Effective and efficient communication is the key in whole organization from top to bottom and vice-versa, be it related to functional or technical requirement grooming, risks, dependencies, course corrections or removing impediments and what not.

Portfolio Level: As we talked about banking system, there could be bigger and large systems that an organization may be working on, for example, how about if we also want to build some big ERP, or some healthcare system, or some CRM.

So here portfolio management would help in approving budgets and respective system initiatives based on cost and benefit analysis, and to take help from enterprise level architect for taking technical decisions for all systems and to make sure of reusing the technology and same frameworks throughout systems as per feasibility.

Delivery Through SAFe: Program Increment (PI)

Program Increment is a tool through which Scaled Agile Framework delivers faster value to market.
Program increment consists of 4 development iterations, followed with 1 Innovation and Planning Iteration during end of the Program Increment.
Program Increment could be 8 to 12 weeks long, although the ideal duration is of 10 weeks, where each iteration ideally is of 2 weeks, the whole idea behind such small iteration is to have faster learning cycles and to aim faster time to market.


PI Planning: It is an event which occurs at the very beginning of the program increment where all program teams are focused towards planning for the program increment goals. Two-day planning is dedicated for identifying delivery goals, risks and dependencies. It is the heart of Program Increment and foundation for the agile release train to deliver value at the end of the program increment. PI objectives are also derived during planning to measure PI success. PI objective could be the enablers for different teams and key goals defined as success criteria.
Through PI Planning, program teams also get insights to their iteration goals which helps them prioritize their backlog and tasks accordingly.

Team Level Iteration: 4 development iterations, followed with 1 Innovation and Planning Iteration during end of the Program Increment.

Innovation & Planning Iteration: At the end of the Program Increment, Innovation & Planning Iteration serves multiple purposes – as it also partially keeps some buffer to meet PI Objectives, provides dedicated time for innovation, learning & education, also involves PI Planning for next PI and reserved for Inspect & Adapt event for demoing the system, measuring success, getting client feedback, followed with retrospective and problem-solving workshop for improving deliveries and processes.

Scaled Agile Framework helps increase productivity, happier and motivated employees, defect reduction and faster time to market.
Here are some case-studies: https://www.scaledagileframework.com/case-studies/
References: https://www.scaledagileframework.com, http://staragile.com/

GO TO TOP!




How to have Efficient and Effective Organizational Change Management (OCM)

Organizational Change Management (OCM) is an approach for managing effects of change on people, which could be because of new business processes, changes in organizational structure, new job roles or cultural shift within an organization. And organizational changes due to those initiatives and needs, it is ultimately the people of your organization who have to adopt and embrace the new ways of working.

Only thing that is constant is CHANGE! -Hiraclitus

Change happens when the pain of staying the same is greater than the pain of change! -Tony Robins.

It is six times more likely to meet project objectives when we have effective OCM. -Prosci

Effective organizational change management addresses the people side of change, and here are the crucial questions:

  1. What change will be needed from people.
  2. How people will react to change.
  3. How to build culture, or to make a cultural shift to embrace the organizational change.
  4. Managing change on people, and people behavior.
  5. How to build and nurture healthy mindset and competent skill-set for change capability.
  6. How to effectively help people embrace and adopt change.

For successful organizational change, it is crucial for its people to work as a team and togetherness in adapting to the change, and to make it more effective. Therefore the key ingredients are to engage people, empower them, bring sense of responsibility and accountability in people to own an idea for change, willingness to contribute and be successful in organizational goal.

Challenges and Roadblocks: People don't want to adapt and learn new interface, technology or are reluctant to new ways of working.

Source of resistance which may result in failure to bring organizational change are:
  1. No commitment from the management: Half-hardheartedness is equivalent to zero willingness to change, and it will end up in failing to bring change. To succeed we would need commitment to change, discipline and continuous efforts during the transitions.
  2. People say yes, but mean no: Journey to Abilene is too dangerous, as most people agree to do certain things as a group, or an organization, which they personally do not agree or believe, they initially agreed to it because they wanted to represent themselves as a team player, to save face, and/or to avoid conflict. But instead, when people are asked individually about an idea, it turned out that not a single person supported the idea, and everyone thought that others wanted it, and ended up saying Yes, just so that they do not upset people or cause problems. And this will turn-up into not owning an idea to change, and missing responsibility or lack of accountability will follow-through.
  3. Revert back to the way things were: This may happen due to lack of interest, missing enthusiasm, lack of communication, responsibility, accountability and fear of failure etc.
  4. Managers acting without authority: It can bring confusions, conflicts and missing transparency which follow-through with lack of accountability. Therefore executive need to clearly state who is in charge and back them up with right authority and tools for successfully driving the change. In situations in which people must perform duties at a level higher than the authority of their position allows, conflicts and other tensions frequently arise. When PMs are expected to produce change in their organizations through projects, they often lack the authority needed to “make it happen.” However, when business partners abdicate their responsibility on projects, then later blame the project participants when projects fail to deliver, conflict and discouragement can result.
  5. Lack of sustained momentum, people need to stay committed.
  6. Lack of visible sponsorship and support: People need to know the support system and top leaders in authority to sponsor the change, so that they can trust the process, and must be aware of the priorities and transparency to believe in change happening.
  7. No urgency of change: If it is not urgent, it will get delayed, and will remain in the lower priority list, and will ever picked or worked upon.
  8. Not enough value: If the change is not worth adapting, and is not bringing enough value compared to the efforts we need to put in. It would not earn enough motivation to execute it.
  9. Too many "Top" priorities: If the organizations are always surrounded with too many TOP priorities, we will remain busy in the turf of top priority wheel and will not ever get a chance on important organizational change. And it is a time to rethink on organizational ways of working if this situation is a usual norm.
  10. Lack of communication and engagement: Unclear path, untold vision and goals, unavailability of helping tools, unidentified purpose, ineffective feedback mechanism, missing capability building program, and lack of communication of those crucial aspects would definitely will bring resistance to change or failure.
For effective organizational change, it is important for organizations to have compelling vision and goal, and then to know about organization culture, rate of resistance and readiness for change.

Executives will need to define an efficient and effective RACI model

Stages of Change: Initially all change reactions from people comes through some emotions rather than rational Idea, positivity, innovation, education and creativity.

Emotions will run back and forth, unless people starts to buy in an idea, and are fully engaged, while constantly progressing towards making the change happen. While progressing towards the change, continuous follow-up is needed along with the efficient feedback mechanism in place, for efficient progress and for meeting the goals.

Communication and engagement must be the rigorous and continuous process with a blend of proactive addressing of emerging gaps and challenges that are impacting the change delivery.

Change stages and walk-through with effective actions and handling emotions:
  1. Denial stage: Initially people will deny and will be reluctant to change. In this stage it is very important to create a balance of empathy and enforcement. Communicate the urgency of need, vision and purpose very clearly with a blend of empathy for people to bring in their efforts.
  2. Anger(engaged): People need to be heard, understand them, listen them, watch them, and manage them with careful planning and communication. Anger is just also one of the initial step towards engagement, which needs careful handling and transformation into positive engagement. Understand the root cause of their anger will help organization to take appropriate step forward, understanding their perspective will keep them calmer and feeding them with the purpose and showing them some glimpse of future will help them understand the change in a better way.
  3. Bargaining: People start bargaining and do not want to fully adopt the change, so support them, and do not give in, look for win-win if possible.
  4. Depression(Disengaged): When people are left with only option that is change, they may feel depression or disengagement, this is a time to provide them all the support and understanding, try giving them a different perspective.
  5. Testing(trying to test and follow the change).
  6. Acceptance(I could have done this earlier): Provide training, get feedback, reinforce, celebrate and congratulate people.

Pillars of Delivering Organizational Change and Activities for Driving Organizational Change:




1. Create a sense of urgency: It helps in delivering clear and relevant objectives, and willing participants. To achieve it, focus on value, observe directly, be transparent, collaborate. Created a sense of urgency by selling the future, showcase the status quo as dangerous (Nokia is an example). This can be identified by talking to customers, having uncomfortable talks and getting real feedback, analyze outside view. And be ready to share the bad news(be transparent without any sugar-coat).

2. Stakeholder Management: It will bring strong and committed leadership, where goal is to win support of others. It can be gained by identifying stakeholders. Prioritizing effective communication and management. Understanding organizational goals and stakeholder needs. It will help in increased support, more hands and resources resulting into improved quality.

3. Communication helps achieving willing and prepared participants.

4. Sponsor Management: Helps delivering strong and committed leadership and provides high OCM efforts and support.

Sponsor Types: Authorizing sponsors are required to support a project by authorizing, legitimizing and demonstrating ownership of change and should manage any resistance to change. They can delegate the responsibility and are accountable for the change.

Reinforcing sponsors on the other hand are support a project, manage resistance to change, and authorizing sponsor gives the authority and power to reinforcing sponsor to reinforce the change.

Sponsors are directly accountable for the entire project for organizational change. And should be visible to everyone impacted, they are responsible for a lot of communication.

Effective RACI (Responsible, Accountable, Consulted and Informed) Model would help achieving the objectives efficiently.

5. Empowerment: Helps deliver prepared participants, people are empowered by feeding them with realistic goals, capability building tools and removed barriers.

People are helped through training methods: Coaching or mentoring, workshops, online courses, simulations, tutorials, blogs and on the job training.

Effective training happen when we are keen to know about what we want to achieve from the training, and did we really achieved it?

Those key questions are answered through identifying the business goals and then results, while functioning and utilizing the learned skills.

Learning Process will help Test/Prove the needed skills for organizational functioning to gain business results.

6. Resistance Management: Helps in changing resistance into willing participants.

People are resistant to change out of fear of unknown, lazy attitude or fear of failure. And organizations can help their people by:


Help people understand and know, what is at the other side of the door, and how it will feel like to be there, people are ready to move into future once they know about the risk is greater in staying in the current state, and once the unknown is known, and when they have glimpse into the future.
Build and keep trust: People will follow you and trust your vision if they trust you with your words and vision.
Offer visible rewards.
Avoid change fatigue: Too much change is bad, Select the change wisely, as disruptive change with most value.
Identify resistance through ABC analysis: Attitude(what people think), Behavior(what people do) and Culture(accepted ways of working within organization), and then helping people trust the process and vision to bring best out of them to embrace support and deliver change.

7. Reinforcement: Helps deliver sustained improvement. Goal for sustained improvement is achieved when change is institutionalized, it would means that people have stopped reverting back to the old system.
  • Anonymous feedback from people make them feel more comfortable for negative feedback, and honesty in feedback will identify the gaps to be worked upon for successful change delivery.
  • Let your people know you have heard them, and are taking appropriate actions to help them to your best of capabilities, keep the process transparent, and well informed while they walk on the changed path.
  • Effective feedback mechanism will help identifying the gaps and improvement areas for moving forward with the reinforcement plan, Identify , who is struggling with the change, find the root cause and help them catch the speed.
  • Introduce red tape for old ways and add approval requirements for old ways, people will like to follow new methods If old ways become more difficult and inconvenient way. And if people tells that it is not fair then just inform them about the option of adopting the new ways needing no approvals at all.
  • Reward and Recognition: Motivate others to take the plunge.


GO TO TOP!






Essentials of Effective Delegation!

I love this quote from Jim Rohn: Learn to help people with more than just their jobs: help them with their lives..

Similar way, delegating is also not just about assigning tasks, but also helping people professionally with a human connection.

Delegation is not always easy; it is not about: NOT to delegate where you need to help more, and not either about delegating more where less help is required from you. It is also not about delegating difficult tasks and then let the other person deal with the consequences.

Delegation can bring more harm than good.

For delegating effectively, we need to understand few simple things very clearly:

Why to delegate?
  • You cannot do everything of your own. Product success is not a one-man show; it is teamwork that brings amazing results.
  • Leaders do not want to be a bottleneck.
  • To help and grow people and bring sense of responsibility, motivation and achievement in people.
  • It will build trust in your direct reports through the process.
  • People may do mistakes initially but they will learn from it, and it also adds to capability improvement and long term product success.
  • When you delegate tasks to your people, they will consider themselves valuable and will feel a sense of achievement on completing the tasks, with improved confidence and motivation.
  • You will not be a bottleneck anymore, and have groomed people to take responsibility with accountability in their defined and expected roles and responsibilities.
  • You can focus more on work which is worth your level of responsibilities.

What and how to delegate, and who should I delegate to?

  • Think about tasks that is not expected from your level of responsibilities, and shoulder off those tasks to someone from your direct reports who falls in that level of responsibility as per their availability.
  • Analyze training needs and delegation risks. You need to focus on the right tasks that can be delegated, easy or complex does not matter.
  • Talk to your direct reports about how they feel about the task, their motivation factor, and the area where they will need more help, context setting, tools and training, and more importantly also discuss about areas where they are more comfortable.
  • This early conversation with your direct reports will help in avoiding micro-managing the tasks, and planning for providing structure and support where it is a real need.
  • Make sure you keep right balance in helping and supporting the tasks, and most importantly avoid micro-managing.
  • Do not focus on delegating enough but focus on delegating effectively. Focus should be on quality over quantity.


How to achieve delegation results?
  • Set clear expectations and goals as a baseline to compare results, clearly define what to do, when to do, and if needed then also about how to do.
  • Keep check on status but avoid over reporting, one to one meetings or status check from team or subtle conversation based on situation and need could help in knowing status and results.
  • Talk to the direct reports, and exchange feedback on the delegated task, about if it is proceeding well, if improvements are needed in some area from your end to extend support and help, or give feedback to direct report if any improvement is needed for expediting on the task or change in the methodology and approach.


GO TO TOP!