What Is Agile Manifesto
By Susan MayIf you’re a newbie on an Agile team, one of the first things you’ll be asked to do is to look up the Agile Manifesto. This document is the Bible for Agile practitioners and embodies the thinking behind Agile software development.Agile software development follows a set of flexible, fluid practices that embrace change and maximize the value of a product being developed. While originally conceptualized for the IT industry, Agile has proven to be effective in every other domain too, ranging from manufacturing to marketing, healthcare to retail, and many more.What is the Agile Manifesto all about, and how did it change the face of the software development industry? Our article gets into the details!What is the Agile Manifesto?Originally called the Manifesto for Agile Software Development, the Agile Manifesto is a document that lays down 4 core values and 12 guiding principles that should inform Agile practices. These values and principles underpin the various frameworks that fall under the Agile umbrella, including Scrum, Lean, Kanban and XP, among many others.Over the past two decades, these principles and values have stayed the same. They are not rules or mandates but can be considered as the philosophy and reasoning behind the Agile culture and mindset.What Is the History of the Agile Manifesto? Through the 1990s, the software industry was a hotbed of innovation, with an unprecedented pace of technological advancement, and new ideas being churned out almost daily. When software teams followed the traditional waterfall ways of working, quite often by the time a product was developed it would already be rendered obsolete— as a newer technology would have taken its place! This led to a lot of frustration among software developers and architects, who felt that the old ways of building software weren’t working anymore.These developers started experimenting with new ideas, and found smart new ways to work with small, self-organizing teams to deliver incremental value in iterations. They found that when there was close collaboration between teams, instead of the traditional ways of working in isolated silos, the products delivered were of higher quality, suited industry needs, and met end-user expectations.These revolutionary ideas started to spread in an organic way and were proven by different teams to work much better than the processes that had been followed till then. In 2001, history was created when a group of 17 software developers got together on a ski resort in Snowbird, Utah, and chalked out the commonalities between these new methods that they had crafted. They wrote down the 4 Agile Values that together form the foundation of Agile.The Manifesto for Agile Software Development was the result of these collaborations. Over the next few months, these 17 authors expanded on the 4 Agile values and came up with 12 Agile principles, which were added to the Manifesto. In the years that followed, the adoption of these values and principles became mainstream, and Agile became the new buzzword in software development circles.With good reason, too! Over the years, the State of Agile Reports have mapped the incredible pace of Agile adoption across worldwide enterprises. The 15th State of Agile Report talks about a “steady increase in the number of organizations adopting agile practices and processes, both inside Development and within non-IT groups including Finance, Human Resources, and Marketing.” Over half of respondents (52%) claimed that a majority or all of their company’s teams have adopted Agile. The 4 Agile Values state that Agile practitioners should value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThe 12 principles articulated in the Agile Manifesto, which are self-explanatory, are as follows:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Businesspeople and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.The Agile Manifesto's purposeAgile enthusiasts say that the 4 values outlined in the Manifesto are meant to create a culture where people’s needs are at the centre of everything the team does.There is a shunning of traditional tools, processes and unnecessary documentation. By interacting with people, brainstorming and innovating, and fostering transparency and collaboration, the team can create products that are relevant to market needs and create customer delight.The 12 Agile principles also serve to create and encourage a work environment that is focused on the customer and on aligning with the needs of the market as well as business objectives. Work processes are designed to embrace change and can course correct and pivot in response to evolving user needs and the dynamics of the market.Agile Is a MindsetRather than being a set of mandates, Agile can be a mindset.If you have an Agile mindset, it means that you’re someone who is willing to innovate and adapt to change, and can work in a small, self-organizing team to steadily deliver customer value.You shun traditional bureaucracy and hierarchical ways of working, which often lead of teams working in isolated silos. Instead, you love to collaborate and brainstorm with your team and are focused on maximizing product quality.Does Agile really work? Criticism and controversiesWhile Agile has been welcomed with open arms by the software industry and many other industries, and has been largely proven to work, there are many people who claim that Agile has been overhyped.The Agile approach has not worked for many companies and is probably not the best way of working for all projects. Agile, in fact, does not suit every organization, and there are many instances where the traditional waterfall approach has been proven to give better results.However, there are many companies that claim that they are following Agile in its entirety— while they have only adopted a few of its processes and have not embraced the Agile mindset and underlying philosophy. Unless an Agile transformation is carried out at all levels of the organization and everyone is completely on board the new ways of working, failure is a likely result.A Last WordThe Agile Manifesto is the written document that outlines the thinking of the founders of Agile. While the values and principles are at the core of this philosophy, what really drives Agile is the way in which they are applied and the sensibilities of Agile teams who follow these processes and practices.In the end, what is most important is to understand the Agile mindset and follow the Agile frameworks and workflows that make sense for your project. Applied the right way, Agile offers significant benefits and helps organizations to stay ahead even in the most competitive markets.
Rated 4.0/5 based on 23 customer reviews
What Is SAFe Agile
By Susan MayAgile has now been around for 20 years. Even though it took off in the Software industry, Agile practices have gained popularity in most industries as more professionals are seeing the benefit of it. With the pandemic wreaking havoc across the world in 2020, the importance of bringing agility to businesses has increased.While the benefits of being more Agile are obvious, the path to gaining that Agility is not as straightforward. It is easier to achieve Agility in small teams with limited members. However, if an organization is large, complex, and spread out over different geographies implementing Agile practices becomes a lot harder.About SAFe®Scaled Agile Framework or SAFe® is designed to make the adoption of Agile easier for large teams and organizations. It provides enterprises with a set of practices that have been proven to ease the teams to attain and maintain Agility. SAFe was introduced in 2011. The fifth upgrade was launched in 2020. As a framework these upgrades ensure that SAFe practices keep evolving to meet the new challenges and learning from SAFe practitioners around the world.Other Scaling FrameworksWhile SAFe is the most popular Scaling framework it is not the only one. The 15th Annual State of Agile survey claims that SAFe is used by 37% of enterprises. There has been a steady increase in SAFe adoption during the last five years. By comparison, the second most popular method Scrum@Scale or Scrum of Scrums has an estimated share of only 9%.Source: State of Agile Report | State of AgileThis begs the question why SAFe is the most popular method when it comes to Scaling Agile? There are two ways to look at it. We can examine the philosophy of SAFe and proceed to examine the step-by-step method of its implementation.SAFe ValuesThe effectiveness of SAFe is based on its four core values:Alignment:Alignment happens when all levels of the organization are in line with the business objectives. An enterprise that lacks alignment cannot stay agile for long.Built-in Quality: The emphasis on quality permeates every level in a SAFe enterprise. SAFe encourages all participants to be quality conscious.Transparency:If the work that is being done lacks visibility it leads to a type of working environment where people work based on assumptions rather than facts. An open organization can spot challenges faster and adapt quicker to customers’ demands. Program Execution:The success of any organization depends on how quickly and effectively it can deliver value to customers. Continuous delivery of value is a crucial point of focus in SAFe.SAFe PrinciplesOrganizations come in all shapes and sizes. Some can easily make structural changes, but others may have rigid structures and workforce that are resistant to change. There are external factors like the industry they operate in or the regulatory bodies that govern how they operate, among another plethora of challenges.What that means is there cannot be a concrete framework that fits all organizations regardless of size, complexity, geography, or industry. Instead, SAFe provides a set of principles that can be followed in any organization.Take an economic view: This point refers to keeping the perspective of costs and value associated with the product, the cost of delays. It involves considering the budgets and the economic aspects of every decision.Apply systems thinking:In complex organizations there is a need to understand how interrelated teams, individuals, and processes work together. This constitutes the system. Systems thinking emphasizes on understanding the system and the organization behind it.Assume variability, preserve options:This principle talks about keeping multiple options open. Anticipating that a single option will work flawlessly risks wasting effort on a project when the option is found to be less than optimal at a later stage.Build incrementally with fast, integrated learning cycles: Using short development cycles and reviewing where things stand after or during each cycle gives perspective to both decision makers and teams to learn and understand shortcomings in the process. It also minimizes the risk of wasting time and effort on a task that is not going the right way.Base milestones on objective evaluation of working systems: Pre-decided milestones and criteria help every stakeholder to have similar expectations and see if the actual development is happening as expected. If the work done up to the point produces verifiable results everyone can move ahead with confidence.Visualize and limit WIP, reduce batch sizes, and manage queue lengths: Getting work done in big batches or with items that require a long time to complete will limit the Agility. Hence, SAFe tries to keep batch sizes small and breaks down items into smaller sub items that can be completed in shorter timeframes and evaluated.Apply cadence, synchronize with cross domain planning: Cadence refers to a timeframe with which all teams across the organization can align with. Plans cannot be made in Agile enterprises when different teams work on varying timeframes.Unlock the intrinsic motivation of knowledge workers: SAFe aims to remove a competitive environment for teams and individuals and instead focuses on fostering a culture in which individuals can be engaged through giving them more independence and removing constraints.Decentralize decision-making: The speed of decision making is one of the key components that make an organization agile. This can only happen when decisions can be taken at an individual level in most cases. Only decisions that have a global or strategic importance are left to the central leadership. This encourages innovation.Organize around value: An agile team needs to stay focused on creating value for customers. The speed with which a company can respond to customer needs and deliver value is the biggest advantage of an agile approach.SAFe Implementation RoadmapPutting the principles into practice needs a strategy at the organizational level. In SAFe, it is called an implementation roadmap. This process is at the heart of successful implementation because of which SAFe works while other frameworks fall short.Source: Salsa.scaledagileReaching the Tipping PointOrganizations do not naturally evolve to become Agile. There is bound to be a resistance to change in large organizations where people do not want to give up on the way that they are comfortable with. SAFe transformations happen at a point when the need for change becomes clear and the leadership is convinced of the benefits of a more Agile organization.Training Lean Agile Change AgentsEvery SAFe transformation starts with training. For this step Enterprises may tie up with training providers who are authorized partners of Scaled Agile, inc. These agents can then be used to train others once they become certified trainers or SAFe Program Consultants (SPCs).Train Executives Managers and LeadersThere also needs to be training sessions for the leadership and management teams. Getting all departments and managements to agree on adopting changes is key to any successful transition. Since they are the decision makers, getting them on board can remove a lot of obstacles.Create a Lean Agile Center of Excellence (LACE)This is the third component in training. This is about creating a small team that is dedicated to implementing SAFe in the organization.Identify Value Streams and ARTsA Value stream is the process flow that an enterprise uses to provide a continuous flow of value to their customers. An ART or an Agile Release Train is a set of Agile teams along with other stakeholders that develop and deliver solutions providing a continuous flow of value to a value stream. At this stage, the enterprise is examining both the method and the components involved in delivering value to its customers. Value Streams depending on their size can have one or multiple ARTs contributing to it.Create Implementation PlanAfter identifying the Value Streams and ARTs, Enterprise can now plan how to implement SAFe. This stage also involves creating plans for further ARTs and Value Streams as well.Prepare for ART launchAt this stage the team picks an ART that contributes to a large Value Stream. This is a critical step as this will create valuable learning and prove the benefits of SAFe if done in the right way. At this stage more training is needed for the leaders and stakeholders in this particular ART.Train Teams and Launch ARTLaunching the ART starts with training the Agile team and subsequently proceeding to PI (Program Increment) Planning.Coach ART ExecutionFurther coaching is needed for the teams to not only understand what Agile means but to live the values and philosophy. This is to ensure that the participants develop an Agile mindset and do not revert to the old ways of working.Launch More ART and Value StreamsThe experiences and learnings gained from the first ART launch can be used to launch more ARTs and involve more Value Streams by repeating the steps taken for launching the first ART.Expand to PortfolioThe new method of working will put a strain on the enterprise portfolio. At this stage the enterprise leverages Lean Portfolio Management to align the organizational strategy with the execution.AccelerateThis is the stage at which the enterprise has successfully implemented SAFe and rebuilt themselves as an Agile enterprise. This time should be used to reinforce the learnings till the new practices get embedded in the organizational culture.Strengths and Weaknesses of SAFeNow that we know about how SAFe operates, we can be clear about the benefits. SAFe also brings with it a set of challenges. It is important for an organization to factor in both the benefits and disadvantages of the Scaled Agile Framework before deciding to implement it across their organization.StrengthsOn the positive side SAFe increases efficiency by getting teams to work together.SAFe brings in agility to the organization while letting the central leadership maintain control over making strategic decisions that affect the entire organization.SAFe uses multiple Agile concepts and lets the enterprise benefit out of practices like Lean Portfolio Management, DevOps etc.Using Value Streams, SAFe enables an enterprise to determine how the teams or individuals depend on each other. This mapping of dependencies helps the organization move forward in a more coordinated way.SAFe starts with training and getting the leadership on board to support and drive the transformation. Through this process it rejuvenates the leadership and increases their engagement towards the organizational goals.SAFe brings teams together and aligns their goals so that there is consistency and coordination in the effort towards achieving pre-determined outcomes.Through the Implementation Roadmap SAFe provides a gradual and systematic template for transformation that has been proved to work across industries.WeaknessesSAFe may not be for everyone. The many levels involved in a SAFe organization reduce agility.SAFe encourages centralization of decision-making that goes against the benefits of empowering teams to take fast decisions to enable the organization to increase agility.SAFe practices are systematic and detailed. While this helps the organization in staying aligned and on track it also increases the length of iterations. The requirement to align over various teams proves to be a time taking and expensive exercise.A SAFe enterprise needs to put in sustained effort to maintain agility. Even with comprehensive planning and implementation, teams and leadership should pay attention to maintain SAFe practices.Since SAFe organizations involve many different teams working together, the outcomes or goals cannot be too specific. Looking aheadSAFe operates at various levels. Even though we talk about SAFe in the context of large and complex organizations. SAFe can be implemented for Teams, smaller organizations, large organizations or at a Portfolio level. There are different modules of SAFe training created for different organizations and contexts.The success of SAFe is certain to increase its adoption across geographies and industries. A large reason for its success can be attributed to the training at various levels and the stringent processes put in place to ensure that implementation stays on track. Like any other framework the success of SAFe implementations rests on the people who drive and adopt it. It is also a testament to the efforts of SAFe practitioners who keep contributing to improving the framework over time to make it more relevant to time.
Rated 4.0/5 based on 14 customer reviews
What Is Scrum Release Planning?
By Susan MayAs any project manager knows, good planning is half the battle won! The old adage goes, ‘measure twice, cut once’—and this is a rule that doesn’t apply just to carpenters, but holds true for all projects, big and small. Just as the carpenter double checks on the accuracy of the measurements before cutting in order to reduce mistakes, a project manager who spends enough time on project planning can reduce risks, optimize resources and save time and money.A well formulated plan is critical to project success, and gives the much-needed context and direction to the progress of work. In Scrum, Release planning is an important event during which delivery schedules for the releases will be planned. Depending on the product complexity, some teams might choose to have a release after every sprint, while others will have a release after multiple sprints.In this blog, you’ll understand the reasoning behind Scrum Release Planning, learn how it's done and understand the various patterns of release planning.What is Scrum Release Planning?Every Scrum team must determine its own release cadence—that is, how frequently product increments of value will be delivered to the customer. Release planning, as this is called, is usually done for a longer period, and answers questions like:Every Scrum team must determine its own release cadence—that is, how frequently product increments of value will be delivered to the customer. Release planning, as this is called, is usually done for a longer period, and answers questions like: When will we be finished with the increment/product? How many and which features can I get out within a certain timeframe? How much is the expected cost? The purpose of release planning is to balance customer value and product quality against the three constraints of scope, schedule, and budget present in every project. It helps to come up with critical dates and milestones, and make plans for dependencies. Release planning comprises various activities: The release constraints of scope, date, and budget and taken into consideration, reviewed and updated. The PO carries out Product Backlog grooming and prioritizes the features For each feature, the Definition of Done is created and the minimum releasable features (MRFs) are reviewed and updated. A sprint map is created, ending with the sprint goal. The release can happen after one sprint or multiple sprints. Elements of a Product Release MapEvery step of a release plan is considered very carefully, discussed in depth and then outlined to create a high-level calendar and roadmap that is shared with the team. Release plans are flexible and each team will have their own ways of working out the timeframes. However, the typical elements include: All release(s) for the project and plans for each of the releases Upcoming iterations for the release(s) and iteration plans Considerations for feature development within an iteration Split up of the tasks required to complete and deliver a feature In Agile, planning has to be flexible to accommodate changes. The planning is always iterative, and the team can course correct at intervals to factor in change. The release plan helps to keep the team focused on end goals, even if there are interim transitions that happen. Everyone stays focused with the detailed roadmap always in sight. Patterns of Release PlanningScrum offers teams the flexibility of deciding how often they wish to plan releases. For a simple project, the team could choose to have a release at the end of each sprint. For larger and more complex projects that have dependencies, it could be easier to club several sprints together into one release. Other teams might base their releases on the completion of features, and this process is termed ’continuous deployment’. The release strategy could be driven by features and functionality, or by schedules based on dates, when the release happens as per a calendar. For a release plan calculated based on features, the team velocity is the number of features that can be completed within one sprint. Once the velocity is known, the team can calculate approximately the number of sprints that will be needed to ship the final product. Source Link: innolution.comWhat is the Rationale behind Release Planning? Flexibility and the ability to embrace change is at the core of every Agile project. As changes can happen throughout the project journey, it could be reasoned that an Agile project can never be planned with as much accuracy as a traditional project. Even if this is the case, by having a general schedule of releases made available to the team and all stakeholders, it becomes easier to get everyone on the same page and plan the work easily. Management and end users will know when to expect the product releases, and this atmosphere of transparency instils confidence and trust in the team. Here are some of the main reasons behind undertaking a Release Plan: It acts as a communication device. With a release calendar mapped out, teams know what is expected to be done and by when. It serves as a valuable planning tool. With a release plan, stakeholders can determine the value received against the cost incurred. It sets the cadence and content for the project and helps to steer it in the right direction. A well outlined release plan aligns the project progress with the product strategy and keeps teams on track with respect to time, cost and scope. Release Planning Example Release planning can be based on a fixed date (date-driven), or on a fixed scope (feature-driven). Some teams use the fixed scope approach and convert it into a number of smaller fixed-date releases. Here is an example that follows the date-driven approach:Source link: paradigm.comIn this example, by multiplying the velocity by the total number of sprints we know how many items can be completed within the timeframe. This next example follows the feature-driven approach:Source Link: visual-paradigm.com Teams can decide the approach that works best for them, drawing from their past experience and exposure to both approaches. A Last Word A release plan helps to give clarity on the project goals and direction and creates the required focus that informs and drives project progress. Especially in times of unprecedented change such as what is being experienced now, the lack of proper planning and poorly defined goals can lead to project failure. An Agile product manager who can nail the planning stage and pin down goals, strategies and visions is halfway to success —and a successful product release map is critical to this planning process!
Rated 4.0/5 based on 34 customer reviews
What Are Some the Benefits of the Agile Development Methodology?
By Susan MayFor the past two decades, Agile methods have been proven wildly successful in the world of software development, improving quality and hastening time-to-market—all within budgets and pre-set schedules. And in recent years, Agile has grown far beyond the IT industry to drive business value across a whole range of sectors and verticals, ranging from healthcare and finance, marketing and manufacturing, retail and construction, and many more.Agile has had a remarkable journey indeed. Why is Agile so successful, and what are the advantages of Agile over traditional development methodologies? Read on to find out! Here’s why Agile methodology is a gamechanger!Here are some of the ways in which Agile has proven to be a gamechanger. Enhances quality Agile projects include testing as a part of every cycle, instead of only at the end. This means that bugs are fixed as the project progresses, and quality is incrementally enhanced. The client is part of the feedback loop, and can request changes or additions, shifting the course of the project to align with market realities. Agile teams lay emphasis on constant inspection, where they discuss how the product is shaping up and evaluate what can be done to make it better. After every iteration, they reflect on what went wrong and what could be done better and keep enhancing the product quality. Provides greater flexibility The reality of any industry today is that change is the only constant. Traditional methods did not factor in the ability to respond to change, which meant that customers—who got to see the product only at the very end—were often dismayed to see that the market had moved beyond the product features that were built. Agile allows teams to move ahead quickly, and pivot easily whenever needed to adapt to change. Agile frameworks embrace change and churn the Product Backlog at the end of every sprint to incorporate feedback and change requests. Ensures customer delight Since customers are involved at every stage of product development, they stay happy as they can see work progress as well as get small releases of tangible value at the end of every sprint. The team solicits customer and stakeholder feedback after every iteration, which means that they are in the know about what exactly is happening and can voice their opinions. Any feedback and criticism will be evaluated, and the appropriate changes will be added to the next work cycle. Customers get what they want—a product that meets industry needs and has current relevance in the market. Offers better control When Agile is implemented the way, it should be, value is released early on, and the benefits of the team’s effort are realised soon. The customer gets to see and review the product increment, and the team can fix any issues and course correct sooner, maintaining control over the way the product shapes up. Every stakeholder gets to be heard during the review phase, and as a result of the continuous feedback integration, quality is also controlled through the project implementation. Daily progress reports are shared with the team through face-to-face meetings and advanced reporting techniques, creating strict control over the progress of the work in the expected direction. Improves project predictability Agile increases transparency across the board, so that teams are on the same page with respect to everything that is happening. This results in risk mitigation, quicker resolution of blockages, and identification of dependencies, which helps the project to go forward more smoothly. When using Scrum, for example, sprint backlogs and burndown charts allow for increased visibility into work progress. Managers will be able to calculate team capacity and velocity and plan and predict releases more easily. Mitigates risks Daily meetings in Agile help to increase accountability and transparency. Everyone on the team is aware of what is happening, both with respect to the progress on tasks till now and what will be taken up the next day. What this means is that any bigger problems get identified early on and are resolved quickly, without wasting precious time and resources in going down the wrong path. Even if a particular approach doesn’t work out, it can be quickly shelved, and a different route taken. Allows for continuous improvement One of the core principles in the Agile Manifesto talks about the need for the team to self-reflect at regular intervals, introspect on how to become more effective, and tune and readjust its behaviour accordingly. As Agile works in short iterations, this constant attempt to improve after every iteration ensures that every cycle is better than the last one. The team learns from past mistakes and improves together through shared experiences. Improves team engagement and morale Agile teams are self-managing and cross functional. Each team member is accountable for the tasks taken up and is authorised to make appropriate decisions as needed. As the teams are multi-skilled and collaborative, they can grow their skillsets and learn much more than they would have in a traditional, limited role. The team interacts daily and discusses challenges and work statuses, getting to know each other better and really enjoy what they are doing. They work with a shared purpose, setting a faster pace toward attaining the goals. They are enthusiastic and engaged in their work, and a happy team always makes a more productive team. More appropriate metrics Agile teams measure performance and quality, rather than measuring cost and time like traditional teams do. The focus is squarely on delivering results and optimising performance, and this is more relevant and appropriate to the delivery of a product of great quality. Some of the metrics used by Agile teams include lead time, cycle time and throughput and these are invaluable in identifying bottlenecks and making informed decisions to address them. Wrap up Agile frameworks have achieved success even in complex projects that span geographies, garnering praise from even the harshest of critics. Having greatly increased success rates in the software industry, Agile is now poised to transform functions across all other sectors and domains as well. Companies that can get them Agile implementation right stand to reap its benefits and accelerate profitable growth, while those that stick to legacy project management processes are liable to get left behind.
Rated 4.0/5 based on 13 customer reviews
For the past two decades, Agile methods have been proven wildly successful in the world of software development, improving quality and hastening time-to-market—all within budgets and p...Continue reading
Scrum Artifacts: A Quick Guide
By Susan MayWhat comes to your mind when you think of the word ‘artifact’? Something old and of archaeological interest? While that is what an artifact means in the English language, when it comes to Scrum it has a whole different meaning. In this ready reckoner for Scrum artifacts, we attempt to look at the scrum artifacts list and how each of the artifacts helps a team to work better and add more value.What Are Scrum Artifacts?Agile scrum artifacts are information that a scrum team and stakeholders use to detail the product being developed, actions to produce it, and the actions performed during the project—Atlassian Agile CoachScrum artifacts aim to promote the core scrum attributes of transparency, inspection, and adaption. These artifacts, which are important primary tools for every scrum team, provide metadata points that help teams, stakeholders and others get an insight into the performance and progress of the sprint.What are the 3 artifacts of Scrum?In order to manage work, Scrum uses three artifacts, which are Product Backlog, Sprint Backlog and Product Increment. Product Backlog:The product backlog is an ever-evolving artifact. It is an ordered list of all the features and characteristics that the product being developed needs. The product backlog contains a list of not just new features but also contains changes made to existing features, fixes, testing to be carried out, changes in infrastructure and more. The Product Backlog is the responsibility of the Product Owner. The amount of work to be undertaken in a sprint is estimated by refining the product backlog. Product backlog refinement is the practice of breaking down the items listed in the backlog into smaller and definite items, in the form of user stories. As items are broken down more details may be added regarding the size, order etc. The backlog also contains the product goal, which is the future state of the project and serves as a benchmark for the team to plan its activities around how to reach the product goal. Sprint Backlog:The sprint backlog is different from a product backlog and is an ordered list of things that need to be completed in the duration of the sprint. The items on this list are selected at the time of the sprint planning meeting. The team selects user stories from the backlog and identifies the collaterals that may be necessary to complete the particular user story. The number of hours that each task may require are also estimated. The team selects the items and size of the sprint backlog. The sprint backlog must be updated to reflect any new information that may be available. This new information could be a result of change in the number of tasks, if too few or too many tasks were pulled during the planning stage. The team may add tasks or remove tasks to ensure that the right amount of work is being done.Potentially releasable Product Increment:Each sprint has an end goal and this is a product increment that is potentially shippable or releasable. Each increment is considered to be potentially releasable if it meets the requisite “definition of done”—a set of mutually agreed upon items or standards that a completed task or user story must reflect.So, a potentially releasable product increment should be well tested, meet quality standards and is complete. The whole idea of Scrum is to release a potentially shippable product to the customer every few weeks and this is the premise of the potentially releasable product.Other Scrum artifactsThere are many other Scrum artifacts besides the three mentioned above that have to be included in sprints to enable smooth working and for tracking progress.Product Vision:Defining the product vision is not just the primary stage in product development but also the most critical. The product vision is a quick summary that defines the final product to be built. It tells the team the goal, how it should be built, what solutions it should offer and who the end users of the product will be. The vision should also communicate how the product will align to the organizational goals. The product vision is created by the Product Owner in consultation with stakeholders. The vision statement may be a little unclear in the early stages but soon builds into a ready reference for the team as it outlines the product goals and milestones that need to delivered.Sprint Goal:This is a high-level objective that defines the goal that needs to be achieved at the end of the sprint. This shared goal is defined by the entire team and everyone works towards reaching the objective. The sprint goal should be defined by considering why it is being carried out in the current sprint and what benefit it would add to the overall product. This gives the team direction and a purpose to achieve the goal. The sprint goal is an activity undertaken during sprint planning, by the developers. The product owner may give them some direction on how it should align to the overall product goal. The Sprint goal benefits the overall development by: Giving direction and focus to the Scrum team Enhancing collaboration within the team Prioritizing user stories and tasks during the sprint Helping to get feedback from stakeholders Definition of Done:This is nothing but the acceptance criteria that is common to each potentially releasable increment. In Scrum, it is important as it helps the team decide if a user story is actually completed and if the product that they are releasing is adding value to the product and the stakeholder. Some of the commonly used criteria that define the definition of done include bug fixes, technical tasks, features etc. Besides these criteria that may be specific to the product, team and even sprints, the story must also undergo a code review, should be tested, should be immediately deployable and of a high quality. Increment:Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all prior Increments and thoroughly verified, ensuring that all Increments work together. In order to provide value, the Increment must be usable--Scrum Guide Scrum follows the iterative and incremental approach to product development. A sprint may have multiple increments and they are presented at the time of sprint review. Developers should ensure that an increment meets the definition of done and must be releasable. But the decision on whether to release it or not depends on the Product Owner.The Burndown Chart:“A burndown chart shows the amount of work that has been completed in an epic or sprint, and the total work remaining. Burndown charts are used to predict your team's likelihood of completing their work in the time available. They're also great for keeping the team aware of any scope creep that occurs.”—Atlassian Agile Coach This important metric helps the team and others involved in the project to visually measure the amount of work completed in a day against the projected rate of completion for the existing sprint or release. Looking at the burndown chart, a team can estimate whether they will meet the sprint goal and adjust their work accordingly. Some tips to use Scrum artifacts effectively Scrum artifacts help to: Plan effectively Estimate progress Calculate timelines Monitor successBut in order to get the most of your Scrum artifacts you need to follow certain guidelines.1. Embrace your Scrum artifacts:Trust your artifacts and embrace them. Encourage your team to do the same. Help everyone in the team understand what each artifact stands for, its purpose and how it should be used and maintained. 2. Promote their use:If you are a Product Owner or a Scrum Master , then you as a leader should ensure that your team members are following Scrum values and principles and this includes proper use of Scrum artifacts. This is especially true if you are heading a team that is not familiar with Scrum. Make sure that everyone knows about the Scrum methodology and how to use it to deliver maximum value.3. Have the right Scrum management platform:There are several organizational and Scrum management tools that are now available, which come with a host of features to improve the way we work and communicate. Embracing these tools will empower teams to efficiently use Scrum artifacts like product backlog, sprint backlog, burndown charts etc and speed up work and deliver value.Conclusion Maintaining Scrum artifacts are essential for the progress of the project and to ensure project success. The right leader can ensure that Scrum values and principles are followed during product development and Scrum artifacts are used in a way that enhances value delivery. Every Scrum team member must be aware of the Scrum artifacts list and how each artifact should be used to ensure completion of project milestones.
Rated 4.0/5 based on 15 customer reviews
Scrum, Crystal, Extreme Programming: Differences & Similarities
By Susan MayAgile, as a collection of methodologies, has revolutionized the product development world. It has brought in some fundamental changes in the way organizations work, allowing them to have more streamlined processes, adapt faster, be flexible, stay ahead of the competition and help retain customer trust. Successful organizations almost always are agile in their ways and have adopted some of the many popular frameworks that the Agile umbrella encompasses such as Scrum, Crystal, Extreme Programming and more. This blog is about the three most popular agile frameworks Scrum, Crystal and XP, their characteristics and their differences.What is Scrum?Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems—Scrum Guide Scrum is the most popular and widely used Agile methodology. It is a lightweight framework that helps teams and organizations address complex problems and adapt to changing requirements. It allows teams to adapt the processes to suit their project and organization needs. It can be tailored and yet ensures maximum productivity. Not only does it work well with small projects at the team level, but also delivers great results when scaled at the organizational level. Advantages of ScrumScrum is flexible, incremental and adaptable It reduces time to market It enhances creativity and innovation Scrum lowers development and operation costs It enhances quality of end product Scrum ensures customer satisfaction through quick feedback cycles Scrum helps implement continuous improvement It motivates and empowers teams How does Scrum work?You know you are doing the Heart of Scrum, if the team has a potentially shippable increment of product at the end of a sprint-- Jeff Sutherland Scrum uses an incremental and iterative approach to product development. It works by breaking up a large project into smaller chunks and building the product is built through phases. These small chunks are called sprints or iterations. Once the sprint length has been defined, based on the number of tasks that can be accomplished in each sprint, the length is fixed for all the successive sprints in the project. Sprints can be 2 to 3 weeks long and end with the delivery of a working feature of product. Scrum is based on the three pillars of empirical process control, which are transparency, inspection, & adaptation. Scrum teams are made up of three defined roles: Scrum Master Product Owner Developers Each team is generally made up of up to nine members who have varied skills. Scrum works because its teams are highly cross functional, self-organized and motivated. All team members work towards a single objective and that is to deliver the product goal. Team members live by the five values of Scrum that are: Commitment, Focus, Openness, Respect, and Courage. Working on these values helps team members work as a cohesive unit to minimize risk, deliver quality products and ensure customer satisfaction. Scrum employs quick feedback cycles and this helps teams to work on implementing customer feedback, thus making it extremely flexible and responsive. What is the XP methodology? XP too, like Scrum, is an Agile methodology that focuses on helping teams develop high quality products and adapt to changing requirements. This facet of XP makes it very apt for modern product development where customer requirements can change at the drop of a hat and developers and teams need to be able to immediately incorporate changes into the product design before it is shipped. Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development—Agile Alliance Advantages of XPProductivity and delivery are measurable Is simple to use Reduces risks related to programming and project failure Helps ensure customer requirements are incorporated Ensures constant feedback to improve products Speeds up creation of working software Prevents accumulation of work and leads to happier and more focused teams How does XP work?XP defines a very specific set of engineering practices, as the basic premise of XP is taking good practices to an extreme. There is a lot of emphasis on the technical aspects of software development, as the philosophy of XP is that following good engineering practices allows teams to ensure that high quality code is delivered at an incremental pace. XP, like Scrum is also built upon values and practices. XP values are: Communication, Simplicity, Feedback, Courage, and Respect The practices of XP are interconnected and help teams minimize risk and ensure better quality output. The Planning Game Small Releases Metaphor Simple Design Testing Refactoring Pair Programming Collective Ownership Continuous Integration 40-hour week On-site Customer Coding Standard The key roles associated with XP teams are: Customer Programmers Coach Tracker CrystalCrystal is a more flexible Agile methodology and was developed by Alister Cockburn for IBM in the early 1990s. It is in fact a family of methodologies and was developed even before the creation of the Agile Manifesto. As it involves the use of many practices used by Agile, it is now classified as an Agile methodology. Crystal is not a one size fits all methodology. It can be tweaked based on the project and the team members. Since the methodology is often directed by the team itself, it works better when implemented by seasoned developers. Crystal is primarily based on these properties: Teamwork Communication Simplicity Responding correctly Reasoning Reconstruction Frequent adjustments Process improvements Crystal is broken into different coloured groups such as Clear, Yellow, Orange, Red and more. Based on the complexity of the project and the process and practices to be applied to it, the type of Crystal method to be applied can be chosen. The type of colour to be used depends on: The team sizes Criticality Priority of the project SCRUM vs XP vs CrystalFeaturesScrumXPCrystalApplicationCan be applied to any project that can benefit with an iterative and incremental product development cycleApplies more to programming projectsCan be applied to any projectUsageHas to be implemented in its entiretyCan be tweaked to suit the needs of the projectCan be tweaked based on the type of project being implementedRolesProduct Owner Scrum Master Developers Customer Programmers Coach Tracker Executive Sponsor Executive Lead Designer Programmer The Ambassador User Tester Project Manager Business Expert IterationsTypically, 2 to 4 weeks in lengthTypically, 1 to 2 weeks in lengthTypically, 1 week. Cannot be more than 4 monthsChanges accepted in iterationsOnce an iteration is completed, no changes can be madeChanges are allowed during and even after the sprint is ordered to provide better featuresOnce the process and budget are finalizedTask prioritizationPrioritization can be decided on by the team base on what will be most beneficial to the customerThe customer decides the priority of tasks and not the team. The team must develop tasks based on the priority stated by the customerPriorities are fixed as per criticality of tasksEngineering practicesScrum does not prescribe any set engineering methods. The focus is more on productivitySoftware engineering practices like pair programming, ten-minute build, test first programming etc are given more emphasisCrystal does not prescribe any set engineering methods. It is a combination of several Agile methodologies.Owner of the productThe Product Owner owns the product and defines and orders the product backlog itemsThe customer owns the product and sets the priority of stories for iterationsThe user owns the productMeetingsScrum meetings are arranged and run by Scrum MasterThe customer drives XP meetingsThe project manager or Coordinator takes down important points discussed during review meetingsIs there anything common between XP and Scrum?Both XP and Scrum are agile frameworks that have their own set of practices and processes that are geared towards helping teams perform to the best of their abilities and deliver value to the customers. While at their core they may differ in processes and practices, at the surface they are similar and build upon the values and principles of agile.Both use short sprints or iterations to deliver features incrementally and iteratively. They also focus on ensuring that customer requirements are implemented on priority through their quick feedback cycles. They both go through initial planning stages and have retrospective meetings to look back and see what can be improved. Many projects use both Scrum and XP practices to take the best of both and deliver the highest possible value to the customer.How is Crystal different from Scrum and XP?Crystal like Scrum and XP is an agile framework. It allows a lot of flexibility to teams and encourages teams to adapt the framework as per their need. The key principles of Crystal are: Frequent delivery Reflective improvement Osmotic communication Personal safety Focus on work Access to subject matter experts and users Technical tooling Conclusion Scrum and XP are great for projects that are intensive and prone to changing requirements. These two practices that have their foundations in Agile are focused on delivering value to the customer and hence most suited for modern projects that need to have quick, value focused deliveries. Which methodology you choose depends on the nature of your project and your team. Teams that are well versed with Scrum also choose to adopt the best practices of XP and Crystal to deliver maximum value.
Rated 4.0/5 based on 34 customer reviews
Agile, as a collection of methodologies, has revolutionized the product development world. It has brought in some fundamental changes in the way organizations work, allowing them to have more streamli...Continue reading
What Is An Agile Coach
By Susan MayWho is the go-to person in your organization or department who everyone seeks when they have doubts on Agile? Which team member helps in new implementations of Agile and helps to create teams that are motivated and hyper productive? If you are thinking about your Agile coach, then you are thinking right!An Agile coach facilitates, leads, motivates, organizes and navigates change. This one person wears many hats, and this blog is dedicated to the responsibilities, salary and opportunities that come with this role. Who is an Agile coach?An agile coach helps individuals, teams, and entire enterprises embrace a culture shift based on proven human-centric agile principles, practices, and values. This culture shift helps people and organizations continue to thrive in the ever-changing world of work—Scrum Alliance We all understand the need for change. Organizations know that in order to survive in these ever-changing markets, they must be adaptable, responsive and quick. For an enterprise-wide transformation to be effective, agility needs to permeate the workforce. In other words, your staff and team members need to know what it is to become agile and practice agility. How do you help your workforce become agile? With the help of an Agile coach. An Agile coach is proficient in Agile and helps individuals and teams to transition to agile and adapt to the changing environment that the workforce must deal with. Agile coaches also oversee the creation of agile teams and equip team members with agile processes, techniques and tools. What are the responsibilities of an Agile coach?Coaches and trains individuals and teams on the Agile ways of working Coaches senior management on Agile adoption Helps everyone across the organization adopt Agile practices and processes Helps teams define and use Agile metrics for better project management Helps teams troubleshoot Agile related issues Creates high performing and motivated teams and individuals What roles can an Agile coach take?Agile coaches can take on the following roles: Enterprise agile coach Lean coach Senior agile coach Why do organizations need an Agile Coach?The question arises, why would organizations need Agile coaches, when they have Scrum Masters? Can’t we make do with the Scrum Master? In many organizations Scrum Masters can play the role of an Agile coach, but Scrum Masters will have responsibilities towards the team and the project and Agile coaching should be a dedicated role. An Agile coach can bring a lot of value to the organization by leading the entire agile transformation, helping teams to implement the agile way of working and re-arranging processes and the very culture of the organization to ensure agility. An agile coach in an organization: Creates an Agile environment that is conducive to high performance, innovation and creativity Trains and coaches' employees across departments and teams Helps teams implement agile tools and processes to ensure more efficient working Supports Agile scaling Helps create an Agile mind-set and an Agile culture Works with stakeholders to help them understand AgileBecoming an Agile CoachIn order to become an Agile Coach you need to have the following skills: Have a strong understanding and foundation of Agile and Scrum Scrum Master skills or work experience on Agile methodology Expert knowledge of agile software development Strong communication and organizational skills A lot of patience How do you develop these skills? For the most part, in order to become an Agile coach, you must have the passion to teach and lead. You should have the desire to lead people on the Agile path and a passion for motivating individuals.That said, there are several certification courses and workshops that will take you through the journey of becoming an Agile coach and help you gain the skills needed to be a successful coach. Along with the right training, the right work experience and knowledge of tools such as those used for project management, you can become an Agile coach.Popular Agile coach certificationsThe following accreditation bodies provide Agile coach certifications Accreditation BodyCertification NameAdvantagesRoadmapScrum Alliance®Certified Team CoachSMHelps you gain skills to work with multiple scrum teams, stakeholders, and management to improve performance and outcomes.Focus on a subset of an organization in a project or program, or across multiple teams; Work with Scrum teams, stakeholders, and management to improve performance and outcomes; and Effectively impact department, project, and program agility Scrum Alliance®Certified Enterprise CoachSMGives you skills to help leadership remove the barriers so the company can embrace and sustain a company-wide agile transformation.Partner at the leadership level to help navigate the ambitious process of becoming an agile organization; Use a customized approach to remove the barriers so the company can embrace the transformation; and Understand that sustainable agility doesn’t happen overnight; it requires commitment and a shift in perspectiveICAgileICP-ACCHelps you gain the skills to effectively impact department, project, and program agility and guide teams to cope with change and conflictConduct the Coaching Conversation Contrast Mentoring with Coaching Helping Team Members Experience the Agile Mindset Shifts Leadership Engagement ICAgileICP-CATGives you skills to address impediments in Agile transition and coach an organization to achieve agile transformationUnderstand Systems and Complexity Theory Extend Agility to the Enterprise Adaptive Principles and Patterns for Organizational Design Understand and Work with Executive TeamsAgile coach specialtiesexpertise in multiple agile methods long experience numerous references numerous IT skills soft skills knowledge on team work and team dynamics knowledge on change management Two qualities were considered as not critical for an Agile Coach: Agile Coaching certification professional coaching certification On the other hand, companies that used an Agile Coach were asked what profile they looked for when choosing an Agile Coach. They stated the following qualities: experience with agile implementations in companies of a similar size and complexity proven good track record strong knowledge of agile good cultural fit ability to deliver the message to senior management great interpersonal skills software development background expertise in multiple agile methods long experience numerous references numerous IT skills soft skills knowledge on team work and team dynamics knowledge on change management Two qualities were considered as not critical for an Agile Coach: Agile Coaching certification professional coaching certification On the other hand, companies that used an Agile Coach were asked what profile they looked for when choosing an Agile Coach. They stated the following qualities: experience with agile implementations in companies of a similar size and complexity proven good track record strong knowledge of agile good cultural fit ability to deliver the message to senior management great interpersonal skills software development background expertise in multiple agile methods long experience numerous references numerous IT skills soft skills knowledge on team work and team dynamics knowledge on change management Two qualities were considered as not critical for an Agile Coach: Agile Coaching certification professional coaching certification On the other hand, companies that used an Agile Coach were asked what profile they looked for when choosing an Agile Coach. They stated the following qualities: experience with agile implementations in companies of a similar size and complexity proven good track record strong knowledge of agile good cultural fit ability to deliver the message to senior management great interpersonal skills software development background A survey conducted by Dublin City University among active Agile coaches, on the value of using an Agile coach, listed the following specialties that Agile coaches need to have: expertise in multiple agile methods long experience numerous references numerous IT skills soft skills knowledge of teamwork and team dynamics knowledge of change management. In the same survey, organizations listed the following specialists they wanted in Agile coaches:experience with agile implementations in companies of a similar size and complexity proven good track record strong knowledge of agile ability to deliver the message to senior management great interpersonal skills software development background good cultural fit Agile coach salaryAccording to PayScale, the average salary for an agile coach is $122,426 per year. Most Agile coaches earn between $84,360 and $158,463 per year. Ending thoughts As organizations world over have realized the importance of going agile, the focus has shifted on getting the Agile transformation right. Agile coaches have greatly helped organizations navigate the complex route of Agile transformation with their insight, expertise and knowledge of Agile and its practices. The demand for Agile coaches has seen a sharp rise in the past few years and this trend is likely to continue as more and more organizations go agile.
Rated 4.0/5 based on 16 customer reviews
Scrum Of Scrums - Guide to Agile Scaling Frameworks
By Susan MayScrum of Scrums, also called Meta Scrum, is a technique to scale Scrum to the enterprise. While Scrum is known to work very well at the team level, scaling it is another story and needs to be done with the right processes in place. Scaling Scrum is of the essence, if organizations want to make it into the next decade. Adaptability and flexibility should be shown not just by teams handling Agile projects but by the entire organization. In this blog, we will help you understand about Scrum of Scrums and how it helps organizations.Definition and history of Scrum of ScrumsA technique to scale Scrum up to large groups (over a dozen people), consisting of dividing the groups into Agile teams of 5-10. Each daily scrum within a sub-team ends by designating one member as “ambassador” to participate in a daily meeting with ambassadors from other teams, called the Scrum of Scrums—Agile Alliance While you may be aware of Jeff Sutherland and Ken Schwaber being the pioneers of Scrum, did you also know that they were the first to implement Scrum of Scrums?In the Scrum Guide, Jeff Sutherland and Ken Schwaber do not provide any guidance for scaling Scrum. But in 1996, Sutherland and Schwaber, when working at IDX, had to apply Scrum to large scale development. The goal then was to convert individual Scrum units into one large interlocking system in order to streamline and manage the quality of the entire development organization. Eight business units had to be coordinated with multiple product lines per business unit and individual teams had to be synchronized with each other. This was the first time they used the technique of Scrum of Scrums successfully to scale Scrum. The concept of Scrum of Scrums was first mentioned by Sutherland in a 2001 article titled “Agile Can Scale: Inventing and Reinventing SCRUM in Five Companies.” What is Scrum of Scrums?Imagine a scenario where a number of Agile teams are involved in a project. How then will you ensure co-ordination between teams, and ensure that the quality of Scrum is being upheld across all teams and departments? In small scale Scrum, we have a daily scrum when team members meet and ensure that Scrum practices are being used and work is proceeding as scheduled. It works because of the high level of collaboration and transparency that is present in the team. Similarly, even when multiple teams are involved, there has to be a high degree of collaboration and transparency. But it’s not easy, and may even be impossible, for all members of all teams to meet every day. Which is why, as the definition of Scrum of Scrums mentioned above suggests, each sub-team has a designated member called ‘ambassador’.The Scrum of Scrums is conducted as an everyday meeting with ambassadors of each sub-team presenting the progress, impediments, or future work of their respective teams. So, every team has a representation, and every team gets a chance to put forth its ideas and challenges. The focus is then on resolution of impediments which may include lack of co-ordination between teams, or lack of knowledge of responsibilities of each team etc.Let’s take an example of implementing Scrum of Scrums in an organization that has Agile based teams in all departments. While each individual team meets daily, there can be a weekly scrum of scrums where the ambassadors of each team will meet to discuss issues and challenges.The purpose of Scrum of ScrumsWhen multiple teams are involved in the same project, coordination may become difficult. There may be some areas of overlap which need to be well established. Scrum of Scrums as a framework allows multiple teams to communicate with each other. Effective communication helps to ensure that the output of each team integrates well with the output of the other teams, and especially in areas where responsibilities are overlapping or events have to be sequenced. How are the meetings run?Scrum of Scrums are held pretty much the same way as Daily Scrum. Ambassadors or team leaders of each sub-team can meet daily, twice a week, or at a minimum, once a week but unlike the daily scrum, the SOS meetings are not timeboxed.The team representative or ambassador typically has to answer these questions. What has been accomplished by your team since the last meeting? Where there any roadblocks or impediments that affected the output of your team? What are the goals your team wants to accomplish by the next meeting? What output from your team, in future sprints, do you see as possibly interfering with the work of other teams? Are you having trouble collaborating or communicating with other teams? Does your team foresee any impediments caused due to work coming from other teams?How to ensure successful Scrum of Scrums in large organizations?Agile transformation can be challenging. Which is why close to 47% of all transformations fail. But Agile adoption is a must, if organizations want to become nimble and more receptive to change. So, what should organizations do to ensure that their Scrum of Scrums does not fail? It is possible to ensure that Scrum of Scrum is carried out successfully with multiple teams on a project.The trick here is to ensure that co-ordination and communication between multiple teams is effective and on track. Impediments should be addressed on time. The Scrum of Scrums should not be treated as a status report to be given to the management but rather as a tool to make sure that individual teams make their sprint goals, and that the overall project goal of all the teams is met. Conclusion As Agile organizations get larger and work with multiple teams, they have to adopt a way of working which will ensure that Agile quality is maintained and work between teams is seamless in order to achieve the final objective. Scrum of Scrum ensures this by allowing multiple teams to communicate with one another to tie up loose ends and remove roadblocks that might impede progress.
Rated 4.0/5 based on 22 customer reviews
Scrum of Scrums, also called Meta Scrum, is a technique to scale Scrum to the enterprise. While Scrum is known to work very well at the team level, scaling it is another story and needs to b...Continue reading
What is a Sprint Backlog and When is it Created?
By Susan MayWhat makes Scrum effective? Is the process followed or is it the team members? The truth is that Scrum is effective because of a combination of these. When the process and the team come together in a systematic approach, Scrum is effective, and the project is successful. The Scrum artifacts add a whole lot of value to the whole Scrum process and help teams deliver value and enhance productivity. In this blog, we attempt to look at one of the most important Scrum artifacts—the Sprint backlog. What is a Sprint Backlog?There are eleven basic elements that make up the Scrum framework. There are: Three accountabilities Scrum Master Product Owner Developers Three artifacts Product backlog Sprint backlog Potentially releasable product increment Five events/ceremonies Sprint Planning Daily Scrum Sprint Review Sprint Retrospective The SprintThe artifacts add a lot of value to the product development and should be managed by the three roles in the Scrum team. The Product Backlog is mainly the responsibility of the Product Owner while the Sprint Backlog is the responsibility of the entire team.The Sprint Backlog is composed of the Sprint Goal (why), the set of Product Backlog items selected for the Sprint (what), as well as an actionable plan for delivering the Increment (how)—Scrum Guide The sprint backlog is an ordered list of tasks that need to be completed in the duration of the current sprint. It is a plan that the developers create for themselves that outlines the roadmap of how they will go about accomplishing the sprint goal. What is a Sprint goal? A sprint goal is a Potentially releasable Product Increment that meets the requisite “definition of done” and is delivered at the end of each sprint. The team collectively works towards achieving and delivering the sprint goal and makes sure that it adds value to the product owner and as an increment to the project goal.The developers use the Sprint backlog as a real time picture of the tasks that they plan to accomplish that will lead them to the sprint goal. The sprint backlog is a highly visible living document that helps developers and other involved inspect the progress made in the course of the sprint. It is updated through the course of the sprint as more information is made available.When is the Sprint backlog created?The Sprint backlog is created at the beginning of each sprint. The items on the sprint backlog are decided at the time of the sprint planning meeting which happens at the start of the sprint. The team selects the items, which may be in the form of user stories, from the product backlog. They identify what tasks may be necessary to complete the user story and also estimate the time that may be taken to complete the tasks. Who creates/owns the sprint backlog?According to the Scrum Guide, the Sprint Backlog is a plan by and for the Developers. The developers with the help of the Scrum Master and the Product Owner select the items and size of the tasks in the sprint backlog. It is important that this be done by the team as it is the team members who are responsible for completing these tasks and delivering a sprint goal. So they must be empowered with selecting the tasks on the sprint backlog.What Goes into a Sprint Backlog? A sprint backlog is a subset of the product backlog and contains items that the development team selects to complete in the sprint. The team selects user stories from the backlog and identifies the tasks that may be needed to complete that user story. The sprint backlog should also include bug or issue fixes which are also broken down into tasks. It also shows which team member the task has been assigned to, the status of the task and the estimate in number of days to complete the task. The sprint backlog must be updated to reflect any new information that may be available as a result of change in the number of tasks.Sprint Backlog Template:Source: Sprint Backlog TemplateTips to make Your Sprint Backlog a great toolInvolve the whole team:The entire team shares the ownership of the sprint backlog as each team member brings in a unique perspective and knowledge to the project. Create joint ownership:This can be done by sharing decisions and ensuring that all team members are involved in planning and defining tasks for the sprint.Have a definition of done:Ensure that every item on the list has a definition of done, which comprises the acceptance criteria that have been defined by the team.Cover all areas of work:While development may take precedence among all other tasks, it is essential that the Sprint backlog covers all aspects of what is needed in the sprint including architecture, coding, UI/UX, testing, etc.Update regularly: The Sprint backlog should be reviewed and updated on a daily basis during the Daily Scrum. The team updates tasks progress or tasks that need to be reprioritized or have some dependencies. Doing this helps the team to track progress and adjust their work accordingly to meet sprint goals.Ensure high visibility: Agile software development is built on the foundations of transparency and this has to be reflected in all the artifacts including the sprint backlog. High visibility can be ensured by involving the entire team at the time of sprint backlog creation and allowing the entire team to have access of the sprint backlog. Avoid changes during sprint: Sprints are typically just 2 or 3 weeks long and making constant changes during this time will waste time and may even prevent the team from reaching the sprint goal. Which is why, the team should avoid making changes in the sprint backlog in terms of adding or removing stories when the sprint is underway. Difference between Sprint Backlog vs. Product Backlog Sprint BacklogProduct BacklogA sprint backlog is the subset of the product backlog The product backlog is the single source that lists things that a team works onIt is an ordered list of items that a team targets to deliver during a sprint in order to attain the sprint goalIt is an ordered list of tasks that are needed to be completed to accomplish the final productIt is specific to the Sprint goal of the current sprintIt is specific to the overall goal of the projectIs owned by the developersIs owned by the Product OwnerDefines the sprint goalDefines the product goalConsists of user stories that are broken down into tasks and estimated in terms of time takenConsists of high-level features that are broken down into user storiesA new sprint backlog is created for each new sprintThe same Product Backlog remains and is frequently updated and maintained till the final product is releasedIs smaller in scope than the Product BacklogCovers the scope of the entire projectIdeally the sprint backlog should not be changed during the sprintThe Product Backlog is refined and modified as the project progressesOnly the Developers are allowed to change the Sprint Backlog during the SprintOnly the Product Owner can make changes to the product backlog. If the developers want to make changes, they must take permission from the Product OwnerWhat value does the Sprint Backlog add?The Sprint backlog is among the most important Scrum artifacts, used by a team to enhance value during the course of the agile software product development. Decided at the start of each sprint, the backlog gives the team the opportunity to get together and decide the tasks that need to be completed in terms of priority and feasibility. It helps to keep the team honest in terms of how much work they pick up.The team being empowered to pick up items and populate the sprint backlog, can ensure that members are not overloaded with work. Being a highly visible artifact, the sprint backlog also helps the team and everyone else involved gauge the progress of tasks and resources.
Rated 4.0/5 based on 13 customer reviews
What Is an Agile Environment
By Susan MayAgile is no longer a methodology just employed by start-ups and small enterprises. It has now hit mainstream and is becoming the methodology of choice for implementing complex projects in large organizations. The intersection of cloud computing, open-source technologies, collaborative tools and evolving frameworks have made the future of Agile more exciting. But for an organization to be successful, it needs to create an environment that helps Agile thrive and grow. What is an Agile environment and how does it help teams stay productive? Let’s find out. What Is an Agile Environment—ExplainedJust like for every living being, an environment plays a crucial role in its growth and health, a conducive environment in a business helps the business survive, grow, sustain and beat competition. The right environment helps the business capitalize on opportunities and use strategies effectively. Similarly, an Agile environment is one which helps adapt, promote and nurture Agile project management. This environment is created not just by putting in place practices and processes but by creating a culture that fosters the implementation of the Agile framework. Such an environment creates a culture where teams are to follow the values and principles of Agile and work towards achieving a common goal. The Agile methodology follows these values: Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan The Agile environment helps companies become flexible, adaptable, be open to changing requirements, promote and accept change and bring in innovation and creativity in the development lifecycle. An Agile environment will ensure that Agile values are followed. What are the Characteristics of an Agile environment?Accessibility:Agile workspaces need to be accessible so that work can flow and there are no impediments. Accessibility is not just about accessible workspaces where employees can have the freedom to work as and when they want to, but also about accessing knowledge. Not all work methodologies promote transparency and collaboration that Agile shows and that is one of the defining hallmarks of Agile. Accessibility helps promote inter-team trust and make team members more productive.Adaptability:Adaptability is another defining hallmark of Agile. In fact, the recent pandemic showed that Agile organizations were able to adapt faster to remote work, distributed teams, new technologies, virtual training and more. An organization can be described as being agile if it is able to help its employees adapt to changing work conditions, changing technologies and other considerations by giving the appropriate training and channels.Fewer interruptions:This is true not just for Agile teams but for any kind of work. Fewer interruptions help the workforce to work better and be more productive by helping them focus more. Interruptions are not just in the form of annoying colleagues or unnecessary meetings, but they can be in the form of programming or product development related interruptions or can be caused by an external environment such as those caused by failure of technology support. Even Agile practices such as daily stand ups and other collaborative efforts might prove to be distracting and put pause on work progress. The Scrum Master and Product Owner can help to reduce many of the interruptions that the developers face and help create a positive Agile environment.The right space:This is the most basic requirement for any type of organization. There has to be the right kind of workspace, which is also flexible. These flexible workspaces allow employees a degree of freedom in how they work or conduct meetings. Agile workspaces should be aided with the right technology and tools to make teams more efficient and motivated to work each day. Distributed teams means that not all employees may work at the same time and the infrastructure must be able to accommodate this flexible work timing.How to enhance Agile productivityAgile is all about flexibility. Employees need to work in flexible environments where they can be more productive, innovative and capitalize on opportunities to deliver value. An agile organization must provide its employees the tools that will help them enhance productivity and one of the tools that helps do this is the Agile workspace. There are several types of Agile workspaces that each offer flexibility and comfort. Organizations can choose an Agile workspace based on the comfort of its employees and one that will help them collaborate with others and encourages solo work.Types of Agile workspacesSome types of Agile workspace include Open plan spaces Source link: Open plan spacesThese types of Agile workspaces are great for teams that are working on projects that need a lot of collaboration between employees.Quiet zonesSource Link: Quiet zones We all like our peace and sometimes quiet spaces are the best when one needs to concentrate and get work done. These spaces are part of the larger office plan and may have sound-isolating phone booths that allow employees to work in isolation.Breakout spacesSource Link: Breakout spacesThese informal rooms are meant for relaxation and are often used by employees to relax, lounge or grab a bite. These are also great for informal meetings with clients or even extensive brainstorming sessions with the entire team.Resource areasSource Link: Resource areasThese areas are used to store the resources used by Agile teams including printers, scanners, office supplies and more. These are not isolated from the employees and are easily accessible. Touchdown spacesSource Link: Touchdown spacesThese are also isolated workspaces with minimal functionality. They are mostly used by employees for quick work and are simple workstations such as a standing desk or a phone booth that allow employees to isolate themselves for getting some work done.Overflow areasSource Link: Overflow areasOverflow areas have now become an important part of Agile workspaces. Not only can they be used as quiet spaces but also as overflow areas when all employees are in the office at the same time.Examples of Agile workspaces Agile organizations like Google and Facebook have recognized the importance of providing their employees with workspaces that will help foster creativity and productivity. These and more companies like them design their offices based on the needs of their employees. Agile workspaces help to maximize space, ensure transparency, improve communication and collaboration, enhance cost savings, reduce confusion, and improve employee morale.According to Jacob Morgan, author of “The Employee Experience Advantage”, companies that focus on their employees’ experiences make four times the average profit, and more than twice the average revenue, than those that don’t. Other companies that use Agile workspaces are LinkedIn, Airbnb, Salesforce and more. Conclusion An Agile environment is not built overnight. It takes years to foster the culture and mindset that gives employees the means to stay productive and motivated. A huge part of establishing the Agile flexibility is by investing Agile workspaces that promote collaboration, creativity, motivation and employee satisfaction. Creating an Agile environment is the first step towards become a fully agile organization and making your workforce super-efficient and engaged.
Rated 4.0/5 based on 18 customer reviews
What Is Agile Testing
By Susan MayTesting is a critical aspect of any product development. Without the proper tests, a product may as well not be released because testing is an opportunity to fix and improve the code and the product. History is proof that products launched without proper testing not only spell doom on the business but also result in irreparable loss to the reputation of the organization.Whether it's traditional or agile project management, testing is an integral part of product development. In this blog, we attempt to look at Agile Testing and the advantages it offers to the whole process of Agile development.What is Agile Testing?A part of the success of the Agile process lies in the fact that the various processes that go into creation of a product are conducted simultaneously. Traditional project management, on the other hand, starts with the analysis, then moves into design, development and finishes with testing. The activities are carried out just once. Rolling back, if there are any issues, would be very expensive and time-consuming. Agile on the other hand, embodies speed and equips organizations to become flexible and adaptable. Organizations want teams that are high performing and predictable, churning out products that meet customer expectations and timelines.But speed does not mean that quality can be compromised with. Quality has been an integral part of the development process in all eras. The need for speed reinforces the need for quality. Agile testing ensures that products that are developed using the Agile methodology are fully tested and ready for release.Agile testing is the software testing practice that follows the principles of agile software development. Testing in Agile means quick testing that is within the scope of Agile principles and offers quick feedback for faster development of the project. In fact, testing comes first in agile, irrespective of while Agile methodology is used. The project is broken into user stories and a set of acceptance criteria is created, against which the story is tested. Only when the user story meets the acceptance criteria is it said to meet the definition of done and is released. Agile Testing Methodology TypesIn Agile, testing is done as early as possible in the development cycle and requires a high degree of involvement of the client. A high degree of collaboration and communication is also needed between team members to ensure that testing in Agile is successful. The Agile Methodology encompasses several types of testing procedures: 1. Test Driven Development (TDD):“Test-driven development” refers to a style of programming in which three activities are tightly interwoven: coding, testing (in the form of writing unit tests) and design (in the form of refactoring)”—Agile Alliance TDD follows the concept of writing the simplest possible code for the test. Each feature or aspect of the program should have one single test written for it and it should be written such that it passes the simplicity criteria. TDD also requires that unit tests not be accumulated over time and ensures that quality is given priority. The advantages of TDD are as follows: TDD has been shown to reduce defect rates The code becomes modular and is easier to maintain Code becomes more manageable The overall costs associated with testing and consequently the project goes down and ROI increases The amount of time spent debugging gets significantly reduced 2. Behaviour Driven Development (BDD)Behavior Driven Development (BDD) is a synthesis and refinement of practices stemming from Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD)—Agile Alliance BDD follows the concept of implementing only those behaviors that help to minimize waste and directly impact product or business outcomes. The tests are written in plain language which is one of BDD’s biggest advantages. Like TDD each scenario focuses on one thing and is unambiguous. The advantages of BDD are as follows: BDD is inclusive and collaborative It speeds up the development process Makes it easier to automate Code can be re-used 3. Acceptance Test Driven Development (ATDD)Analogous to test-driven development, Acceptance Test Driven Development (ATDD) involves team members with different perspectives (customer, development, testing) collaborating to write acceptance tests in advance of implementing the corresponding functionality—Agile Alliance ATDD like BDD is also an off shot of TDD and ensures the highest quality by making acceptance tests the basis for development. The development is carried out by keeping these acceptance criteria as a reference. The advantages of ATDD are as follows: Focus is on the customer needs The requirements are better understood and there is better collaboration with stakeholders Issues are resolved better Development and testing are better managed 4. Exploratory testingExploratory testing focuses on discovery and relies on the guidance of the individual tester to uncover defects that are not easily covered in the scope of other tests--Atlassian Exploratory testing is a testing that follows all the values of Agile and is a precursor to automation. This testing is perfect for mission critical projects and ensures that no test cases have been missed out that could lead to potential failures of the project. The advantages of Exploratory Testing include the following: Ensures that no aspect of the product misses testing Involves the entire team and stakeholders Ensures greater collaboration Is best for critical projects Agile Testing: Principles and Best practicesThere are ten principles to Agile testing as mentioned in the book, Agile Testing: A Practical Guide for Testers and Agile Teams, by Lisa Crispin and Janet Gregory. These are now widely accepted as the standard principles or best practices on which Agile testing is based. Provide continuous feedback: Agile testers do not simply test constantly. They are also responsible for distributing the results of those tests and facilitating the provision of feedback from customers to developers to create a more robust product. Deliver value to the customer: While this is the second principle, it is the paramount principle. The end goal of every action taken by an Agile tester is to create the best product possible for the customer. Enable face-to-face communication: The Agile tester's role is to reduce confusion and errors by communicating directly with developers, as well as enabling customers to communicate directly with developers. Have courage: Developers can be defensive about their work. To meet their goal of providing value to the customer, Agile testers must fight for the changes and fixes that need to be made. Keep it simple: Agile testers act on the aphorism that simplicity is the ultimate sophistication. For testing, that means performing only those tests that are necessary, and all tests that are necessary. For the product, that means delivering the simplest possible product that delivers the most possible value. Practice continuous improvement: Agile testers are keen learners; they are never done learning how to do their job better. Respond to change: Agile testers are adaptable and flexible, keeping up feedback from user stories, as well as changes in the product and the marketplace. Self-organize: Instead of waiting at an assigned seat on the assembly line, Agile testers spring into action at every point in the process. They actively seek out problems and bring people together to solve them. Focus on people: Agile testers are collaborative, preferring human interaction to technology. Their focus on people enables them to deliver a product that prioritizes usability and utility. Enjoy: No one is as successful at meeting their goal as when they enjoy what they are doing. Agile testers who enjoy the work can deliver the greatest possible value to the customer. Agile Test PlanSource: Agile Test plan Everything in Agile is planned, and so is Agile testing. An Agile test plan is a specific and structured document that includes business requirements, estimated QA (Quality Assurance) tasks and acceptance criteria. Having it as a document makes it highly visible and accessible to anyone involved in the project. The Agile test plan has the following sections: An introduction that gives a brief description of the project and general information on the testing process in the current sprint. This part also defines the document scope and how new features will be tested. The document also contains detailed user stories that define features. The third part of the document lists the QA environment which defines the manual or testing tools needed to conduct the tests. The test plan should also include the testing scope. This is a list of all the QA tickets or tasks that must be verified for a particular sprint. The testing scope must be written in collaboration with the developers, product owner and project manager. The next part is the testing process and states what kind of testing—whether manual or automatic, will be performed during the sprint. An important aspect to be taken care of before the test process is started is to investigate any blockers or dependencies for failed tests. A thorough review of previous builds and potential risks must be done before the next sprint development begins. The test plan should also mention the estimates or time taken to complete sprints and release the feature. This helps in overall estimation of the project. Advantages of Agile TestingWhile there are several benefits and advantages to testing, the most important is that it ensures quality products and satisfied customers. Let us look at some other advantages that Agile testing provides: Allows for early testing: Early testing helps to satisfy the fail-first fail-safe motto of agile. Agile testing is carried out simultaneously with development. Early testing helps find issues early on and consequently fixing them before proceeding. Rolling back becomes less time consuming and more efficient. This is as opposed to traditional testing, which is usually performed after the development process is completed, where defects or issues discovered at a later stage can result in costly and time-consuming roll backs. Testers are involved in the beginning: Just like testing is carried out early on, testers too are involved in the entire process of development right from the initial stages. This transparency keeps everyone in the loop and helps the tester better understand the test cases that need to be designed for the sprint. Defects are fewer: As testing takes place at the same time or close to the development, defects are identified and fixed sooner. This not only helps in avoiding scope creep but also reduces the number of bugs that may come due to late testing. Save time and money: Agile testing avoids costly roll backs. Roll backs at a later stage are both time consuming and costly. Agile testing avoids this as bugs can be fixed in the same iteration and time saved. Conclusion Statistics show that on average, a developer creates 70 bugs per 1000 lines of code and debugging takes close to 75 percent of a developer’s time, which amounts to 1500 hours a year. This seems like a staggering waste of time when time is precious, and things need to move at a staggering pace. Agile testing helps developers channel their energy more constructively and reduce not just time but also ensure more robust testing, lesser costs, and better-costs, Ty products. Agile testing, like Agile development, can make not just your team and your organization more productive but can ensure a happier team and a more motivated workforce who can deliver value and quality.
Rated 4.0/5 based on 16 customer reviews