Search

Decision About Which Agile Method To Use - A Perspective

Introduction:Agile methods have gained widespread acceptance in software development organizations for formulation and development of solutions for enhancing existing products or creating new ones. The method has been very effective in the continuous delivery of new and effective solutions.Organizations trying to introduce Agile methodologies, in the beginning, are faced with a choice of which type of Agile methodology is best suited for their environment and types of project work. You may learn more about the challenges encountered by the first-time Agile organizations here.The Agile Manifesto favors the delivery of working software in comparison to comprehensive documentation. There is a constant emphasis on a relation between organization and developers rooted in-Trust,Integrity, andTransparency.It may not be a huge shift, but is still a powerful challenge for many companies. The team should be trained well, should be aware of Agile concepts and should have the required tools needed to perform. A team of experienced and skilled developers is more efficient to take decisions when compared to a less experienced team and understands customer commitment much better. Agile delivery values direct interaction and business user collaboration instead of uneven communication in the life cycle  at fixed points. Effective involvement of the  business reduces the delivered features risk that do not meet customer requirements.How to decide the best Agile methodology that is suitable for an organization?Despite the fact that every Agile methodology offers incremental and iterative delivery of software, the differences lie in the way artifacts produced and each methodology is executed.Let us discuss in detail the most popular Agile Methodologies:Scrum: Scrum is focused on self-organizing teams. Its core principles are aligned with client-driven adaptive planning. Scrum method’s main priority is the delivery of working software in no more than 30 days. Delivered software needs to be in releasable shape.Minimum documentation is supported. Scrum is most used in the Agile framework. Its widespread usage and benefits have made it the most popular Agile method.Extreme Programming(XP): It keeps things simple and concentrates on the continuous implementation of best practices such as-Ongoing testingRefactoringCode reviews (pair programming)Continuous integration.In this method, there is a focus on the developer’s capability and getting into the development of the working prototype as fast as possible.Feature Driven Development (FDD): Breaks down the delivery of a larger product into small features. Typically, FDD is characterised by-Short iteration cyclesSimple processesSuitability for predictable evolutionThe method needs experienced resources to define the required features in great details to make them implementable.Kanban: It is based on Toyota’s just-in-time (JIT) production system. The salient features are as follows-Focuses on eliminating bottlenecksIncredibly simple and powerful Kanban boardsKanban uses Flow and visual methods to bring elements of agile in the overall development process.Makes elaborate use of visual tools.Typical usage involves a space in the office area with printed boards showing status of the activities as shown in the diagram below.Lean Development: Lean Development concentrates on offering value for money. It recommends amplifying learning, avoiding unnecessary errors, delivering as early as possible and deciding as late as possible. The first and foremost principle of lean project management is diminishing waste in an established process. It is more frequently applied to production and manufacturing than in product development. Lean mainly focuses on key process improvement points, such as standardizing means of production and reducing bottlenecks. Although Lean has a different application than the Agile methodology, there are certain common elements such as-Valuing a strong facilitator andPipeliningDSDM: It is developed from a business perspective and lays a strong emphasis on project management. The plans produce based on increments.Sometimes, a combination of multiple methods is the best solution. For example, a combination of Scrum and Kanban is a preferred combination for projects that need the iterative approach of Scrum and the visual elements of Kanban. Similarly, pair programming aspects of Extreme programming (XP) are borrowed for Scrum development teams. It is also advisable that, Agile is not a suitable methodology for some projects. This also should be kept in mind while evaluating an appropriate Agile methodology.In Summary:Agile method to be used for an organization depends on the objectives and desired outcomes. The methods can be implemented either in an existing program or for a new one. Current state and resources available will be of prime importance in deciding the approach and the timeline of implementation. It has been proven time and again that Agile methodologies help an organization to improve the speed of product delivery and quality. They also help establish clear communication channels within the organization and with critical customers and have an approach and method to incorporate customer feedback quickly in the product roadmap.
Rated 4.0/5 based on 0 customer reviews

