Search

Metrics Management In Automation Projects-Deliver Value Endlessly In Your Agile Projects

IntroductionProjects have been executed for decades for many reasons including customer requirements, technological advancements, and compliance requirements etc. The success of the projects has been driven mostly by conformance to plan for plan-driven projects and the value of delivery for the Agile projects.There are many factors that attribute to the success of the projects and had helped project managers steer projects in the right directions, take corrective and preventive actions.Metrics is one of the most important aspects of project management which can assess if your existing project or program is doing enough to justify your existence. A metric, by definition, is any type of measurement used to measure some quantifiable component of performance. A metric can be collected through observation, such as delay in days, or number of defects; or the metric can be derived from directly observable quantities, such as defects per “x” lines of code, a cost performance index (CPI), or a schedule performance index (SPI) Metric is also called as an indicator, or a key performance indicator (KPI). We will see how metrics can manage automation projects effectively to realize its goals and objectives.Why Automation?We’ve witnessed so far application or product being built to solve a customers’ problem. Most of the applications including e-commerce are now being based on human-centered design or user-centric. These processes were in place and able to sustain when business productivitytrumped technology productivity.Technology took mainstream lately and enterprises started identifying opportunities for automation to cut costs and invest more in the development of new business to grow their top line. RPA product companies took advantage of these opportunities and came up with new age automation suites to solve clients needs thereby saving millions of dollars in costs.What to Automate?Rule-based AutomationThere are applications or systems that involved repetitive actions from users. For example. invoice processing, purchase order approvals, invoice reconciliation etc. These opportunities became the low hanging fruits for the enterprises to invest on. If you see really, these are rule-based systems that work based on if-else conditions.The rule-based automation products came to limelight in recent years and demonstrated the possibility of automating these user interactions with the system and in fact reduced the error or exception rates drastically down.Intelligent Process AutomationThere are also applications that would require high-level behavior to do automation. For exp- to approve an invoice, the automation system should be able to read different formats of a document like pdf, doc, tiff, etc. It has to identify different fields in the invoice document like PO number, Vendor Name, Line item etc. But a lot of the times, these documents will not be structurally formatted and emphasizes the need for some kind of intelligence. This is where some NLP based systems can identify different structures, formats to effectively automate these systems.Metrics for Improving the success of Automated ProjectsEvery organization has its own approach for managing automation projects and have come up with assessments and frameworks to deliver benefits to their clients on their automation journey. There are multiple phases associated with the assessment framework and the below framework can help any automation projects reach its goal and measure the maturity level.The phases are,Kick-offThis is where the what part of the automation use cases are defined. Risks are identified along with mitigation plans.Ideation The use cases for automation are brainstormed for BOTs development.AssessmentUse cases are finalized based on different techniques.ConfigurationArchitecture is finalized along with dependencies with related components.Release & TransitionBOTs are certified, deployed and marked for the transition to the operations team.Monitor & SupportMonitor logs, failures, exceptions and get customer feedback on implementationBenefits RealizationROI, Productivity improvement, FTE reductions details are gatheredHow to measure Automation success in projects?Metrics is one of the most important aspects of project management. Project managers use the metrics to track the project progress against the plan. It serves as a navigation system for them and can be used to drive towards the project goal.The metrics can aid project managers to identify pitfalls and shortcomings ahead of time thereby providing enough time for the project managers to make proactive and corrective measures.There are generally 6 factors that managers generally measure to create metrics that determine project success. Let’s see those metrics for implementing the Automated projects.Value delivered to the client.Time/Schedule to deliver project deliverables. (under / on / over)Cost to deliver project (under / on / over)Scope of work to be delivered. (addition / deletion)Quality of deliverables and of the process. (Benchmarks met if any)Risks to project success (Mitigation / Contingency plans)Automation metrics are no different than traditional project metrics but have few variations on what metrics needs to be tracked to effectively manage the projects and deliver the desired outcomes.Automation metrics can be chosen based on the type of the projects being executed as listed above and are applicable to RPA/IPA projects as well. The major factors to be considered while executing the automation projects are,What problem is your BOT solving for the customer?Have you worked out the cost benefit for the BOT?What is the right RPA tool for your business need?Have you considered the scalability of BOTs, ease of implementation and robustness?ConclusionAutomation is here to stay and will continue to evolve. McKinsey report says nearly half of the activities that people do can be automated theoretically using current technologies. As we progress to foreseeable future, more and more projects will embrace automation leaving humans to solve the most complex problems.The metrics management approach and defined a set of metrics may be suitable for a particular automation team and not suitable for another team depending on the nature of the automation, but it has worked out pretty good for me so far.
Metrics Management In Automation Projects-Deliver Value Endlessly In Your Agile Projects
Ramkumar
Rated 4.0/5 based on 30 customer reviews
Ramkumar

