The Required ‘Cultural Transition’ For Agile-Scrum Teams
By Rumesh Wijetunge
"It is not the strongest of the species that survives, nor the most intelligent. But it is the one who is most adaptable to change" - Charles DarwinTechnology today is evolving rapidly at an exponential rate. Business entities in order to survive and thrive must adopt and adapt to technological advancements at a rapid rate. The dwindling profit margins, the shrinking in time to market, globalization, and the technological advancement of competitors mandate organizations to innovate put out their products and services as soon as possible.Software project management has evolved rapidly over the last few years. Organizations large and small alike are rapidly transitioning into using Agile software development and engineering frameworks resulting in technology advancement at an exponentially rapid pace. The struggle of adopting and adapting to Agile delivery for organizations and teams alike is well understood and documented. The culture of the organization and the team plays an important role to facilitate this agile adoption.The effects of globalization and technology have a direct impact on the Software Development Industry as well. Software project management too has evolved rapidly over the last few years to cater to this change. Organizations large and small alike are transitioning into using change-driven software development and engineering frameworks rather than sticking with plan-driven software project management approaches.However, the struggle of adapting to Agile practices is a universal problem and this may the case for years to come. An area of difficulty in terms of this adaptation to agility is organization and team culture. Today, through this article we will look at the culture of traditional plan-driven software development organizations and then the requirement of culture for change-driven Agile Software Development organizations.Culture as an enablerCulture is often defined as ‘the way things work around here’. Schein (1980) defines culture as the pattern of basic assumptions that a group learns, or which is taught to new members as the correct way to perceive, feel and think in relation to situations they encounter. Many organizations do similar activities, but no two organizations do activities or tasks in the exact same way as the other, and no two organizations feel the same.Transformation into an Agile team should first happen at an organization level that they can be cascaded down to the team level. It is the senior leadership’s responsibility (owners and CXO’s) to embrace agility, and then to create the corporate values, beliefs, behaviors, and practices necessary to activate this culture. Scrum masters as the Agile leadership of the organization must understand this corporate culture and then adapt the same to teams as necessary. Schein defines the culture at 3 levels.Level 1: Artifacts or the visible features, which reflects the culture (roles and people, symbols, narratives, activities etc.)Level 2: Beliefs and values which the organization and the scrum team (leadership, integrity, trust, etc.)Level 3: The deepest and most important level which consists of assumptions which shape level 2 and level 1 elements listed above.The Agile leadership is responsible for creating and communicating cultural elements at all 3 levels to team members so that they understand, embrace and develop the Agile culture.The transition in Agile cultureBelow is a depiction of 4 basic types of culture as defined by Handy (1999).Traditionally software development organizations followed plan-driven SDLC approaches to develop and deliver solutions. The Power and Role cultures were evidently visible in these sort organizations. The power in terms of initiating a project, deciding on the resource requirements, deciding on the budget and deciding on the scope was with a few key individuals within the organization. Role of the customer account manager, project manager and the other project roles such as developer, business analyst, QA engineer was clearly defined. If any information was required or if a client demonstration was to be carried out the team had to wait for a considerable period of time to communicate, take necessary approvals and to implement the same. These organizations and teams inherently had the problems of role conflicts, contradicting priorities, miscommunication and slow decision making which ultimately resulted in delayed low-quality projects.The task and person cultures are more suitable for Scrum projects. Yes, the scrum master, product owner, and implementation team roles and the communication lines defined properly for an Agile project to run smoothly. But the team must be self-organizing to identify tasks to perform in order to create and deliver value to the relevant stakeholders. Each team member must be a cross-functional team player capable of fitting into any role and perform any task as required to deliver the solution. The scrum master must facilitate discussion within and across multiple teams and stakeholders as deemed fit to remove impediments and move the project forward. Team and individual success must be celebrated along with the achievement of common project objectives.For more information on types of culture please watch the video through below link.ConclusionAgile requires a paradigm shift, which is more specifically a shift in the culture of management to leadership. This must come from the top down and be embedded in corporate strategy. Harmonious dissemination of this information to all relevant stakeholders both internal and external will ensure the success of Agile projects.
based on 2 customer reviews
Think Big - Act Small: A New Way For Agile Teams?
By Rumesh Wijetunge
We all love planning. And planning big is what we do. Don’t you have great visions for your life when you start a brand new year? You identify a great big list of New Year resolutions and set yourself some goals to achieve within the year. When you are soon after your primary education you research and end up planning big on what academic and professional qualifications to achieve and within what timeframe.Even Google has become a part of your elaborate planning! So much so that, even before you key in your exact query on planning, it readily comes up with so many suggestions!Basically, even the search engine giant has got one thing right about you. You always plan big!!But, Agile tells us to think big and not to plan big. Thinking big has a deep meaning. When you embark on a journey you need to think and clarify the bigger picture of the whole journey. For example, if your employees embark on their annual trip you need to set a bigger picture for the staff on the objectives of the trip. Is it merely a journey to somewhere far away, chill and come back the next day? Or are your objectives for the staff to bond a bit better, communicate and build team spirit that can create a positive atmosphere at your workplace?Think big for your Agile projects as well. Identify the bigger picture for the solution that you are trying to develop. Spend time to understand the business outcomes that the solution is trying to achieve and know the key principles for high-performing Agile teams.Is it a solution to improve efficiency?Is it to improve collaboration and convenience?Is it to increase profitability and market share of the organization through better reach?Think about where the solution will be deployed and who will be using it. How will the solution get operationalized and what impact would it have on the Stakeholders. Try to draw forth as much information as possible to identify above aspects of the solution.Thinking big is not only from the business perspective. Think big in terms of the entire solution landscape, the context and the entire solution architecture as well. There is no need to identify a comprehensive solution design and architecture right at the inception. But always keep the entire solution and the key components in mind when you do the design. Make it and evolving architecture by building in the capability to plug in components as and when required. Technology and client needs are changing and hence adaptability is a key.Though you think big you must always make sure to take small baby steps at a time. Acting small means to identify the smallest piece of work or task that needs to be done to make sure that the project progresses forward. Think of a driver that has met with a car accident and is confined to a wheelchair. He will have to go through hours of physiotherapy just to be able to stand up on his two feet again. Then he will start taking one step at a time in his quest of walking again.Concepts that can be measured while thinking Big1) Working in a team incrementally and iteratively The product size determines how many increments it will take to complete the work. The notion behind working in iterations is to get the status of work at the end of the long stage. e.g. For Development stage, it may take two week cycles over the period of 3 months.Working in increments shows doing a group of tasks at a time, then adding another group in the next iteration. At the end of each iteration, you can show the completed task to the client. This way helps to get early feedback, can update the changes, test out ideas, and deploying before the timeline. Dedicated teams are nothing new to creative land, what is different, is that it means that they are really dedicated to the project full-time, rather than working on a bunch of other projects at the same time.Now, we know in agency land, this can be hard to pull off, since we have a tendency to move resources around as needed, because of skill-level or other resource issues.Now, you can still manage teams as a dedicated resource by, keeping all of the related projects with one team. All of the pieces are then prioritized (working with the client to decide). This gives you big idea on building a successful Agile team. The big idea is that you work in a dedicated team, and at the end of each iteration, or time period, you have something of value to show the client. In the first time period, the client decides what should get worked on, and with each iteration you add things in the order they are of value (incrementally), and then repeat the process through multiple interactions till the work is done.2) Change should be embracedThe client asks for change, team produce a change, and charge for it. In traditional methodology, teams were preventing change. For software development projects embracing the client’s changes early and updating before the deployment date can be very impactful.Planning plays a crucial role in Agile. Though your end product is outstanding, how to deal with the market demands and conditions is critical part for embracing opportunity and change.In Agile methodology, the Stakeholder and the team prioritize and chooses the highest-priority work to be completed during that iteration. Being flexible at an iteration stage, the client should not ask for the changes during this time. But your team can maintain the scope-of-work by working in 1 or 2 week intervals. If any changes needed then those changes can be pushed to the next iteration. There are some characteristics of new Agile teams that includes limit to what team can accomplish during a fixed period of time. Things can go out of the scope, resources and costs can still change.Agile software development projects are exactly like that. You first think big to identify all components of the solution and the tasks that the team members need to work on as Product backlog items. These are initially at a really high level – may be as epics.Now you can groom the stories and break them down into smaller stories or tasks that can be assigned to individual team members. Remember the 1-2-3-4 rule? One or two implementation team members should complete a story or task taken to the sprint within 3 to 4 days. Acting small will help the team develop something visual and demonstrable as soon as possible so that it can be sent for feedback as early as possible.Think big, act small are 4 simple words with a great deep meaning which leads in creating new Agile teams. For an Agile team to become a successful robust team these are key principles for high performing Agile teams that can be preached and followed diligently.So, do you think big but act small?
based on 3 customer reviews
Make Your Agile ‘WAIT’ Visible & Worthwhile
By Rumesh Wijetunge
Waiting for something or someone is one of the most annoying things in life. I’m sure all of you have faced such situation in a real life. How about waiting nervously till your examination results arrive? How about waiting for your fiancé or fiancée to come and meet you? And how about waiting till you get your increment or promotion? Strenuous and frustrating isn’t it? It just eats you away minute-by-minute, day-by-day fretting away at what might just be a risky unknown.Well, waiting is a common thing. May it be personal life or even when executing software development projects. This is no difference even in a change-driven Agile project. In Agile terms, waiting is the result of an impediment of any shape or form.So what is an impediment?The dictionary definition of an impediment is ‘a hindrance or an obstruction to doing something’. In Agile terms, an impediment is ‘anything that is slowing down the team’. In PMP terms an impediment is ‘any kind of issue’. An impediment simply makes an Agile team wait!!So, what can make an Agile team wait?An Agile team may end up waiting forInformationResources; human or non-humanAnother task or a featureAdviceFeedbackTools or TechnologyManagement decisions, or lack of itWork environment itselfAbove are just some reasons while a team may get blocked from achieving their objectives. It will stop them from getting things ‘Done’ which finally affects their velocity.So what should you do with the thing that makes you wait? Let’s take a look at it next!!Making the ‘wait’ visibleA core concept in Agile is to make everything transparent and visible. We achieve this mainly by showing things in the information radiator (or our scrum board) or by discussing things during the scrum ceremonies. Here are a few things that you can do to make the ‘wait’ visible.Add a ‘waiting’ column to your scrum board – Move the tasks or user stories that are blocked to a swimlane named ‘waiting’ and make it visible for everyone as soon as you identify it. Don’t wait!!The swimlane alone does not suffice. Add some more notes (in coloured sticky notes or cards) with information such as why it is blocked, who are you waiting for, what are you waiting for, when do you expect a resolution, how the impediment will be removed, and what is the impact etc.Notify the relevant stakeholders about the impediment – Your scrum master is your ‘Protector’. Make him aware of all your impediments as soon as you identify it. Bring it up during the immediate daily scrum meeting so that the scrum master can identify a way forward and facilitate a process to resolve the impedimentMaking the ‘wait’ worthwhileIt’s all good to identify and highlight impediments as explained above. Action or steps to find solutions for these impediments will take some time. In software development, a minute wasted may result in delays in project timelines that may have detrimental consequences on time, cost, and scope. So, how can you make the wait worthwhile?The team members blocked must make maximum use out of the waiting time. Below are some of the paths that he or she can tread while ‘waiting’.Add more information as to why you are waiting. Information and collaboration is the key to resolving issues. The more guidance and information that can be provided on the issue itself will make it easier for the assignee to resolve that blocker.Move on to another task – If there is nothing else to do on the item blocked then just move on and keep the flow of other tasks going. Agile stresses on the progress of stories and tasks in a sprint on a daily basis and you will achieve this only by working on the other tasks.Help others or get help – Don’t be shy!! Collaboration and communication is the key in Agile. Work with team members to either solve the issue or help them resolve the blocker.Research on the root cause of the blocker or on a resolution for the impediment. Agile teams need to be innovative and this is the best way of making use of ‘waiting time’ judiciouslyThe following video will give you a clear picture of the impediments encountered by Agile and Scrum teams.ConclusionImpediments and wait is an inevitable thing in Agile projects. It is up to the team members to identify the best way to identify, record, manage, update and resolve impediments. Agile principles and values provides guidance on what needs to happen but it is up to the team to ascertain what works well for the team while ‘waiting’.So, happy waiting to you!!
based on 3 customer reviews
Realizing You Are ‘WRONG’ In Agile: Relooking Agile Tenets
By Rumesh Wijetunge
Solution development today involves a lot of trial and error. This results in teams doing multiple iterations in order to figure out the best possible way to make things work. But how do you determine whether you are doing the ‘right thing’? How do you ascertain whether you are going down the right path? More importantly, when do you establish that it is the right time to stop?Fail Fast, Learn FasterOne of the key principles in Agile is to ‘Fail fast & learn rapidly’. In simple terms, this means that teams should try things out, demonstrate to relevant stakeholders, get feedback and adopt the learning as early as possible. This is better identified as the ‘Plan-Execute-Inspect-Adapt’ cycle in Agile. Teams may end up doing this cycle for a particular feature or a task over and over again in an iterative manner. More often than not, this will make the solution stronger and seldom it will fail. But when do you call the feature ‘Done’? Even so, are these stories ‘Really Done’?The definition of ‘Done’An important concept in Agile is what we call the ‘Definition of Done (DoD)’. In simple terms, it includes the circumstances under which we determine that a story or feature is completed. It helps teams determine when to move a feature card to the ‘done’ state in an information radiator.The definition of done is unique from project to project and from team to team. Before the start of the project, the team must sit together to determine the criteria that constitutes a definition of done. Below is an example of a well-crafted DoD.The feature must be elaborated and acceptance criteria defined with examplesThe solution / component must be designed, reviewed and agreed uponThe UI design is doneCode is developedCode reviews are done and passedUnit tests are done and passedQA testing is done and passedFeature is integrated into the main solutionIntegration testing is done and passedWe normally move the story to ‘Done’ state if all criteria are met. However, more often than not the feature requires changes or revisiting in the future. This may result in a new story being created in the backlog to do the necessary changes. So in reality, the story is not ‘done-done’.Achieving the done-done stateDoes the ‘done-done’ state really exist? Yes, it can happen. When the story doesn’t require any more changes and never crops up in the future then it really is ‘done-done’. The team may be required to do multiple iterations to get the solution to such a state.Obviously, this process involves a cost. Cost to the sponsor in terms of resources (human and non-human) consumed, opportunity cost and the cost of waste in the form of mistakes, defects, and throwaways. “That which does not kill us, makes us stronger” Friedrich Nietzsche (German Philosopher)So how long should you continue? This is like a situation where a rock climber tries to climb a perpendicular mountain. The climber will use his hands & legs, his climbing gear, and his willpower to propel him forward step by step. He will lose his grip, slip and lose ground multiple times. But he will get up and keep on climbing till he reaches the summit. But if it becomes too dangerous and if the risk is not worth it, he will bail out and stop climbing.Know when to bail outIt is important for Agile teams to know when to quit. In Agile terms, we call it ‘Pivoting’. To pivot is to understand that you are doing something wrong, quit iterating and move on with another feature. There are multiple reasons as to when you may decide to pivot.Read this article for examples of pivoting.https://techcrunch.com/sponsored/pivoting-to-success-agile-founders-who-turned-their-companies-on-a-dime/Agile teams are most probably ‘wrong’ when,The cost to implement the feature or to move it to ‘done’ state increases exponentiallyThe opportunity cost of foregoing other tasks, features or even projects is extremely largeThe ROI gets diminished fastThe end is not in sight – You keep on iterating and doing improvements but what you are doing is so uncertain and ambiguous that you are unable to see the finishing lineThe ‘done-done’ state never materializesAbove are just some reasons as to realize that you are most probably doing something wrong. Act fast to identify this and quit what you are doing. It may really be pointless for you to keep on iterating and more beneficial for you to invest your time and energy on something else.So, act wise!! Fail fast, learn fast and most importantly pivot faster!!
based on 4 customer reviews
Agile Certifications And Their Impact On Your Career
By Rumesh Wijetunge
The Agile methodology has drastically changed the software development and project management landscape over the past decade. More and more organizations are now transitioning their software development lifecycles from plan-driven to change-driven approaches. Hence, it is important to identify some of the key Agile certifications offered by different bodies of knowledge and also to understand the benefits you would get financially and non-financially.A bit from the history of AgileThe Agile methodology describes an approach to developing solutions, specifically software solutions in dynamic environments. Over the years, professionals understood that customer needs and wants change and evolve over time and that it is important to be able to embrace and adopt these changes through evolutionary development, continuous improvement, constant feedback. Thus Agile came into being in 2001 as a result of the discussions and decisions made during a meeting that involved 17 software developers. The resultant Agile Manifesto having 4 core values and 12 Agile principles paved the way for different flavors of Agile such as Scrum, DSDM, Kanban, Lean, XP, RAD, AUP, FDD, Scrumban etc. being introduced to the world.Agile CertificationsThere are a few popular Agile certifications offered by different governing bodies. Now let us look at a couple of those credentials.Agile Certified Professional offered by Project Management Institute, USA (PMI-ACP®)The PMI-ACP® credential is the most sought-after Agile certification by project management professionals who are working in organizations that are moving into Agile practices. PMI is the premier standards organization for the profession of project management and has been in operation since 1969. With over 20000 Agile Certified professionals from around the world, the credential is one of the most valuable Agile credentials one can aspire to obtain. The course discusses the Agile principles and values defined in the Agile manifesto and progresses to discuss key Agile flavors including Scrum, Kanban, XP, Lean among others. The course equips professionals with an overall understanding of most Agile practices with guidance on applying the learning to real-world projects.Refer the certifications page on the PMI website for more information.Certifications offered by Scrum AllianceScrum is the leading and most popular framework of the Agile methodology. Scrum is most often preferred to run software development projects and Scrum Alliance is the premier membership and certifications organization for Scrum Professionals. Scrum Alliance offers 6 certifications namely, Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Developer (CSD), Certified Scrum Trainer (CST), Certified Scrum Professional (CSP), Certified Enterprise Coach (CEC), and Certified Team Coach (CTC). The most popular credential is the Certified Scrum Master qualification where the aspirants must undergo a 2-day training on Scrum methodology at the end of which they must pass an examination based on MCQ questions.Refer Scrum Alliance website for more information.Certification offered by Scaled Agile AcademyAgile not only applies to small projects but is now required to be adapted to large-scale enterprise-level projects. The academy identified this burning need and thus introduced 5 certifications namely, SAFe® Agilist, SAFe® Program Consultant, SAFe® Program Consultant Trainer, SAFe® Practitioner and SAFe® Product Manager/Product Owner credentials. The most popular credential is the SAFe® Agilist credential which again is a 2-day program where the aspirants learn about the Scaled Agile Framework, different practices, and ceremonies.In addition to the above, APMG International offers certifications on Dynamic Systems Development (DSDM) and even the PRINCE®2 certification offered by APMG is now looking at adding a more agile flavor to the course content.Refer the Scaled Agile Academy website for more information.Benefits of an Agile certificationA professional with an Agile certification will be extremely satisfied in their job role. They will be better capable of applying best practices in project environments and lead complex projects to successful completion. The Agile methodologies such as Scrum when applied properly increase collaboration and communication among internal and external stakeholders as well as help identify changes, risks, and feedback early on in the project lifecycle.A person with an Agile Certification has a better chance of securing a good job as they will be considered as knowing the science of Agile as well as being able to apply it as an art in project environments. Hence, the ability to draw a higher salary for the skills and competencies that someone with an Agile certification possesses will be much higher. The salary for a PMI-ACP® certified professional increases by up to 50% compared to someone who does not possess the qualification. The certifications offered by Scrum Alliance are the most popular as explained before and someone with the Certified Scrum Master credential may get up to $150,000 to $200,000 per annum. This salary amount and the amount of opportunities increases for someone with other certifications such as CSP®, CST® etc.Today, the demand for professionals qualified and experienced in Agile is moving in a different direction. Organizations are now looking for even faster time-to-market, with zero defects or issues. The need for role-specific Agile professionals is increasing rapidly. As a result, the value for professionals who have Agile qualifications or demonstrable skills directly specific to their job role is increasing rapidly. Organizations moving into Agile require top management support and embracing of Agile principles and values. Thus the need for Agile Leadership has arisen in terms of creating an Agile culture and mindset among team members and employees. Similarly, Agile BA certifications are increasing in value which enables and empowers professionals playing an analyst role in terms of facilitation, requirements management and communication. DevOps and WebOps-related Agile certifications, Agile design and development and Test automation related certifications too are increasing in value which enhances the capabilities and knowledge of IT professionals working in an Agile environment to better practice and apply in their trade in order to deliver superior customer value. A certified Agile practitioner would thus know how to define, execute and adapt to Agile processes as well as be able to effectively define and use an engineering framework that would enable fast and robust delivery of solutions.Finally…Certifications are fast becoming a must for someone aspiring to be a project manager. This is more relevant for professionals in the IT industry who must always strive to keep ahead of the competition by developing skills and competencies. So think wise. Obtain an Agile credential and march forward in your profession.
based on 56 customer reviews
The Impact Of The Scrum Master’s Personality On Team Success
By Rumesh Wijetunge
The personality of a person is a combination of characteristics of a person including behaviors, habits, thoughts, emotions, feelings perceptions, etc. which helps identify him or her distinctively. These characteristics spring up, develop and evolve from factors within the person as well as factors from the environment or context in which the individual operates. Personality comes from within a person and it will determine how the person thinks, feels and behaves. Personality normally remains similar throughout the lifetime of the individual but can be trained to make certain changes in personality.The Scrum Master plays an important role directly impacting the success of an Agile Scrum project. The Agile Alliance defines a Scrum Master as ‘the team role responsible for ensuring that the Scrum team lives Agile values and principles and follows the processes and practices that the team agreed to use in the project’. The scrum master is the owner of the scrum process where he or she is responsible for defining the process to be adopted by the team. He is expected to protect the team from internal and external influences and dependencies and be able to facilitate negotiation sessions in situations of conflict. The scrum master is not a manager but a ‘servant leader’ of the team working with the team to achieve the goals and objectives of the project. The scrum master is also responsible for facilitating the scrum ceremonies driving the project forward by overcoming impediments encountered on a day-to-day basis.Personality of the Scrum MasterThe scrum master’s personality plays a pivotal role when achieving the responsibilities listed above. The following is an attempt to discuss the impact of scrum master’s personality on team success based on the ‘Big 5 personality traits’. These personality traits are as listed below.Watch the video from the link below to learn more about the 5 personality traits.Having a scrum master who is outgoing and energetic or in other words, an extrovert will be beneficial for the project as opposed to having a reserved, socially aloof scrum master. The scrum master is expected to build positive relationships with both internal and external stakeholders and be able to create a positive vibe when the going gets tough. A scrum master who is an extrovert would walk the extra mile with the team for the betterment of the team by collaborating and communicating with stakeholders.The scrum master must be friendly and compassionate as opposed to being detached from his or her team members. In other words, it is good for a scrum master to have the personality trait of agreeableness. The scrum master must be able to listen to stakeholders with empathy, understand the real context, and be trustworthy and helpful without getting into arguments or preconceptions. This personality trait of a scrum master would also ensure that team members are well protected from external threats and will ensure the interests of team members and other project stakeholders are met.Agile teams are expected to be innovative and think out of the box. It is beneficial for a team to have a scrum master who is curious and open to an experience. Scrum teams learn from mistakes and are often open to try out new things. A good scrum master would be able to facilitate this process by encouraging the team members to try out new things both in the project as well as in the solution being developed.Scrum teams are expected to be self-organised and efficient. A scrum master with these characteristics will be organised in executing the scrum process applicable to the project in an efficient manner. A conscientious scrum master will ensure that scrum meetings are well organised, properly facilitated, outcome-oriented and purposeful. Meeting invites, agendas will be clearly defined with each stakeholder kept true to the agenda. An organised scrum master will also make sure that enough documentation is done in an organised manner may it be with regards to requirements, project management, design, quality assurance etc.Scrum masters must be emotionally stable and capable of controlling sudden anger or stress. A good scrum master must be able to conceptualize and think logically while considering the bigger picture rather than being overwhelmed by emotions. In a team environment, the scrum master will need to deal with people with different personalities that can have a positive or negative impact on the project. A secure and confident scrum master will be confident about his/her own capabilities as well as the capabilities of the team members and be able to motivate the team members to overcome any situation.Finally…Personality plays an important role in a team environment. The personality of the scrum master or the leader of the team is essential to make sure of the resources and to mold the team into a victorious team. What type of a scrum master are you? Do you have the aforementioned personalities within you?
based on 54 customer reviews