Decision About Which Agile Method To Use - A Perspective

225
Decision About Which Agile Method To Use - A Perspective

Introduction:

Agile methods have gained widespread acceptance in software development organizations for formulation and development of solutions for enhancing existing products or creating new ones. The method has been very effective in the continuous delivery of new and effective solutions.

Organizations trying to introduce Agile methodologies, in the beginning, are faced with a choice of which type of Agile methodology is best suited for their environment and types of project work. You may learn more about the challenges encountered by the first-time Agile organizations here.

The Agile Manifesto favors the delivery of working software in comparison to comprehensive documentation. There is a constant emphasis on a relation between organization and developers rooted in-

  • Trust,
  • Integrity, and
  • Transparency.

It may not be a huge shift, but is still a powerful challenge for many companies. The team should be trained well, should be aware of Agile concepts and should have the required tools needed to perform. A team of experienced and skilled developers is more efficient to take decisions when compared to a less experienced team and understands customer commitment much better. Agile delivery values direct interaction and business user collaboration instead of uneven communication in the life cycle  at fixed points. Effective involvement of the  business reduces the delivered features risk that do not meet customer requirements.

How to decide the best Agile methodology that is suitable for an organization?
Agile methodology that is suitable for an organizationDespite the fact that every Agile methodology offers incremental and iterative delivery of software, the differences lie in the way artifacts produced and each methodology is executed.

Let us discuss in detail the most popular Agile Methodologies:

Scrum: Scrum is focused on self-organizing teams. Its core principles are aligned with client-driven adaptive planning. Scrum method’s main priority is the delivery of working software in no more than 30 days. Delivered software needs to be in releasable shape.

Minimum documentation is supported. Scrum is most used in the Agile framework. Its widespread usage and benefits have made it the most popular Agile method.
Agile Scrum Framework

Extreme Programming(XP): It keeps things simple and concentrates on the continuous implementation of best practices such as-

  • Ongoing testing
  • Refactoring
  • Code reviews (pair programming)
  • Continuous integration.

In this method, there is a focus on the developer’s capability and getting into the development of the working prototype as fast as possible.

Feature Driven Development (FDD): Breaks down the delivery of a larger product into small features. Typically, FDD is characterised by-

  • Short iteration cycles
  • Simple processes
  • Suitability for predictable evolution

The method needs experienced resources to define the required features in great details to make them implementable.

Kanban: It is based on Toyota’s just-in-time (JIT) production system. The salient features are as follows-

  • Focuses on eliminating bottlenecks
  • Incredibly simple and powerful Kanban boards
  • Kanban uses Flow and visual methods to bring elements of agile in the overall development process.
  • Makes elaborate use of visual tools.
  • Typical usage involves a space in the office area with printed boards showing status of the activities as shown in the diagram below.

Feature Driven Development Lean Development: Lean Development concentrates on offering value for money. It recommends amplifying learning, avoiding unnecessary errors, delivering as early as possible and deciding as late as possible. The first and foremost principle of lean project management is diminishing waste in an established process. It is more frequently applied to production and manufacturing than in product development. Lean mainly focuses on key process improvement points, such as standardizing means of production and reducing bottlenecks. Although Lean has a different application than the Agile methodology, there are certain common elements such as-

  • Valuing a strong facilitator and
  • Pipelining

DSDM: It is developed from a business perspective and lays a strong emphasis on project management. The plans produce based on increments.

Sometimes, a combination of multiple methods is the best solution. For example, a combination of Scrum and Kanban is a preferred combination for projects that need the iterative approach of Scrum and the visual elements of Kanban. Similarly, pair programming aspects of Extreme programming (XP) are borrowed for Scrum development teams. It is also advisable that, Agile is not a suitable methodology for some projects. This also should be kept in mind while evaluating an appropriate Agile methodology.

In Summary:

Agile method to be used for an organization depends on the objectives and desired outcomes. The methods can be implemented either in an existing program or for a new one. Current state and resources available will be of prime importance in deciding the approach and the timeline of implementation. It has been proven time and again that Agile methodologies help an organization to improve the speed of product delivery and quality. They also help establish clear communication channels within the organization and with critical customers and have an approach and method to incorporate customer feedback quickly in the product roadmap.

Raju

Raju Dhole

Blog Author

Raju has 23+ years of IT Experience. He has a strong and diverse background in program, IT delivery, and financial management. He is an expert in project delivery using Agile methodologies and DevOps framework. He is a Recognized leader in innovation and transforming global teams. A strong communicator, he has proven ability to interact with multicultural and multi-location teams.  Raju has worked in multiple roles in Delivery Management, Client Relationship Management, Transition Management, Pre Sales, Business Strategy and Leadership Mentoring. 

Join the Discussion

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

Suggested Blogs

Scrum Master vs. Project Manager: Differences and Similarities

Organizations that are new to Agile and Scrum commit some deadly blunders. The most common and overlooked one is the lack of clarity of the roles of the Scrum Master and the Project Manager. This is more often seen in smaller Scrum teams, where these two discrete roles overlap.  There are of course similarities between Scrum Master and Project Manager roles. But that does not give way to ignoring the distinct differences between an Agile Project Manager and Scrum Master.  We have spaced out this article into various sections-    Scrum Master vs. Project Manager roles and responsibilities Scrum Master roles and responsibilities: Scrum Master is referred as a facilitator, who manages the teams that are implementing the Agile methodology. Scrum framework is the best framework for smaller teams of developers, who can break their work into a Sprint in order to get your project done at the end of every sprint.  The roles and responsibilities of the Scrum Master includes- Sprint planning  Scheduling the daily Scrum meeting Managing Scrum process responsibly Helping the Scrum teams to follow Scrum practices Removing barriers so the team can focus on their work Assisting with the Product Backlog Co-operating with Product Owner in designing Product Backlog items for the next Sprint Protecting the team from external distractions Recording and assisting to improve team dynamics   *Project Manager roles and responsibilities: Project manager’s role is to manage the projects and ensure that the project meets the requirements. The roles and responsibilities of the Project Manager are as follows- Defining project scope to the team Planning project target Preparing the work schedule for the team members Gathering requirements Defining the resource requirements for the project Preparing the budget for a project Assuring quality Mitigating the risks Monitoring the plans Getting user feedback Managing relationships with the client and the stakeholders Ending the project   Similarities between the Scrum Master and the Project Manager Project Manager and Scrum Master both are humans and they both make mistakes. But they both debug and learn from the mistakes. They both can communicate, receive feedback, mitigate the risks, and enable a great bonding within a team. Actually, neither the Project Manager nor the Scrum Master is the supreme authority. The Project Manager has to report to the client and the stakeholders, whereas the Scrum Master has to report to the Product Owner alongside the stakeholders and clients. Both Project Manager and the Scrum Master fail when they ignore the basic principles that are supposed to be adhered to. They fail when they not only neglect being professionals, but also when they are any less than skilled professionals. Sometimes, they may also fail when they disrespect the team members’ opinions. Differences between the Agile Project manager and Scrum Master While noting down the differences between the Project Manager and the Scrum Master, you will find out that the Project Manager plays the leadership role by leading a planning for the execution of the project. Scrum Master plays a support role for the team members, by working closely with the team and assuring that they are following Agile principles properly. Let’s look at the major differences between the PM and SM: Project Manager(PM) vs.Scrum Master(SM) Goals Has defined goals like- Completing the project on time, planned budget, and scope Makes sure that the team members are well trained to follow Agile practices appropriately. Also, SM coaches the Scrum teams and mentions the timeline to finish the project. Quality Assurance PM also knows the importance of quality, but doesn’t know how to achieve this. Usually, a consultant is hired to fix the errors. SM assures the quality and very well knows the importance of it. Team Size Project Managers like to make the things large. PM works with more people and a huge budget. In this way, they improve to Program Manager Scrum Master always tries to keep things smaller. They like to work in small teams irrespective of budget. Average Salary Rs.1,351,403 per year Rs 1,036,017 per year Job Description The job description of the Project Manager includes- Planning, creating budget and the related documents PM has to work with upper management to ensure a scope and direction of a project PM has to work with another department also, in case of emergency sometimes have to work themselves or instruct the team to finish a goal. The job description for Scrum Master includes- Resolves barriers and controls the Scrum processes. Making a team aware of Agile and Scrum to deliver successfully Facilitates the Scrum ceremonies Ensures that a project is running smoothly with the help of the tools Executes the Product Backlog as per the Product Owner prioritization Solves team conflicts with good communication skills Motivates the team Monitors the Scrum processes to increase efficiency   Scrum Master vs. Project Manager certification The Scrum Master and the Project Manager certifications are the two most popular certifications of the Agile and Waterfall methodologies.  Scrum.org report as of 30th April 2017 states that around 110,000+ people are  Scrum certified. Only 56% of the Project Management Specialists are holding a Project Manager Certificate, even in Big IT companies. This was revealed in a survey conducted by IBM.    Last words: Deciding between the Scrum Master and Project Manager certification is indeed a tough choice and entails a careful consideration of the prospects of each. Eventually, the role of a Scrum Master is proved as a ‘deciding factor’ of the successful projects. The Scrum Master and the Project Manager both have distinct roles. Both need particular skill-sets and a right person to make the work happen.       
Rated 4.0/5 based on 9 customer reviews
2666
Scrum Master vs. Project Manager: Differences and ...

