Search

Start Sooner Implement Better: Agile Principles Revisited

Principle #3: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. I can’t tell you how many times a day or in my career I have heard “Why are we not moving faster?” or the ever-popular “What has the team been doing since <insert_random_qualifier>”. Of course, those that are on the project know why things have not moved faster, because leadership has been engaged in bureaucratic administrative budgeting for six months, making sure the requirements are 100% accounted for which has taken another four months. Then final approval and sign off by a tribe of 30 or more people has taken another two months and of course a date was already committed to before the budgeting process began, so when the team can actually start work, provided other projects are not taking up their time, everyone is screaming “HURRY UP!”.  The time to hurry was months and months ago, not once the team can actually start solving the customer’s problem.    In this installment of “Agile Principles Revisited” we will take a look at how a team can deliver sooner. Deliver This should be self-explanatory right? I have coached teams that have argued about getting credit for a half-done story in a sprint because they got a few tasks associated to the story completed, but the story itself was not done.  If the story cannot be demonstrated or validated as a slice of the overall goal, then you did not deliver value, you just logged hours.  This is why we talk about vertical slices of functionality, INVEST criteria and splitting stories so that the focus can be on actually delivering within a time box rather than “working on” stuff for multiple sprints.  Working Software While we want to focus on delivering as frequently as our environment and processes allow, what we deliver should actually work and moreover, solve a problem thus adding value; however, this is where it can be a bit tricky depending on how the term “working” is defined given the context.  I will sometimes refer to MVP as a vertical slice of functionality that can be validated at a defined feedback moment, such as the sprint review and will refer to a batch that can be released to customers as the MMF (Minimal Marketable Feature).  I do this to help teams understand how much effort and complexity needs to go in each story depending on the given goal.  If we are attempting to validate a proof of concept idea, we can use a prototype, dummy data or mock details up and have a low fidelity design.  This meets the definition of “working” because we are attempting to validate a theory or conceptual functionality, not releasing to our actual customer base at this point. Before we open up the product to customers to generate incremental ROI, we would, of course, be more robust in the approach and reach a higher quality definition of “working” and “done”.  It is always best to set expectations upfront on what working means during the course of your product delivery approach. The Disciplined Agile Delivery site has a great breakdown of the different views you can take with product increments Frequently: Shorter timelines create urgency, urgency creates action.  Delivering small, independent features are much more efficient than large, tightly coupled bundles of features.  The reasons we want to deliver more frequently are to increase the feedback cycle times and reduce the opportunities for a requirement to change, or be able to accommodate a change with little impact.  The shorter the window of time between the time a Product Owner talked to a stakeholder, created the story for the team to develop and deliver, the lower the likelihood of that requirement changing and the higher the probability we can get feedback if we are building the right thing.  Preference to the Shorter Timescale: If you can deliver software in two weeks, then you don’t have to decide on what to do until 2-3 weeks before you deliver. If you deliver software every 12 months, then you have to take longer to decide on what to do, and that opens the opportunity for your customer to change their mind in that window of time. Shortening your delivery cycle allows you to decide as late as possible on which direction to take, which is a competitive advantage.  In 1983, Lenscrafters changed the eyewear market by having your glasses ready in an hour. This did not allow the customer the opportunity to go browsing at another company and cancel their order and it met the “need it now” emotional aspect. The timescale here needs to be understood and defined as well.  There is the sprint timescale (1-4 weeks) and there is the release time scale (3-4 months for new feature releases).  The team should set aggressive goals in improving the timescale cadence until you reach a more predictable pace.  There are practices that support a team reaching shorter timescales such as; Continuous Integration: The ability to automate the building and testing of code every time a team member commits to provide immediate feedback on what should be addressed to eliminate downstream affects customer experience and spend less time tracking down issues.   Test Automation: This really goes hand in hand with CI practices and should be a part of any development team’s practices.  I will often get teams started with just Selenium and cucumber as means to start illustrating automation thoughts and practices. While this may not address the long-term enterprise needs, it does address the question- “How do we get started”.  Start simple with a few steps until they no longer meet the needs and grow from there. Those are only a few of the obvious practices that a team would perform to help shorten feedback loops and build in quality.  Researching DevOps would identify many more that a team should investigate into improving their environment. What does that mean to us? Don’t Make the Customer Wait: The fundamental measurement of a queue is cycle time.  The whole reason a work item enters a queue is to accomplish something and the longer it waits for resources to complete the work, the more time is spent waiting.  Waiting in a queue is wasted time, opportunity and revenue (Poppendieck, 2003). Customers expect rapid delivery today in all channels and if you are not meeting their expectations of that delivery cycle, there will be rapid communication of the bad experience through social channels. Communicate Quickly To Your Customer: When you can go online and search for any amount of information that tends to increase your expectations when making an inquiry with a company on a request or product.  Customers expect companies to have data available to answer their questions as quickly as they can send a tweet out.  Email and phone calls are falling lower in the channels of communication as customers require instant answers either through chat or social channels.  Your delivery cycle should be able to address these channels quickly.  Make Use of Gemba: The Japanese word for “the actual place” is perfect in the discovery and feedback processes of software usability as it means you are with the actual people using the product and collecting feedback. This also illustrates empathy so that customers begin to feel like they are being listened to and thus are more likely to provide feedback if they feel like they are a part of the solution.  Principles and sensemaking #agile #change #orgdesignhttps://t.co/Mt5Qwiih1x — John Cutler (@johncutlefish) June 26, 2017 Enemies of the (to be) State: Over-Engineering:  Keep it simple.  In our second installment we touched on “Gold Plating” or putting in extra features, you just “know” the customer wants. This takes time and time increases your queue, which causes wait time.  You should be sensing a theme by now.   Over Processing: Adding additional bureaucratic gates, processes or documents reduces trust, and increases the wait time for a product to reach the market and rarely adds value beyond someone wanting to check a box.  That is not to say all processes are bad, merely, we should be inspecting whether or not they add quantifiable value or add agility to our product development process. Point-Based Design: How many of you have attempted to schedule a meeting starting at 9 am only to get responses from people stating they can’t make it at that time, and then you start an endless cycle of emails and declines to finally arrive at an agreed upon time 3 days later.  This is point-based design.  You focus on one option and one option only which limits your choices and ability to deliver and react.  Whereas using a set-based design approach you allow options to be available and make decisions as late as possible to allow for more flexibility and to respond in a more efficient manner using real feedback.  Using the meeting example, you will get more positive feedback if you send a list of options with windows of times to schedule a meeting and you can quickly schedule a meeting based on these options rather than trying to herd folks down only one path. If you are not quick in today’s competitive environment, then you are playing catch up to the competition instead of leading the pack and making them play your game.  However, if you hurry, you run the risk of doing things poorly, which will detract from the positive experience we are trying to build for our customers. Finding the balance can be hard, but through small batch experimentation and validated learning you can find the balance that works for you. Being able to deliver small batch experiments quickly, allows you to start sooner and allows teams the ability to respond in a leaner more result-oriented fashion.  
Rated 4.5/5 based on 33 customer reviews