Ramkumar Armugam

Blog Author

Ramkumar is an experienced Program Manager with 13+ years of success in leading all phases of diverse technology IT Projects in retail, e-commerce, insurance and pharma market research industries. He has more than 7+ years of experience in leading and executing projects and programs using agile and lean methodologies. He is currently working as Senior Manager in Cognizant Technology Solutions India Pvt Ltd and holds multiple certifications including PMP, PMI-ACP, CSM, CSPO, CSP and ICP-ACC. He has a zeal for project and program management and his current endeavor includes leading a large scale distributed product development team in delivering a world class product features in the area of Finance and HR domains for a large US retailer. He is a regular contributor to projectmanagement.com.

Posts by Ramkumar Armugam

Metrics Management In Automation Projects-Deliver Value Endlessly In Your Agile Projects

IntroductionProjects have been executed for decades for many reasons including customer requirements, technological advancements, and compliance requirements etc. The success of the projects has been driven mostly by conformance to plan for plan-driven projects and the value of delivery for the Agile projects.There are many factors that attribute to the success of the projects and had helped project managers steer projects in the right directions, take corrective and preventive actions.Metrics is one of the most important aspects of project management which can assess if your existing project or program is doing enough to justify your existence. A metric, by definition, is any type of measurement used to measure some quantifiable component of performance. A metric can be collected through observation, such as delay in days, or number of defects; or the metric can be derived from directly observable quantities, such as defects per “x” lines of code, a cost performance index (CPI), or a schedule performance index (SPI) Metric is also called as an indicator, or a key performance indicator (KPI). We will see how metrics can manage automation projects effectively to realize its goals and objectives.Why Automation?We’ve witnessed so far application or product being built to solve a customers’ problem. Most of the applications including e-commerce are now being based on human-centered design or user-centric. These processes were in place and able to sustain when business productivitytrumped technology productivity.Technology took mainstream lately and enterprises started identifying opportunities for automation to cut costs and invest more in the development of new business to grow their top line. RPA product companies took advantage of these opportunities and came up with new age automation suites to solve clients needs thereby saving millions of dollars in costs.What to Automate?Rule-based AutomationThere are applications or systems that involved repetitive actions from users. For example. invoice processing, purchase order approvals, invoice reconciliation etc. These opportunities became the low hanging fruits for the enterprises to invest on. If you see really, these are rule-based systems that work based on if-else conditions.The rule-based automation products came to limelight in recent years and demonstrated the possibility of automating these user interactions with the system and in fact reduced the error or exception rates drastically down.Intelligent Process AutomationThere are also applications that would require high-level behavior to do automation. For exp- to approve an invoice, the automation system should be able to read different formats of a document like pdf, doc, tiff, etc. It has to identify different fields in the invoice document like PO number, Vendor Name, Line item etc. But a lot of the times, these documents will not be structurally formatted and emphasizes the need for some kind of intelligence. This is where some NLP based systems can identify different structures, formats to effectively automate these systems.Metrics for Improving the success of Automated ProjectsEvery organization has its own approach for managing automation projects and have come up with assessments and frameworks to deliver benefits to their clients on their automation journey. There are multiple phases associated with the assessment framework and the below framework can help any automation projects reach its goal and measure the maturity level.The phases are,Kick-offThis is where the what part of the automation use cases are defined. Risks are identified along with mitigation plans.Ideation The use cases for automation are brainstormed for BOTs development.AssessmentUse cases are finalized based on different techniques.ConfigurationArchitecture is finalized along with dependencies with related components.Release & TransitionBOTs are certified, deployed and marked for the transition to the operations team.Monitor & SupportMonitor logs, failures, exceptions and get customer feedback on implementationBenefits RealizationROI, Productivity improvement, FTE reductions details are gatheredHow to measure Automation success in projects?Metrics is one of the most important aspects of project management. Project managers use the metrics to track the project progress against the plan. It serves as a navigation system for them and can be used to drive towards the project goal.The metrics can aid project managers to identify pitfalls and shortcomings ahead of time thereby providing enough time for the project managers to make proactive and corrective measures.There are generally 6 factors that managers generally measure to create metrics that determine project success. Let’s see those metrics for implementing the Automated projects.Value delivered to the client.Time/Schedule to deliver project deliverables. (under / on / over)Cost to deliver project (under / on / over)Scope of work to be delivered. (addition / deletion)Quality of deliverables and of the process. (Benchmarks met if any)Risks to project success (Mitigation / Contingency plans)Automation metrics are no different than traditional project metrics but have few variations on what metrics needs to be tracked to effectively manage the projects and deliver the desired outcomes.Automation metrics can be chosen based on the type of the projects being executed as listed above and are applicable to RPA/IPA projects as well. The major factors to be considered while executing the automation projects are,What problem is your BOT solving for the customer?Have you worked out the cost benefit for the BOT?What is the right RPA tool for your business need?Have you considered the scalability of BOTs, ease of implementation and robustness?ConclusionAutomation is here to stay and will continue to evolve. McKinsey report says nearly half of the activities that people do can be automated theoretically using current technologies. As we progress to foreseeable future, more and more projects will embrace automation leaving humans to solve the most complex problems.The metrics management approach and defined a set of metrics may be suitable for a particular automation team and not suitable for another team depending on the nature of the automation, but it has worked out pretty good for me so far.
Rated 4.0/5 based on 30 customer reviews
Metrics Management In Automation Projects-Deliver ...