Organizations that are new to Agile and Scrum comm... Read More

Agile and ITIL: Friends or Foes?

Today, many IT organizations are expanding their IT businesses using ITIL (Information Technology Infrastructure Library) and other valuable industry frameworks for ITSM (IT Service Management). They are focussing on improving their service quality. In addition to quality, companies are trying to build agility, with the emergence of new technology and methodology like Agile Software Development.  Recent reports from ITSM.tools emphasized upon the factors that organizations measure during work in IT industry. The following image shows the statistics of the aspects, as measured by the organizations. Even after the use of these methodologies and technologies to speed up delivery, IT operations were not able to get on with the fastest delivery rate of IT services. So industries carried out many discussions regarding the combination of ITIL and Agile- Is it possible that both can coexist within an organization? Can ITIL and Agile play major role after merging service quality with agility and speed? Will Agile and ITIL together becomes friends or foes? The article has tried to address this as precisely as possible.  ITIL provides a framework for the governance of IT from the business and customer outlook. ITIL is referred as the best practice framework for IT service management (ITSM). It focuses on continuous measurement and improvement in the quality of the IT services delivered to the customers. According to the ITIL Practitioner course, ITIL includes 9 guiding principles as follows: Focus on value Design for experience Start where you are Work holistically Progress iteratively Observe directly Be transparent Collaborate Keep it simple Agile is a set of processes for software development which fulfills customer requirements and solutions from the cross-functional teams. Companies need to adopt the key points from the Agile Manifesto to achieve Agile ITSM. The key points are as follows: Individuals and Interactions over processes and tools Working Software over comprehensive documentation Customer Collaboration over contract negotiation Responding to Change over following a plan. If these Agile practices are matched with the 9 principles of ITIL, you will find some striking similarities. ‘Working software’ is an equivalent to ‘Focus on value’- which means develop the right things, the valued software can be used by the customers. The ‘Keep it Simple’ principle clearly explains how close ITIL and Agile are! This principle suggests to act quickly and deliver quality, which is the same as ‘Responding to change’.    One of the main hurdles in the integration of Agile and ITIL is the truth that ITIL follows sequential framework, whereas Agile is an iterative approach where Minimum Viable Products (MVPs) are constructed and updated in a very short period cycle. This may create instability. However, businesses and their clients look for stable and agile IT services. DevOps can be the solution for it. It is a more endurable approach for bringing these two contrasting approaches to enable stability and agility (Development and Operations), together. DevOps is based on the combination and communication between Development (Dev) and IT Operations (Ops). DevOps provides technical practices to produce a software. The goal behind DevOps technology is to automate an application delivery and workflow of the processes (planning, design, implementation, testing).  In future, there will be a lean, fast and agile IT service management. According to Gene Kim, thought leader and co-author of The Phoenix Project- “Patterns and processes that emerge from DevOps are the inevitable outcome of applying Lean principles to the IT value stream […and] ITSM practitioners are uniquely equipped to help in DevOps initiatives, and create value for the business”. Essentially, considering the diverse perspectives, Agile and ITIL can exist without some major conflict. Agile and ITIL can very much go hand in hand, because this combination allows IT organizations to have a new culture called, Agile ITSM. ITIL will offer a framework for stable and quality-assured service rapid delivery, whereas DevOps will ensure to provide the continuous stream of improvements. Due to the alliance of Agile/DevOps and ITIL principles, Agile ITSM can provide guidelines for service and the speediest delivery in an Agile way!   
Rated 4.0/5 based on 20 customer reviews
1294
Agile and ITIL: Friends or Foes?