Start Sooner Implement Better: Agile Principles Revisited

2K
  • by Bruce Nix
  • 02nd May, 2018
  • Last updated on 27th Aug, 2019
Start Sooner Implement Better: Agile Principles Revisited

Principle #3: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

I can’t tell you how many times a day or in my career I have heard “Why are we not moving faster?” or the ever-popular “What has the team been doing since <insert_random_qualifier>”. Of course, those that are on the project know why things have not moved faster, because leadership has been engaged in bureaucratic administrative budgeting for six months, making sure the requirements are 100% accounted for which has taken another four months. Then final approval and sign off by a tribe of 30 or more people has taken another two months and of course a date was already committed to before the budgeting process began, so when the team can actually start work, provided other projects are not taking up their time, everyone is screaming “HURRY UP!”.  The time to hurry was months and months ago, not once the team can actually start solving the customer’s problem. 
 


In this installment of “Agile Principles Revisited” we will take a look at how a team can deliver sooner.

Deliver This should be self-explanatory right? I have coached teams that have argued about getting credit for a half-done story in a sprint because they got a few tasks associated to the story completed, but the story itself was not done.  If the story cannot be demonstrated or validated as a slice of the overall goal, then you did not deliver value, you just logged hours.  This is why we talk about vertical slices of functionality, INVEST criteria and splitting stories so that the focus can be on actually delivering within a time box rather than “working on” stuff for multiple sprints. 