IntroductionProjects have been executed for decade... Read More

Progressing From Agile Practitioner To Agile Coach- A Perspective

Introduction: -With Agile becoming a norm in the current world, enterprises that want to be in the forefront of transformation typically focuses on an adoption strategy that involves hiring Agile practitioners. This hiring is expected to create and foster an Agile culture by coaching employees who may not have any prior Agile experience.I had an opportunity to lead one of the high profile enterprise Agile product development in my organization for a US client. It was a multi-year program with more than 60+ team members distributed geographically across 4 locations (India & US). The program was highly visible and had all tight constraints in terms of budget, timeline, and quality. The client’s engineering teams were too slow in adoption and were not supported by strong engineering practices and focusing only on management aspects.The hope was that my 'extreme programming and engineering practices' background would bring light at the end of the tunnel! Also, since I had spent a considerable amount of time as a practitioner and had attended internal training on coaching, my manager was confident about my accrued experience.I took on all these challenges one by one and also in the meantime I learned that coaching involves three simple stages, as follows. Let’s see these 3 different stages of Agile Coaching that will help you to move from an Agile Practitioner to Agile Coaching.Three Stages/Phases of Agile Coaching: -First is the Assessment Stage, where I observed existing processes and interaction with the team members, gauging them on technical and non­-technical considerations. I evaluated some of the baseline metrics and assessment reports.I was able to identify some of the key improvement areas that could help the team and client progress towards the goal quickly and deliver value. I had devoted a lot of time in listening actively to the team members on multiple occasions. This gave lots of insights into various processes and standards followed by the team and its dynamics. Some of the key challenges that existed were,Non-standardized approach by the team leading to the suboptimal solution.Unwilling to share the best practices or knowledge.Lack of cross synergy and cohesion thereby decreasing overall velocity.Losing focus on the big picture leading to silo working modelThe second is the Active coaching stage where I started encouraging the team members to set specific goals and provide accountability and followed-up to improve the performance. More often I would have open conversations like “What can I do to help you improve?” and create awareness around the problem or issues.I was able to change or influence the behavior patterns of the team on retrospectives during stressful times by not attending the ceremony. This provided freedom to the team members and allowed them to express freely on the pitfalls and improvement areas.I noticed a few things..The build took almost 2 hours, potentially delaying deployment across multiple stages. I probed the team to come up with new ideas to reduce the build time and team was able to explore multiple options and with maven scripts, the team reduced the build time to 45 minutes (60% reduction).The personal characteristics and attitude are most difficult to change as they are built from childhood. I would often leave it to the individual to resolve if there is a need to change and why it would benefit them personally.The key was to actively listen to their opinions, ideas and most importantly to empathize and motivate the team members. I realized as a coach, that influencing or changing behaviors of the team cannot be done overnight and provide immediate results but was always a gradual and long-term process. Over a period of time, the team became self-sufficient and I observed well-enabled retrospectives and well maintained Jira boards.  The difference between completed and accepted story points came down to 3-5% from 8-10%. The team had started realizing their potential without much of an active involvement from me. Team dynamics often created unpredictability (low motivational levels, low performance, poor standards etc.) and I was careful particularly in not providing any directions and specify the outcomes rather understood the working ways of the team and coached them to overcome all of these challenges by themselves.The final stage is Sustainability, which is to continue to perform better indefinitely while I stepped back and enjoyed the results and performance of the team. In some iterations, the results were excellent and few iterations stayed flat.I reviewed the qualitative and quantitative metrics from time to time just to make sure the fundamentals were being followed and as long as there is a harmony in the team, I didn’t interfere. I also learned to identify the quick learners, star performers and nurtured them as they were the ones who would eventually become the team’s influencers and motivators and made them as the internal coaches to continue this endeavor forever. I fostered a healthy relationship with multiple units in the team, for the team to function more effectively.Responsibilities of an Agile CoachPlays a mentoring or coaching role in the organization without being a part of the Scrum teamMost often this person is not a part of the Scrum team and an outsider (from outside the organization)Guides the team members, without personal or political considerationsThe person is an Agile expertIs experienced in implementing Agile techniques in different cultures and environmentsAble to run the complex and different sized Agile projects successfullyA Roadway from Agile Practitioner to Coach:-The coaching experience gave me a sense of fulfillment as I would see mostly the team smiling and brimming with ideas for improvement constantly in the journey of self-reliance. This has helped me improve my personal traits to a greater extent and I feel that I’ve made a sincere attempt to embed myself into my organization towards enterprise agility.Despite the resistance from the team members to change, I was able to win and influence them through my communication, empathy and logical reasoning skills. I truly believed coaching focuses on helping another person learn in ways that let him or her keep growing afterward. It is based on asking rather than telling, on provoking thought rather than giving directions and on holding a person accountable for his or her goals.
Rated 4.0/5 based on 0 customer reviews
Progressing From Agile Practitioner To Agile Coach...

