Agile vs Waterfall Difference between Project management Methodologies

softwarebuck April 25, 2021 0 Comments



The advantage of agile development


Cross-functional team: It provides the opportunity to work closely with across-functional team.Empowerment: The team members contribute ideas, estimate the effort involvedand are responsible together for the delivery of the product.Transparency and Visibility: The stand-ups and sprint reviews improve thetransparency of the design and development process. It provides a richer andmore rewarding experience for all the team members to build great softwareproduct together.Faster communication: The communication process is more efficient thantraditional waterfall process. In the agile team, designers are able to workclosely with developers and product owners. It reduced the communication timebetween different people as face to face communication is always moreefficient than remote meeting or emails. Designers and developers can quicklydiscuss any design or technical issues on a daily basis.Flexibility and adaptability: It promotes adaptive planning, and allows you toquickly make any changes while building the product.

The disadvantage of agile development


Things can be vague: It is hard to predict, from timelines to budgets. Thereis no concrete plan, things remain a bit vague.Not enough time to design: In the agile environment, there is usually notenough time for designers. Designers work with short deadlines and not enoughtime to think about the design challenges.Difficult for remote collaboration: It won’t work well if you have team memberwork remotely. It is really hard to collaborate with people who are not co-located with others in the agile team. Remote work needs online meetings.However, online meetings usually have issues with technologies such as badinternet connection, background noise in the meeting etc. It costs more timethan just a quick face to face chat.Hard for new joiner: As there is less documentation or no documentation inagile development, it takes more time for new joiners to understand theproject and to quickly start working on design challenges. Especially when itcomes to specific products such as medical products, accountant products andinvestment trading products.

Suggestions for designers working on agile projects


Communication is kingIt is the most crucial part of agile development. Keep communicating with theproduct owner, developers and your users. It is the best way to understandbusiness requirements, technical limitations and users needs of the productyou are designing. It also helps reduce the misunderstands among the teammembers and increase efficiency.Start working on design challenges 1–2 sprint ahead of developmentAs UX designers, you must plan activities before the sprint occurs, whichmeans being proactive and testing assumptions and tackling designs ahead ofthe rest of the team.Avoid creating the design in the same sprint as the development. Work closelywith product owner to understand the product backlog, make sure you start workon the design challenges at least 1–2 sprints upfront.It is important to have these time to come up with good solutions for thebusiness requirements and quickly test them out with some users beforeimplementing it.Don’t skip user research even in a compressed agile timelineAgile development is not just about being fast but iterate and build productsthat users like in a fast-paced environment. Get users involved in the designprocess and understand what they think about your product is the essential wayto know if your product works or not.User Research Lab from one of my clinetsIdeally, it is great to do user research every 2 weeks. However, if you have alimited budget, it is ok to have user research less frequently. You can justdo the guerilla testing or through online user testing platforms likeusertesting.com, which are cheaper way of getting users and understandingusers’ needs & frustrations. If you are a small startup, you can try to talkwith your users through customer support which is also a great way to talkwith users directly and understand their pain points.Doing these user research help designers better understand what first timeusers’ and existing users’ experiences of the product/service, and also users’learning curve of using it.Work closely with developersCommunicate your ideas with people not just designer, but developers. I haveworked with designers who hated working with developers. However, I think workclosely with developers is the most efficient way for designers in the agileenvironment.Involving developers in the design process earlier on in the design processand get their opinions. It is a great way to understand design feasibility andthe technical limitations. It also makes developers feel involved and knowupfront what they will build later on.Get other team members involved in the user research sessionsOther team members observing the user testing sessionThe best way to get other team members understands users is inviting them tocome to the user research sessions. It helps them understand how the usersthink about the products we designed and built.Have a basic knowledge of front-end techniqueHave worked with different types of designers and developers. I think it is agreat advantage for a designer who can understand some front-end techniques.As I know HTML, CSS and some Javascript, it helps me a lot while working withdevelopers in the agile environment. I can easily understand what they aretalking about and talk in their “language”. Some designers I worked withbefore, they can hardly understand the developers and it takes them a bit timeto understand the technical limitations the developers mentioned.Inspect website to see the font, font color, font sizeI believe no matter what professional background you are, it is always good toknow other disciplines to communicate better with others.Don’t create documentation for the sake of documentationDocumentation is important but creates documents for the sake of it isunnecessary.User research that’s conducted is shared and communicated in lightweight wayswith the rest of the team. It is not beautifully polished PPT report.For example, in one of the projects, I share user insights with team membersthrough 10–15 mins short talks and also have the user research confluence pageas the go-to place for team members to find the user insights. We didn’tcreate a lot of PPTs, instead, we only create documents when it is necessary.Learning to be okay with shipping something that’s 90% thereIt is ok to ship something 90%Last but not least, as a designer you need to be ok with shipping somethingthat is not perfect. You always aim to create high-quality work as a designer,but sometimes you need to be okay with shipping something that’s only 90%there and improving it later.In the agile environment, learning to let go of perfection and instead producerapid, iterative design is one of the biggest challenge. The design that isdelivered in the agile environment usually is not perfect due to limited timeor technologies/business limitations. However, it is just MVP, as the sprintgoes on, you will get chance to iterate and improve it later on.Thanks for reading, I hope you’ve learned something new today :)My email is yjgracechen@gmail.com. I’m currently working as a contract UXdesigner in London. If you need any help with UX design, feel free to drop mean email :)References:http://agilemanifesto.org/principles.htmlhttps://www.nngroup.com/articles/doing-ux-agile-worldhttps://www.atlassian.com/agile/collaborative-design-in-agile-teams-videohttps://en.wikipedia.org/wiki/Waterfall_modelSix recommendations for implementing Agile ways of workingAdopting and embedding Agile ways of working is easier said than done,according to research on the maturity of the application and success of themethodology across European organsiations. Leveraging best practices cansmooth the agile implementation journey, however, with six recommendations inparticular making for an optimal roll-out and ensuring that the change sticks.First discussed in depth in the 1970s by American computer scientist WilliamRoyce, Agile is a project management methodology that uses short developmentcycles called “sprints” to focus on continuously improving the development ofa product or service. Although it was originally designed for the softwareindustry, many industries now use Agile when developing products and services,thanks to its highly collaborative and efficient nature.Agile adaptation to significant changes in business environments, includingincreased competition and digital disruption, can give companies an edge oreven enable their survival in crowded markets. Over the past two decades, theAgile methodology has therefore been used to transform development processesacross multiple industries, with companies utilising the technique to ramp uptheir products’ success rates, decrease their time to market and enhance themotivation and productivity of their teams. Despite the importance of Agility,nearly half of all firms still only find themselves in the experimental phaseof Agile work.The thin majority of firms which are already implementing Agile, however,often fail to realise the true potential of the methodology, and the return ofinvestment on Agile programmes in many cases still remains relatively low. Onemain reason for this is that the use of Agile practices is often new toemployees, meaning that maturity is low. In addition, managers and teamsstruggle with embedding the approach and in particular with scaling-up fromsmall teams to broaden their adoption of the method. In discussion withConsultancy.uk, Kelly Morales and Marjan van de Wetering, an Agile expert nowplaying her trade at management consultancy The Next Organization, providessix recommendations on how Agile methods can be implemented, along with anumber of tips how to overcome barriers facing Agile adoption.