Working Software While we want to focus on delivering as frequently as our environment and processes allow, what we deliver should actually work and moreover, solve a problem thus adding value; however, this is where it can be a bit tricky depending on how the term “working” is defined given the context.  I will sometimes refer to MVP as a vertical slice of functionality that can be validated at a defined feedback moment, such as the sprint review and will refer to a batch that can be released to customers as the MMF (Minimal Marketable Feature).  I do this to help teams understand how much effort and complexity needs to go in each story depending on the given goal.  If we are attempting to validate a proof of concept idea, we can use a prototype, dummy data or mock details up and have a low fidelity design.  This meets the definition of “working” because we are attempting to validate a theory or conceptual functionality, not releasing to our actual customer base at this point. Before we open up the product to customers to generate incremental ROI, we would, of course, be more robust in the approach and reach a higher quality definition of “working” and “done”.  It is always best to set expectations upfront on what working means during the course of your product delivery approach. The Disciplined Agile Delivery site has a great breakdown of the different views you can take with product increments


Frequently: Shorter timelines create urgency, urgency creates action.  Delivering small, independent features are much more efficient than large, tightly coupled bundles of features.  The reasons we want to deliver more frequently are to increase the feedback cycle times and reduce the opportunities for a requirement to change, or be able to accommodate a change with little impact.  The shorter the window of time between the time a Product Owner talked to a stakeholder, created the story for the team to develop and deliver, the lower the likelihood of that requirement changing and the higher the probability we can get feedback if we are building the right thing. 

Preference to the Shorter Timescale: If you can deliver software in two weeks, then you don’t have to decide on what to do until 2-3 weeks before you deliver. If you deliver software every 12 months, then you have to take longer to decide on what to do, and that opens the opportunity for your customer to change their mind in that window of time. Shortening your delivery cycle allows you to decide as late as possible on which direction to take, which is a competitive advantage.  In 1983, Lenscrafters changed the eyewear market by having your glasses ready in an hour. This did not allow the customer the opportunity to go browsing at another company and cancel their order and it met the “need it now” emotional aspect. The timescale here needs to be understood and defined as well.  There is the sprint timescale (1-4 weeks) and there is the release time scale (3-4 months for new feature releases).  The team should set aggressive goals in improving the timescale cadence until you reach a more predictable pace.  There are practices that support a team reaching shorter timescales such as;

  • Continuous Integration: The ability to automate the building and testing of code every time a team member commits to provide immediate feedback on what should be addressed to eliminate downstream affects customer experience and spend less time tracking down issues.  
  • Test Automation: This really goes hand in hand with CI practices and should be a part of any development team’s practices.  I will often get teams started with just Selenium and cucumber as means to start illustrating automation thoughts and practices. While this may not address the long-term enterprise needs, it does address the question- “How do we get started”.  Start simple with a few steps until they no longer meet the needs and grow from there.

Those are only a few of the obvious practices that a team would perform to help shorten feedback loops and build in quality.  Researching DevOps would identify many more that a team should investigate into improving their environment.


What does that mean to us?

Don’t Make the Customer Wait: The fundamental measurement of a queue is cycle time.  The whole reason a work item enters a queue is to accomplish something and the longer it waits for resources to complete the work, the more time is spent waiting.  Waiting in a queue is wasted time, opportunity and revenue (Poppendieck, 2003). Customers expect rapid delivery today in all channels and if you are not meeting their expectations of that delivery cycle, there will be rapid communication of the bad experience through social channels.

Communicate Quickly To Your Customer: When you can go online and search for any amount of information that tends to increase your expectations when making an inquiry with a company on a request or product.  Customers expect companies to have data available to answer their questions as quickly as they can send a tweet out.  Email and phone calls are falling lower in the channels of communication as customers require instant answers either through chat or social channels.  Your delivery cycle should be able to address these channels quickly. 