Introduction: -With Agile becoming a norm in the c... Read More

Project Management Plan: Traditional Vs Agile

There are hundreds and thousands of projects being executed by the organizations in the world simultaneously. The projects span across construction sectors, industrial engineering, sports or government projects like constructing dams, bridges etc. The projects are undertaken to bring a value to the organizations and increase in ROI.The success and failures of projects are determined by the planning abilities of the organizations right from planning until a closure of the projects. By properly defining the goals, creating schedules with eyes on constraints and delivering per schedule will most likely steer the organizations towards success.Choosing between Agile & Traditional Project PlansWe will look at how project management plans can be useful (for both traditional and agile world) and have been delivering values to thousands of enterprises across the world. This will be useful in knowing the differences between Agile and Traditional Management plans and what methodology should you use for your project.Traditional Project Management Plan: -PMBOK defines project management plan is a set of baseline plans and subsidiary plans.1) Baselines for scope, schedule, and costThe scope will define the business requirements, deliverables, constraints, and WBS.The schedule will include timelines for activities and milestones.The cost will include budgets approved.2) Management plans for scope, schedule, cost, quality, resources, communications, risk, and procurementPlans for scope, schedule and cost will help the project manager to compare the actuals (during execution) of scope, schedule and cost towards the baseline documents and take corrective actionsThe quality management plan will include measurement and control approaches.HR management is to organize and lead the project team as well as other resources by defining the roles and responsibilities appropriately.Risk management plan will include methods can be used to identify and evaluate risks and outline mitigation and contingency plans.Procurement Plan is used to identify require red procurement and purchasing from third-party vendors.3) Requirement management planThe Requirements Management Plan is used to document the necessary information required to effectively manage project requirements from the definition, through traceability.4) Change management planChange management is a way of standardizing to efficiently manage all the changes with minimal impact on the product, processes, and organization.5) Configuration management planConfiguration Planning will identify which all project items are configurable (CIs), which all items need formal change control and what would be the process of controlling changes to these items.6) Process improvement planThe purpose of the process improvement plan is to document how the project team will analyze various processes, determine improvements and implement them.Project Management Plan is the most important plan that is used to get relevant buying from stakeholders. While PMI’s PMBOK defines the project management plans to be sets of plans as described above, the level of details and the formats used in management plans should be tailored to fit based on the environmental factors of the organization and needs of the project.Agile Project Management Plan: -                                                                     "Everyone has a plan till they get punched in the face." - Mike Tyson                                                           Dwight D. Eisenhower rightly said, “Planning is essential, but plans are useless”If we cannot foresee everything this can happen during developing the project. Then, how could plans be effective?Agile project management is an approach based on delivering requirements iteratively and incrementally throughout the project life cycle. At the core of this, Agile is the requirement to exhibit central values and behaviors of trust, flexibility, empowerment, and collaboration where traditional plan-driven project management set detailed plans on all accounts and detailed requirements at the start of the project.Then, follow the plan and compare against actuals to take corrective actions. Agile starts work with some initial idea of what is required by a business called Minimum Viable Product (MVP) and by delivering those features in shorter cycles. These frequent iterative methods are central characteristics of the Agile project and because of this way of working, collaborative relationships are established between the Stakeholders and the team.There is a general misconception that Agile means less or no documentation. Agile requires just enough documentation for the team to understand and progress because the primary measure of the progress is always working software than exhaustive documentation. For e.g. If there is a project demand for documentation due to compliance and regulatory rules, then the documentation will be taken up during a sprint as user stories and will be completed.The Agile project management consists of three roles as defined by the Scrum. These roles are the Product Owner, Scrum Master, and the Team.1) Product Owner: - The Product Owner is responsible for the product vision and building the product right. A good product owner should prioritize requirements and is empowered to make decisions about the product.2) Scrum Master: - The Scrum Master serves as a servant leader, helping team members work together cohesively, removing impediments to progress, facilitating meetings and discussions. Also, the Scrum Master keeps the Scrum team focussed towards the defined project goal, and ensures that the team is strictly adhering to the Scrum practices.3) Team: - The Development team is one of the important roles in Agile project management. In Agile software development process, the team collaboratively decide who will work on which tasks, which engineering practices to be followed necessarily to achieve the project goals. Such teams are called the self-organized team in Agile.Unlike traditional project management, where the project teams depend entirely on the project manager, Agile project teams self-distribute those responsibilities. The product scope and schedule is the responsibility of the product owner, quality becomes shared ownership and other responsibilities are distributed to the team.ConclusionNow, we have seen the comparison between the Traditional and Agile Project Management Plans. Be it traditional or Waterfall, plans and planning are essential sets of components for any projects. This set of artifacts are like navigation systems to the project managers that can be used to track the project delivery against the laid out plans and take course corrections.There is no guarantee that projects will go according to the plans as there will always be uncertainties and risks that can disrupt the plans. Having a clear project management plan can reduce the risks greatly through mitigation plans and increase project success.
Rated 4.5/5 based on 1 customer reviews
Project Management Plan: Traditional Vs Agile