Leverage agile at the corporate level


“Executive roles could also benefit from working in Agile teams,” Morales andVan de Wetering said, “By working agile, managers and leaders can learn fromother disciples and people by working on cross-functional teams; get to knowtheir customers first-hand by participating in customer sessions, and learnabout common challenges the organisation is facing and the way to overcomethem.”According to the consultant, tactical management tasks can also be enriched byan Agile approach. Senior executives should pay close attention to a business’most critical issues and try to eliminate the less value-adding activitiessuch as unnecessary reports. By coming together as an Agile team andprioritising management activities, they can accelerate their decision-makingprocess with stand-up meetings that consider the deliveries of the other scrumteams. “In this way, their activities can become clearer to the rest of theorganisation, as executives can share their progress on common boards visibleto everybody,” she said.

Journey to a More Agile Process – From Waterfall Methodology to Agile


The waterfall methodology streamlined software development in the 90s. Itprovided a concrete developmental strategy that was widely adopted by theworld over.It functioned primarily based on the assumption of uniformity and a non-dynamic environment. It was adequate, considering most software back in the1980s didn’t evolve with time or weren’t flexible enough to incorporate newand more robust changes.However, the era of the internet brought in a new generation of dynamicframeworks that had to be adopted to keep up with the industry.It is where the waterfall methodology failed to deliver. It was so rigid inits approach that it couldn’t keep up with the ever-evolving environment. As aresult, businesses, especially small startups, began looking for ways toapproach product development.During this time, a team of highly intelligent software developers realizedthat they had come up with an entirely new approach to developing programsthan was traditionally practised via the waterfall framework.Contrary to what you’d think, not everyone in this team was from a startup.Some of them were technical geniuses in big corporations including Kent Beck,Martin Fowler, Ron Jeffries, Ken Schwaber, and Jeff Sutherland. They came upwith the agile manifesto that documented their ideas and approach to softwaredevelopment.The manifesto played a critical role in laying the foundation for the agilemethodology. It stressed extensively on the ideas on collaboration andflexibility that gave birth to a robust framework of modern softwaredevelopment.

Defining the Agile Software Development Process


In the 1990s, some brilliant programmers came up with a way to meet theindustry’s growing demands for quick turnaround solutions. They divided thesoftware development life cycle into smaller manageable chunks. Focusing on1-2 features, these chunks are time-boxed for development over 2-3 weeks.Agile takes the lead from the Waterfall model. But it is different as youdon’t complete a particular phase for all features and specifications in one-go. Instead, you pick and choose the features you can manage to develop in 2-3weeks (called sprints).Then you run the entire cycle of analysis, design, development, testing, andimplementation on those features in one-go. So, this makes Agile development avery popular choice.Because it ensures that product features are rapidly developed, giving roomfor the quicker launch of products in the market. Sounds fascinating right?