Make Use of Gemba: The Japanese word for “the actual place” is perfect in the discovery and feedback processes of software usability as it means you are with the actual people using the product and collecting feedback. This also illustrates empathy so that customers begin to feel like they are being listened to and thus are more likely to provide feedback if they feel like they are a part of the solution. 


Enemies of the (to be) State:

Over-Engineering:  Keep it simple.  In our second installment we touched on “Gold Plating” or putting in extra features, you just “know” the customer wants. This takes time and time increases your queue, which causes wait time.  You should be sensing a theme by now.  

Over Processing: Adding additional bureaucratic gates, processes or documents reduces trust, and increases the wait time for a product to reach the market and rarely adds value beyond someone wanting to check a box.  That is not to say all processes are bad, merely, we should be inspecting whether or not they add quantifiable value or add agility to our product development process.

Point-Based Design: How many of you have attempted to schedule a meeting starting at 9 am only to get responses from people stating they can’t make it at that time, and then you start an endless cycle of emails and declines to finally arrive at an agreed upon time 3 days later.  This is point-based design.  You focus on one option and one option only which limits your choices and ability to deliver and react.  Whereas using a set-based design approach you allow options to be available and make decisions as late as possible to allow for more flexibility and to respond in a more efficient manner using real feedback.  Using the meeting example, you will get more positive feedback if you send a list of options with windows of times to schedule a meeting and you can quickly schedule a meeting based on these options rather than trying to herd folks down only one path.

If you are not quick in today’s competitive environment, then you are playing catch up to the competition instead of leading the pack and making them play your game.  However, if you hurry, you run the risk of doing things poorly, which will detract from the positive experience we are trying to build for our customers. Finding the balance can be hard, but through small batch experimentation and validated learning you can find the balance that works for you. Being able to deliver small batch experiments quickly, allows you to start sooner and allows teams the ability to respond in a leaner more result-oriented fashion.  

Bruce

Bruce Nix

Blog Author

Bruce Nix, one of the highly experienced Agile coaches at Lokion, applies two decades of experience in information technology and innovation management to his projects. He trains and leads cross-functional teams in innovation practices, ensuring the best possible outcomes for teams. An avid researcher of leadership and innovation principles, he continually strives to make processes leaner and more efficient.
As a Scaled Agile Framework (SAFe) 4.0 Program Consultant, Certified Scrum Professional, and Scrum Master, Bruce provides improvements in processes and project delivery for clients. He has years of daily experience in Agile project management methodologies and helped found the Memphis Agile Practitioners Group.His deep experience in technical operations management and business analysis has allowed him to manage multiple projects involving enterprise scale ecommerce  initiatives, user experience, web and mobile design, and process improvement.

 

Join the Discussion

Your email address will not be published. Required fields are marked *

Suggested Blogs

Top Trends in Agile You Can’t Miss in 2020

Technology is evolving at breakneck speed and the information we consume every day continues to grow exponentially with every passing day. Analysing this complex mountain of data to make the right decisions informed by this data has become ever more challenging.Traditional models of project management like the waterfall method and hierarchical team structures are too rigid to respond to the fast-paced change organizations are facing today. The old ways of a rigidly structured workforce and work rules are not sustainable anymore.In such a rapidly evolving context, Agile is making the headlines everywhere. Companies of all sizes, including the likes of Amazon and Google are embracing the much talked about project management methodology.While Agile is commonly known for management of software projects, its usage has spread to all types of projects and there is a lot of buzz around how organizations, as a whole, should become Agile.Agile is said to be the new way businesses are building their competitive advantage.Top 3 Trends in AgileReduced project costs have always been a primary driver for Agile adoption. According to the 13th Annual State of Agile Report, reduced project costs continue to be the primary reason for Agile adoption.1. DevOps is a higher organizational priority in 2020According to recent research from the DevOps Institute, over 50% of organizations surveyed preferred to hire their DevOps teams from within the firm. Companies who wish to stay ahead of the curve must make drastic improvements in training and improving skills essential to DevOps. We can expect to see an aggressive pursuit of this in 2020.2. Upskilling and cross-skilling will be on the riseThe strained talent market has led to organizations and individuals investing heavily in upskilling and cross-skilling to meet the fast-growing demands for new skills. While IT professionals would need to become more competent across domains, developers would need to add new breadth to their portfolio of skills.3. Value Stream Management has come to the foreValue Stream Mapping helps change the way teams think about the Definition of Done (DoD) from an ‘I-did-my-job' to ‘the-value-is-realized' result. This is an effective way of changing behaviours and getting teams to think about the end-to-end lifecycle of what they’re working on. Teams who adopt Value Stream Management in 2020 will be able to base their next improvement experiments on data-driven decisions and prioritizations.
Rated 4.5/5 based on 2 customer reviews
8019
Top Trends in Agile You Can’t Miss in 2020