There are hundreds and thousands of projects being... Read More

Project Management Processes: An Overview Of The Stages

The project management processes as defined by PMI® PMBOK® 6 consists of Initiating, Planning, Executing, Monitoring and Controlling and Closing. Every project is a temporary endeavor and will need to be executed well based on the proper planning to avoid unnecessary overruns and schedule deviations. Managing projects is no wonder a challenge that entails conceiving a certain strategy and creating a workable methodology apart from problem-solving, communication, and team-building skills. These parameters divide a project into different phases as defined by PMI’s PMBOK and understanding and applying these PM process will help to acquaint with project management process and why it is necessary to execute a project in specific steps.The following video will walk you through the different stages and processes involved in project management.Let us now see how the project lifecycle interacts with overall project management process. In predictive small projects, the project management processes will be followed throughout the entire project though some of the processes may be iterated throughout the cycle.Nevertheless, large projects may require each lifecycle phases to be managed by the process groups. The example given below has each phase of the project lifecycle go through the project management process groups due to its demand. An overall initiating effort will be done by the project manager leading to project charter creation and do high-level planning to get approvals. Once this is done, there would be separate phases for each stage in the project planning, execution, control, and closure which would typically hand out deliverables for that phase. Then the project management process will be repeated for the next stage of the project lifecycle.The initiating process formally kickstarts the project or project phase. This involves identifying and analyzing stakeholders for alignment with their goals and objectives. This phase provides a guiding vision for the project that will help achieve high-level scope and any known constraints. The initiating phase formally gives the project manager the needed authority and information necessary to start the project.The output of the initiating phase is project charter and stakeholder register.Project Planning is a very important phase of any project that gives details about the project and helps in getting it organized before the start of the work. This presents a great opportunity to save time, cost, and resources. In the planning phase, the project manager and the team performs a detailed analysis of whether the project can be executed according to the details present in the project charter. Then they decide on how to achieve the strategic objectives through the project management process and knowledge areas. The project planning is iterative and not a one-time effort. This is because each process will use the results of the previous processes and may affect the outcomes. In the real world, the project plan and documents are revisited after identification of the risks, performing qualitative and quantitative risk analysis. The level of project planning by the project manager and the team always depends on the needs of the project. A highly visible project on an accelerated timetable with very limited variance demands detailed project planning rather than a low priority project with adjustable schedules.The output of the planning process are project management plans and project documents that will provide directions for execution and control of the project.The objective of executing process group is to complete the work defined in the project management plans to meet the objectives. The main goal is to achieve the outcome by adhering to budget, timeline, and schedule as mentioned in the project management plan and project documents. This phase is where the actual work will be done and will be focused on managing process, people and communicating according to plan. The project manager constantly updates the project management plan and project documents to accurately reflect the current status of the project. He or she also creates issues log to record and maintain project issue details, resolution and also who will be responsible for resolving the issues within the time.Monitoring and Controlling process will measure the actual performance of the project against project management plan and approving changes through change management including corrective and preventive actions along with defect fix. The project manager uses the project baseline documents (scope, cost, schedule) to compare against the actual performance and suggest course corrections. He/She also obtains formal acceptance of interim deliverables from the customer. If the project does not go according to plan due to scope changes, the project manager re-plans and makes updates to the project management plans and project baseline documents to reflect the approved changes.The final processes group is the closing group where the product scope is completed. This will have administrative activities including finalizing the paperwork needed to finish the project. The project will also have retrospectives from customers and team that goes into the “lessons learned” document. The project manager ensures all the project management documents are updated to complete status and hands off all project deliverables to appropriate stakeholders.ConclusionThe project management process is the core of any project that helps the project manager navigate through all issues that arise in the project. The project management plans and the baseline documents serve as important documents and a guiding light for the project manager to make the project a great success.
Rated 4.0/5 based on 2 customer reviews
Project Management Processes: An Overview Of The S...