Today, many IT organizations are expanding their I... Read More

Who is the Target Audience for Certified Scrum Master Certification Course?

Who is the target audience for Certified Scrum Master certification course? It is easy to understand the Scrum rules, but it is difficult to implement it in real-time projects. CSM course is the best to learn both in detail. It not only teaches you the principles and practices of Scrum but empowers and energizes you to make meaningful changes. Certified Scrum Master course focuses mainly on the Product Owner, Scrum Master and the Team in a software development company.   Who will be benefited from this course? Certified Scrum Master course is helpful for everyone who wants to become smart in implementing Scrum in their organizations. Doing a certification course in Scrum strengthens the Scrum Master's experience.  This learning event is highly productive and effective for both leaders and members. As the course is completely revolving around the Scrum Master role, individuals who are planning to take up this role will get benefited more from this course. There is one reputed company in Denmark that sends all the employees from receptionists to senior management to the Scrum training, in order to make them knowledgeable about Scrum concepts and enhance operations throughout their company.    Target Audience     There is no such fixed set of target audience for the Scrum Master Certification course. It is designed not only for Scrum Masters but also for the complete project or product delivery teams and anyone interested to work with the Agile teams. You may be a- Software Engineer Product Manager Project Manager Team Leader Business Analyst Development team member Testers etc. Irrespective of your current designation, there are a few basic qualities you should have as a Certified Scrum Master.    It is best for organizations or teams who need memorable and practical instructions. Even students can join this course to get real-time work experience in Scrum by Certified Scrum Trainers (CST) such as: Understanding Scrum framework Building a backlog Estimating a project Different techniques to improve team productivity Effective, project-proven exercises You will also find a CFO, CIO, or CEO in the Certified Scrum Master training classes and others as well who are intended to expand Scrum throughout their organizations.     The State of Scrum in 2017 The 2017 state of Scrum report by Scrum Alliance suggested that most of the successful businesses are using Scrum irrespective of the sizes. Agile and Scrum are not limited to only software and IT departments, they are being applied to different industries such as government, education, manufacturing, banking, and finance. Moreover, some other departments such as human resources, finance, and accounting, sales and marketing reported their ongoing Scrum projects. Here are 3 statistics by Scrum Alliance: 89% of Agile users said that they use Scrum approach. 86% reported that they hold a daily Scrum meeting.  83% reported that Scrum was responsible and important to improve the team’s quality of work. Taking a 2-day CSM course, qualifying the CSM exam, and accepting a license agreement primarily establishes you as a Certified Scrum Master. This certification is a way to tell your peers and the world that you have strong knowledge of Scrum and are fit to work as a Scrum Master.  After all, in the Agile confines, CSM certification is the ultimate answer and the way forward.
Rated 4.0/5 based on 20 customer reviews
Who is the Target Audience for Certified Scrum Mas...

Who is the target audience for Certified Scrum Mas... Read More