Agile Software Development FAQs


What is agile in simple words?Agile is an iterative approach to software delivery with defined time limits;that incrementally develops the software from the project start, and graduallydelivers modules, instead of handing it over all at once after completion.What is Agile methodology in software development?Agile methodology in software development points out to software projectimplementation practices based on iterative development, where requirementsand solutions progress with cooperation among self-organizing cross-functionalteams towards common goal. Scrum, Kanban and Lean are three commonly utilized Agile frameworks forsoftware development.Why is agile so popular?Agile provides software project implementation teams the prospects of learningwith every new iteration. This enables teams in delivering a prototype and improving it with eachdevelopment cycle. With continuous and cooperative troubleshooting, Agile aids teams andindividual resources in efficiently prioritizing the features, and thenworking in that order of importance.Agile vs Waterfall Methodology for Project Management – Comparing Pros & ConsBefore jumping into the debate of the Agile vs Waterfall methodology forproject management, let us first understand the importance and essence ofthese methodologies and how they have emerged over the period of time insoftware development.

Introduction to Project Management Methodologies


Software development has evolved considerably over the past decade. Businesseshave started to build their technology on solid and scalable platforms andprogramming languages with the aim of making the solution extensible forfuture additions of features and capabilities.While the number of frameworks, platforms and programming languages have grownseveral folds, there is an equally important evolution that happened in theway software development initiatives are managed.Project management has diversified into a comprehensive practice that aims notonly to deliver software on time, but also to ensure zero defects, provideaccurate forecasting for stakeholders and enable seamless visibility andtransparency between dependent teams in a project.While traditional project management focused on the waterfall developmentprinciple, today successful technology projects have transitioned into agileand scrum-based project management methodologies to deliver more value for theinvested effort.

Agile vs Waterfall : Difference between Project management Methodologies


Before we proceed further, you need to understand the difference between Agileand Scrum. In simple terms, agile is an implementation principle or philosophythat encompasses a set of practices to complete a development project fromstart to finish.Scrum is one of these practices or in broader terms, a platform to implementthis agile methodology. A scrum is an agile approach while agile does notalways imply you are using Scrum. Kanban is an alternative agile platform youcan use instead of Scrum.So, since the difference is cleared between that, you will have the obviousquestion:-> Which project management method should I choose for software development in my business?Let’s have a brief look at how the most popular methods i.e. Waterfall andAgile fare in modern software development initiatives. The comparison of Agilevs Waterfall will help you make a decision suitable for your unique softwaredevelopment challenges.* * *The waterfall method is a linear and sequential way of building softwarewherein every stage of development happens in a sequence starting fromrequirement analysis to design, coding, testing, implementation andmaintenance.Agile is an iterative and modular form of software development wherein asingle software product or project is broken down into functional componentsand each component is assigned to a person or team and then the development ofthese components are tracked in time-bound phases called sprints.In each sprint, there will be an itemized set of deliverables to be done inthe sprint duration. At the end of each sprint, there will be a retrospectiveanalysis on what went good and what did not in that sprint and lessons learnedwill be used for re-organizing or prioritizing tasks in future sprints.

Waterfall Methodology


As I’ve said, Waterfall works on a linear approach which means that everystage of the project is completed before the next begins. In between eachstage, the progress will be reviewed and approved by the client before thenext phase may begin.

Waterfall: The downsides


Big-bang releases are one of the main problems with the Waterfall approach.What this means is that your team works on a project with a set deadline forseveral months. These launches are stressful for everyone involved and don’talways produce the best results. Think about it: If you have a project roadmapthat’s created based on what the world looks like right now, you risklaunching an outdated project.That’s why it’s better to release in iterations. This removes the pressure asyou can test smaller milestones. Plus, you don’t risk disruption as you canadd on things as you go. Now, agile does have its own pros and cons. One ofthem is that you need an organizational change to become a truly agile company— and that will take time, money, and energy. However, at the end of the day,being faster and having a better structure for innovation could be worth thecost.Dominic Phillips, co-founder of CodeSubmitBlinded by science – As the early, customer-centric stage of the projectrelies heavily on documentation, there’s always a danger that will not fullyunderstand the specific and technical details which have been laid out.Expectations – As with the above, not all customers are able to form a pictureof the finished product from documents and diagrams which may mean that theirexpectation is different from the result; leading to time-consuming andexpensive changes.

The Agile Methodology


The Agile methodology is all about fast delivery through complete andfunctional components. Instead of being divided into tasks to be scheduled,the Agile approach works through time-boxed phases known as sprints. Eachsprint will usually take a number of weeks and will consist of a list ofdeliverables to be prioritized according to the client’s requirements. Unlikethe Waterfall methodology, the client will be actively involved at every stageof the Agile process as each sprint will be reviewed, evaluated and approvedby the software development team and the client.

Leave a Reply

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