Technology is evolving at breakneck speed and the ... Read More

Agile Project Management Vs. Traditional Project Management

In this fast-moving world, project management has become one of the most important pillars that are helping businesses run without any glitch in their processes. Both small and large scale organizations around the world are exploiting technology and depending on project management systems to deliver the software development project successfully. Whether it is team workflow management or timing, these tools help to ensure that everything is going well without any obstacles. While there are tens of different project management approaches, Agile is considered one of the most practical and flexible software development mechanism that exist today. It is capable of executing a variety of tasks, but what sets it apart from others? Let’s find it out. Here’s a brief comparison of Agile management and traditional project management software:                                                                                                                    Traditional vs Agile Project Management Overview of Agile and Traditional Project Management What is Traditional Project Management? The traditional Project Management (waterfall) approach is linear where all the phases of a process occur in sequence. Its concept depends on predictable tools and predictable experience. Each and every project follows the same life cycle which includes the stages such as feasibility, plan, design, build, test, production, support, as shown in the figure above. The entire project is planned upfront without any scope for changing requirements. This approach assumes that time and cost are variables and requirements are fixed. This is the reason why traditional project management faces budget and timeline issues. What is Agile Project Management? When a traditional system focuses on upfront planning where factors like cost, scope, and time are given importance, Agile management gives prominence to teamwork, customer collaboration, and flexibility. It is an iterative approach that focuses more on incorporating customer feedback and continuous releases with every iteration of software development project. The basic concept behind Agile software development is that it delves into evolving changes and collaborative effort to bring out results rather than a predefined process. Adaptive planning is perhaps the biggest feature of Agile and one that makes it a crowd favorite among project managers. Scrum and Kanban are two of the most widely used Agile frameworks. They are very well known for encouraging decision-making and preventing time consumption on variables that are bound to change. It stresses customer satisfaction and uses available teams to fast-track software development at every stage. The table below shows the major differences between Agile project management and traditional project management.                                                                                Table: Agile project management vs traditional project management   Why is Agile Preferred and why not the traditional project management? Agile is preferred by most developers and managers because of a variety of reasons. Let’s have a look at the most common ones: 1. Project complexity Traditional: This method is the best fit for small or less complex projects as it follows linear approach. Sudden changes in the project or any other complexities can block the entire process and make the team go back to step one and start all over again. Agile: This is the best methodology to follow in case of complex projects. A complex project may have various interconnected phases and each stage may be dependent on many others rather than a single one as in simple projects. So, Agile methods are preferred for large complex projects, as they can respond better to such structures. 2. Adaptability Traditional: This approach works with a belief that once a phase is done, it will not be reviewed again. So, it is not adaptable to rapid changes in the work plan. In case if any sudden situation arises or any change in the requirements from the client’s side, traditional approach fails to adapt to the new change. The only choice is to start from the very beginning once again. This wastes a lot of effort and time in the process. Agile: The adaptability factor is very high in this methodology since it is not linear. Complex projects consist of several interconnected stages, where a change in one stage can cause an effect on another. And the project managers can take calculated risks in such scenario, as there is a chance of high adaptability.  3. Scope for feedback and changes Traditional Each and every process is clearly detailed and defined at the start of the project in the traditional approach. It cannot deal with any big change or feedback that might require a change in the process. Mostly, the project delivery time and budget are fixed, allows change very rarely. Agile There is a high acceptance for feedback and change in this method. The process is very flexible and allows constant feedback that can help to provide better output within the fixed project delivery time. The main reason that managers or developers choose agile direction is for the flexibility it offers. Developers working with Agile management are able to respond to customer requests quickly as they are only addressing small parts of the project at a time and the customer validates each iteration or sprint before finalizing.   Some of the important characteristics of Agile development Breaks project into parts Agile divides a project into parts (called iterations) where the release is sent to the customer after every single iteration. Additionally, the success of the project can be easily foreseen through the success of these iterations. This removes the need for upfront planning completely. Self-organized As mentioned above, Agile uses a parallel mode of management. Employees of a company are not managed by a central line of control, but by groups. For example, in Agile, there may be eight teams working on a single project. Each team is managed by itself without external guidance. The teams only interact with each other for project discussion and process linking as they are otherwise not self-sufficient. Generally speaking, an Agile project consists of three parts: The product owner – the expert on the project (for which the product is being developed) and is the main person who oversees the projects The scrum master – this person manages the process involved in Agile. He/she looks after the iterations and its completion The team – individuals who play significant and minor roles in the software development process Customer Engagement In Agile, customer engagement is at the very top. The customer is regarded highly in its frameworks as after every iteration, feedback is generated and acted upon. Overall, Agile is clearly the winner among project management systems. When compared with other traditional approaches, Agile’s features come to the fore and reiterate why it is one of the top software used by companies globally. Can Agile Coexist with Other Approaches? This is a question asked by many project managers, and opinions of experts seem to be divided. While some say it is possible for Agile to coexist with traditional project management systems, they suggest being cautious and using them for different terms. For example, using two different approaches on the same project can be counter-productive and highly explosive. As Agile and most other frameworks are totally contrasting to each other, the projects may go for a toss. On the other hand, some experts believe that it is not possible for Agile and other tools to co-exist because of their contrast. Using them together can cause disorder in the entire company system, making the productivity to go for a toss. Agile vs Traditional- Adoption Growth According to a recent online survey of 601 IT and development professionals, it is proved that Agile is the new typical formula for project success. The majority of projects and development teams are now adopting this methodology, while the traditional waterfall approaches have many flaws.    Traditional organizations vs. #Agile organizations #SALC16 pic.twitter.com/bBgxkQB1fI — Scrum Alliance (@ScrumAlliance) January 20, 2016 Agile was first introduced about 15 years ago as a substitute for traditional software development approaches. Many people considered it as challenging to implement traditional approach practices and Agile adopters stated that this new style of software development improves team collaboration and is more customer-centric.  Though Agile method was present more than a decade ago, the vast majority of organizations have adopted the practice in the last 5 years. Moreover, the survey reported that agile adoption saw an inflection point between the year 2009-2010. As shown in the above figure, agile adoption seems to have slow incremental growth till 2008 and then its growth was accelerated after gaining traction in the market. Reasons for the transition to Agile Most of the organizations who transitioned from traditional to agile project management have listed the following reasons: Improves collaboration between teams- 54% Enhances the quality level of software in organizations- 52% Results in enhanced customer satisfaction- 49% Speeds time to market- 43% Reduces development cost- 42% The Verdict In traditional software development, the customer involves only before the start of the development process. So, there might be a number of mistakes and a large amount of money needs to be spent to rework on them. Since in the Agile software development, the customer involves at each stage, the corrections can be made once the defects are detected. This helps us in saving cost. As we can see, Agile project management is really in-demand for teams. It helps the team to work on the top priority ones at the right time and allows them to walk through the risks much faster than they would with traditional project management tools.
Rated 4.0/5 based on 5 customer reviews
8957
Agile Project Management Vs. Traditional Project M...