The project management processes as defined by PMI... Read More

Project Management Methodologies: Evolution and Benefits

Over several decades, projects have been initiated or undertaken due to market demands, business needs, at the behest of customer request, technological advancements and to comply with regulatory requirements. As enterprises approach some degree of maturity on managing projects, it becomes necessary for streamlining and standardizing the way these projects are executed, be it product development or providing services.Multiple project management methodologies were followed and in fact, newer methodologies have evolved lately and have been adopted by organizations depending on the degree of cultural challenges and resistance exhibited by the people. We will look at some of the key project management methodologies followed in today’s world.WaterfallThe first formal description of the Waterfall model is often cited as early as 1970 in an article by Winston W. Royce, although he did not use the term Waterfall in that article. It was the first process model to be introduced and is simple and easy to understand. Waterfall method has seen an abundant usage in projects where the needs or requirements are well understood and do not change much over time. It follows a linear development by phases with clearly defined stage gates and review processes. Each of the phases is cascaded down and will start when the defined goals are met by the previous phase and signed off.The phases are-Requirement Analysis: - User requirements are gathered through workshops, elicitations and business rules, schemas are definedSystem Design: - Blueprint of the system is charted.Implementation: - Developing the actual product or software happensSystem Testing: - Proving that the software works through unit/integration testing and fixing defects that come out of it.System Implementation: - Productionizing the softwareMaintenance: - Operation, maintenance of the production software.The main advantage of this model is, it allows for segmenting the work like departments and manage them easily. This model also faced some major criticisms which even led Royce to change his view towards Waterfall. It is less costly to change requirements during the design stage and it is more expensive to adapt to changes when construction has already started. This method does not also provide a working version software to client till production and there is no provision to improvise design of the system midway as there is no feedback mechanism.The Waterfall  methods can be adopted on a fixed scope and fixed pricing contracts where the clients don’t expect the requirements to change frequently over time. It would also be beneficial if the project team is also experienced in this type of plan-driven heavy-weight approach to deliver quality products. The performance of the project is measured based on the delivery date and the budget utilized.AgileIn 2001, a lot of practitioners using Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal and Feature-Driven Development convened in Utah ski resort and were sympathetic to the need for an alternative to documentation-driven, heavyweight software development processes. As a result, “Agile Manifesto” was signed paving way for Agile Software Development. It is an umbrella term for several iterative and incremental development and some of the popular include Scrum, XP, Crystal, DSDM, FDD, and Lean."Walking on water and developing software from a specification are easy if both are frozen."- Edward V. BerardThe fundamental difference between Waterfall and Agile is that Waterfall  delivers product increment at the end of the project but Agile emphasis on delivering smaller increments more frequently through multiple iterations. Agile harnesses customer’s competitive advantage and proposes process that accounts changes even late in the game. This is achieved through adaptive planning and evolutionary design. The client is also involved throughout the development process unlike Waterfall  method and feedback is received in every iteration through a feedback loop and the product is improvised based on the feedback. But can all projects be executed in Agile? The answer is no, as each project is unique and if the scope of the projects is clear like still water and does not change over time, executing those projects in Agile would be an overkill.The most common Agile methodologies that are widely used and gained popularity are Scrum and Extreme Programming. Scrum focuses on shorter iterations called Sprints ranging (generally) 2 weeks to 1 month and emphasis on delivering shippable product increments every sprint. In Scrum, design is emergent and evolves over a period of time. The Scrum framework consists of Product Owner, Scrum Master and Development Team.Product Owner: - Responsible for the product vision and building the product right. A good product owner should prioritize requirements and is empowered to make decisions about the product.Scrum Master: - Serves as servant leader, helping team members work together cohesively, removing impediments to progress, facilitating meetings and discussions.Team: - Cross-functional and responsible for who will work on which tasks, which engineering practices to be followed necessarily to achieve project goals.Extreme Programming created by Kent Beck also advocates frequent releases in shorter development lifecycles. The most common elements of XP are pair programming, code review, test-first development, continuous, collective code ownership, metaphor, coding standards, refactoring, simple design, and frequent customer collaboration. The idea is based on the benefits of traditional software engineering practices when taken to extreme levels. Sometimes Scrum will also employ some of the engineering practices from XP like refactoring, simple design, TDD etc.Agile harnesses customer’s competitive advantage by welcoming requirement even late in the development. The Agile methodologies will be most suitable for time and materials contract where the time and cost are fixed but the scope changes frequently based on customer needs. The performance of the Agile projects is measured based on the value delivered to the customer.KanbanThe Kanban methodology (originated from Toyota Production System) as formulated by David J. Anderson is also incremental and evolutionary like the Agile methodology and recommends system changes for organizations to function optimally. Kanban mainly focuses on delivering continuous flow of value to the clients and it accomplishes it by placing constraints on the system.It is based on below core principles,Visualize the workflow: - Ability to see all the work items of each otherLimit WIP: - Balances the flow of work items on each lane to generate optimal outputManage the flow: - Pull the items from backlog (instead of push) when each work item is finished thereby enhancing the flow of values quickly.Make process explicit: - Clearly define process and socialize with the team.Feedback loops: - Encourages standup meetings (10-15 minutes), reviews to incorporate feedbacksImprove collaboration: - Teams achieve continuous delivery through shared knowledge and collective understanding.Kanban is more useful when the priorities changes frequently and it also balances demand against the throughput (cycle time and lead time) which guarantees the most valued features are being delivered to the client. Similar to any of the Agile methods, this method is highly responsive to changes. It also maximizes the amount of work not being done by eliminating waste and activities that don’t add value. Scrum doesn’t allow changes mid-way during the sprint, but Kanban can help in adding or removing backlog items any time during the project and helps in continuous delivery.Kanban is used widely when there is a continuous stream of work and tackling a small number of tasks fluidly and concurrently. It is also suitable for time and materials contract similar to Scrum Framework.ConclusionThere are many more project management methodologies followed in the industry and each project may demand specific methods to be successful. Now hybrid models are getting evolved like a mixture of Waterfall  and Agile that gives the flexibility to pivot and use the best methods for a specific aspect of the project. Regardless of what method has been employed to successfully complete the project, there is also going to be a need of tools as well along with process models that are flexible enough to allow to collaborate across the enterprise and deliver projects.
Rated 3.5/5 based on 2 customer reviews
Project Management Methodologies: Evolution and Be...

Over several decades, projects have been initiated... Read More