In this fast-moving world, project management has ... Read More

Difference Between Agile and Scrum

Agile describes a set of guiding principles that uses iterative approach for software development, while Scrum is a specific set of rules that are to be followed while practicing the Agile software development. Agile Agile management represents various o software-development methodologies that have been influenced by iterative and incremental development, which includes Extreme Programming (XP), Rational Unified Process (RUP), Scrum, and others. Agile process or methods provide an environment where there is constant evolution in requirements and evolution as a result of collaboration between self-organising cross-functional teams. Agile methodologies foster a disciplined project-management approach that encourages a set of best practices, allowing a rapid delivery of high-quality software and enhancing a business approach, which aligns development with the customer needs. The Agile methodologies stand in contrast to the traditional waterfall methodology, where all the requirements are initially analysed and documented before the development begins. While in Agile approach, requirements are like the actual software-development advances within each iteration. This approach provides flexibility in accommodating changes in the requirements and priorities of the business. The Agile development process aligns with the concepts of Agile Manifesto. Also known as Manifesto for Agile Software Development, the Agile Manifesto is a formal declaration of 4 key values and 12 principles supporting an iterative approach to software development. The Agile development methodology enables assessment of project direction throughout the development lifecycle. This is achieved through regular iterations, and when revaluation is done at every iteration, it greatly reduces the development costs and time. Agile helps the companies to build the right product. Benefits of Agile include as follows: Benefits the Customers In the traditional waterfall model, the high-value features are developed and delivered in longer cycles compared to the Agile approach, which enables delivery within short cycles. This enables the vendors to be more responsive to the development requests of the customers. Benefits the Vendors Adopting Agile benefits the vendors by having an improved customer satisfaction and customer retention, leading to more customer contacts through positive references. The Agile allows the vendor’s focus to be on the development effort of high-value features, decrease the overheads, and improve efficiency. Quality With Agile development, there is a regular inspection of the working product, with testing integrated at every iteration, as it develops throughout the lifecycle. This in turn retains the quality of the product and also allows the product owner to make necessary adjustments whenever a quality issue arises. Visibility Agile methodology is a collaborative approach that encourages active user participation throughout the product development. This gives an exceptional and clear visibility of the project’s progress and product development to the stakeholders. Cost Control Agile development process has fixed timescale where the requirements emerge and evolve as the project progresses and the product is developed. This enables a fixed budget. Risk Management In Agile methodology, small incremental releases are made visible to the product owner throughout the development cycle, which helps identify issues at an early stage, and it makes easier to respond to change, if any. Agile development ensures clear visibility, which allows necessary decisions to be taken at the earliest possible opportunity. Scrum Scrum, on the other hand, is a subset of Agile. A Scrum is a simple and flexible Agile methodology for software development. The Scrum is not a technique or a process but a lightweight and simple framework to address complex problems of a project and deliver a high-value product creatively. The major distinguishing attributes of Scrum are as follows: Simplicity The development in Scrum is done in sprints, which are 1, 2, and 3 weeks in length. The Scrum team consists of: Product Owner: The major responsibility of the product owner is to maximize the value of the product and work of the development team. Additional duties include managing the product catalogue. Scrum Master: The development team consists of self-organising professionals who turn the product catalogue into product increment at the end of each sprint. Development Team: The Scrum Masters make sure that the Scrum team is abiding by the Scrum theory and its rules. Flexibility In the traditional waterfall model, when the business and technical requirements are documented and detailed, it results in endless documentation. The Scrum makes use of user stories to describe the functions needed to be developed. A tool called Pivotal Tracker is used to store these user stories in a backlog. If a change needs to be made or a need arises to add to the user stories, in that case the team can adjust as early as the next sprint. This allows the business to change their minds and the development team to be flexible enough to adjust to those changes. The ability to accommodate change is a powerful attribute of the Scrum methodology. Communication and Collaboration In Scrum methodology, the communication between business users takes place on a daily/weekly basis according to the sprint schedule. This close communication and collaboration is a crucial factor, promoting the success of the Scrum methodology. The Scrum team achieves collaboration in following ways: The Product Owner, the Scrum Master, and the development team work closely on a daily basis. Sprint-planning meetings are conducted, which allows the development team to organise its work based on the knowledge gathered from the business priorities. Conducting daily scrum meetings where the development team can account for the work completed, its future prospects, and deal with issues if any. Conducting sprint reviews allows the team members to evaluate their former work by recommending better practices with every sprint. There are more details on Agile & scum differences
Rated 4.0/5 based on 8 customer reviews
2793
Difference Between Agile and Scrum

Agile describes a set of guiding principles that u... Read More

Useful links