Enquiry Form

Software Development Methodologies & Frameworks…

Software Development Methodologies and Frameworks

Preface:

This book is a complete guide to the various software development methodologies and frameworks that are/have been used by various developers in the software development world. By the end of this book, you’ll have a great understanding of various terms like Agile, Waterfall, Spiral, Scrum, Kanban, and more; we’ll be discussing the working of these methodologies & frameworks with comparison, in a very simplified and easy to understand manner. This book is for everyone, so you don’t need a tech person to understand the contents of this book, only a will to learn will do.

The Methodologies

1. The Agile Methodology
1.1 What Agile Says?
1.2 Why Agile?
2. Waterfall
2.1 So What is the Waterfall Model?
2.2 Waterfall Model is Used When
2.3 Stages of Waterfall
2.4 Waterfall Pros
2.5 Waterfall Cons
3. The Spiral Methodology
3.1 The Spiral Story
3.2 So What is a Spiral Model?
3.3 Breaking the Spiral
3.4 What is Running the Loop?
3.5 When to Use the Spiral Model?
3.6 Spiral as a META Model
3.7 Using Spiral
3.8 Spiral Pros
3.9 Spiral Cons
3.10 Takeaway Points
4. Extreme Programming
4.1 What is Extreme Programming?
4.2 Various Stages of XP
4.3 Extreme Pros
4.4 Extreme Cons
5. Comparing the 4 Methodologies

The Frameworks

6. Scrum
6.1 What is Scrum?
6.2 What is a Sprint?
6.3 What is a Backlog?
6.4 What is an Increment?
6.5 Drawbacks of Scrum
6.6 Is Scrum Agile?
6.7 Points to Remember
7. RAD
7.1 RAD the 5 Steps
7.2 When to Use RAD?
8. Kanban
8.1 What is Kanban?
8.2 A Kanban Board
8.3 Solid Board
8.4 Digital Board
8.5 Kanban Pros
8.6 Kanban Cons
9. Kanban vs Scrum vs RAD
10. Conclusion

The Agile Methodology

“Let’s make it quick shall we?” why? Well because it’s “Agile,” that’s what it’s supposed to mean, otherwise how ironic it would be to make you drag through while talking about agility. So basically agile is like the new millennial who doesn’t always like to stick to the rules but finds a quicker and often unconventional way of working through a problem and surprisingly succeeds!

Agile Methodology

IMAGE SOURCE: GOOGLE

So, here is the story: the Year 2001, 17 smart but frustrated individuals met to find a solution to the problems that the outdated project management system posed, its inefficiency, rigidity, and lack of customer satisfaction were some of the key problems that everybody faced…so after a long chit-chat, brainstorming, and Of course a lot of disagreement that went on for a few days…..they surprisingly found a solution! It was “The Agile Manifesto”, a short 12 line document.

This document revolutionized software development! ….but how right?

Let’s see…

The primary focus of these newfound principles was on “Getting the job done” by shifting the focus from the time-consuming and often unnecessary processes of comprehensive documentation, contract negotiation, and things like 

“Following the plan,” FINALLY….! Nobody liked that anyway…the set of values and principles that were laid down in the manifesto actually succeeded in overcoming the roadblocks like rigidity and inefficiency that the traditional methodology AKA waterfall was causing.

Problem solved…..so let’s move on shall we?

So let’s see what Agile has to say…..

What Agile Says?

Satisfy thy customer:

  • Listen to what your customer says. 
  • Increase his/her involvement in the project. 
  • Seek his/her constant approval.

Agile principles place the customer at the epicentre of all priorities because customer satisfaction is the end goal; the undisputed top-most priority.  

Be ready to start over:

Sounds frustrating but that’s how you deliver a good product i.e. by constantly making changes according to your customer’s needs and requirements.

*Be ready to redo what you consider to be completed.

*Nothing is “The thing”, constant change maintains flexibility and efficiency.

*Do not shy away from making changes at the final hour.

Make it quick:

  • Make regular short deployable deliveries instead of going for the “Big show” all at once.
  • Your customer should hear from you more often than he/she would conveniently like to.
  • Constant customer interaction will ensure…your project doesn’t move off track.
  • Keep doing this often.

Teamwork:

  • Neither the business owners nor the developers should remain aloof from the other’s working and should work together on the project.
  • Constant interaction eliminates the possibility of delay in communication, or miscommunication.

Trust thy team:

  • Work with enthusiastic and motivated individuals.
  • Let them self-govern.
  • Trust them to get the job done.

Talk more:

  • Talk face-to-face, that’s the best way to communicate.
  • Meet and reflect on the work done; work to be done, and the changes to be made. 
  • Yeah, do this often.

Working software equals Progress

Keep it simple, keep it sweet:
  • Don’t overdo it.
  • Simple is sweet, nobody likes it complex anyway.
Let them lead:
  • Self-organized teams are the birthplace of creativity and excellence.
  • Let them lead, be responsible for their output.
Autotune:
  • Stop, wait, and reflect on how to become more effective.
  • Re-adjust the behavior accordingly.
  • Do it once in a while.

Why Agile?

  • Flexibility: To put it straight, It’s the survival of the fittest; Change frequently; adapt quickly, and that’s how you maximize efficiency. One of the primary features of Agile methodology is to constantly change and adapt to the fluctuating environment, which includes changing customer behavior; fluctuating market conditions, competition, and more. To put it simply…“change to sustain.”
  • Baby steps over a leap: A “Big Bang” can often become a “Big Dang..!” it is not only economical but also less risky to keep the shipment size small, it is just wise and advisable to make constant & short deployable deliveries instead of going for the big show all at once. You might just end up delivering something totally different from what your customer envisioned…and yeah that means LOSS, whereas in the agile methodology the customer is always kept aware of “what’s happening” and in that case what he/she wants is exactly what is being delivered. So it’s only advisable to…deliver in bits to avoid choking on chunks.
  • Solution found equals work done: Agile says “Cut the crap and talk turkey” because that’s what really matters, Agile is all about getting the work done, and this methodology prioritizes it over everything else. Agile is solution oriented and keeps processes like never-ending documentation secondary on the list. Agile believes in….doing the necessary first.

Things to remember:

  • Agile is only a set of “Values & Principles.” 
  • Agile is more of a mindset that developers try to build using different frameworks.
  • A framework is a set of procedures & protocols that help develop an Agile mindset.
  • There are several frameworks to choose from, out of which Scrum & Kanban are the most popularly adopted ones.

Waterfall

“If the project is big, use Waterfall to make it slick.”

It is simple to understand and easy to implement, it’s the classical way of dealing with an impediment.

1970…Winston W. Royce…an American computer scientist introduced this linear model of software development known as the Waterfall methodology. Earlier this model was widely used in the manufacturing and construction industry (the term Waterfall wasn’t coined back then) but later it was adopted by the software development sector as well.

So how did things go?

How is this model doing in the modern era?

And the things you should know?

Buckle up..! And get your Kayaks ready for we are gonna dive into “The Waterfall” now..!

So What is the Waterfall Model?

To put it straight..this is the waterfall model…

Waterfall Model

IMAGE SOURCE: GOOGLE

…Okay..you might not be able to get your kayaks through maybe, but how about software..?

Waterfall is a linear approach of software development, where a project enters into each phase and moves onto the next one step-by-step, the next phase only begins once its preceding phase has been completely executed. 

Some people also like to call it “Predicted project management” or “Planned project management” as the characteristics of the final product is already known.

Waterfall Model is Used When…

  • The requirements of the client/customer are clear.
  • Nature of the end product is already known.
  • Time duration is fixed.
  • Budget is fixed.

Clear requirements…

“Requirements are clear, make no mistakes dear.”

  • This methodology is generally employed when the chances of change in product requirements is next to none.
  • This involves lengthy processes like documentation and contract making.

Know what to deliver…

“You get paid to deliver what is said.”

  • The requirements are crystal clear.
  • Stick to the plan.

Obey the calendar…

“Time is the key to a successful delivery.”

  • Waterfall methodology strictly adheres to the time limit.
  • All projects should strictly be completed under the agreed time frame.

Know thy budget…

“Time is fixed and so is your budget.”

  • Stick to the budget.
  • That’s it.

Stages of Waterfall

Requirements…

  • Understand the requirements.
  • Develop a clear picture of the final product.
  • Do all the paperwork.
  • Decide the budget, “discussed everything with the customer?”
  • Get moving.

Design…

  • Study the requirements.
  • Create an initial software code.
  • Build upon the required framework.

Implementation…

  • The system is tested in small programs called units.
  • The design goes through a basic testing process.
  • Functionality is tested; loopholes are dealt with.
  • The phase is called unit testing.

Integration…

  • This is a rigorous testing process.
  • The entire system is tested in this phase.
  • Post testing the units are put together into a system and are made to run.
  • This is the pre-installation process.

Deployment…

  • Everything looks great.
  • Software has been tried & tested.
  • Now the product is ready for the final go.
  • The final version of the product is finally released into the market.

Maintenance…

  • This is a post-deployment phase.
  • After-Sales services are provided to the customer.
  • Changes are made if the need arises, It can be a defect that was overlooked in the preceding phase or simply an update.

Using Waterfall..?

Here is something you should know…

Waterfall Pros…

  • It is a straight-line linear method.
  • Requirements are clearly stated.
  • It is easy to use and understand.
  • Works best for bigger projects.
  • It is highly planned & well documented.
  • Cost and the release date of the product can be estimated.

Waterfall Cons…

  • Waterfall system is not very flexible.
  • Changes are difficult to make post-deployment.
  • It’s “Big Bang” approach can backfire sometimes.
  • The product can turn out to be different from what the customer envisioned.
  • Lengthy documentation takes a lot of time and effort.
  • Low level of interaction with the stakeholders.

Takeaway points…

  • Waterfall is a Grand Dad methodology, he likes it the simple way.
  • He might be old but is still functional in certain fields, like manufacturing, engineering, & construction.
  • A new phase only begins once the previous phase has been completed.
  • He follows a linear approach.
  • He is all for the “Big Show”
  • He doesn’t like to talk much, he simply does the job.

The Spiral Methodology

There’s a popular saying at 4 Way Technologies“If it’s risky, Go Spiral” for jumping straight into the unknown is not exactly the smartest thing to do, especially when the risk is high.

The Spiral Story:

1986…A smart person named Barry Boehm gave a gift to the software world called “A Spiral model for software development and Enhancement.” Since then Spiral has become the GO TO model for projects that involve a “HIGH RISK” factor, especially where there is absolutely no room for error, whatsoever. 

Now moving on we’ll be discussing what Spiral is; how it works, and why even NASA uses it.

So What is the Spiral Model..?

So…basically this..is the spiral model…..

Spiral Model

IMAGE SOURCE: GOOGLE

Yes we know….it’s not exactly the most eye pleasing or easy to understand diagram…but don’t worry…because that’s where we come…so….stick to the text and watch it become a piece of cake…Let’s get going…shall we?

Spiral…is basically a software development methodology like Agile and Waterfall, it is also known as a “META MODEL” for it borrows several traits from both of these and other SDCL models, it is not exactly a very popularly used model among the developers for the scope of its use is limited only to the projects that involve High Risk.

Let’s Break the Spiral…

Spiral can be broken down into the following quadrants; each quadrant represents a phase in the spiral:

  • Determining the objective.
  • Risk analysis.
  • Developing the prototype.
  • Reviewing the plan.

Determine your objective…

  • Know your customer’s requirements & find out the possible solutions.
  • Decide your course of action & also an alternative course of action/actions.
  • Done? Let’s get moving to the second quadrant…

  Risk analysis…

  • Know the risk & Identify the possible outcomes.
  • Develop an awesome strategy.
  • Outsmart the risk.
  • Done? On to the next one…

Progress check…

  • Review the plan.
  • Look for the loopholes.
  • Satisfied? On to the next now.

The final stage…

  • Now Develop a prototype.
  • Do the test runs…a lot of them.
  • Total Satisfaction achieved?…NO?
  • Run the loop again, and again, and again.
  • Looks perfect now? Great, now go for the REAL DEAL.

What is Running the Loop?

The Spiral model works in different 4 phases/quadrangles, each phase represents a stage of development. If total satisfaction is not achieved at the end of the 4th quadrangle then we repeat the entire process again until the risk has been dealt with, and total satisfaction has been achieved.

When to Use the Spiral Model?

As we mentioned above, the spiral is not a very popularly used model among the developers, for the scope of its application is limited, and it is only used:

  • When the scale of the project is Humongous.

                           &

  • Where the risk involved is very high.

NASA too uses the spiral model, because….

  • The project scales are extremely large.
  • The risk involved is extremely high.
  • And obviously, you don’t wanna discover an error once your machine is on a different planet..!

 So Spiral is like that big lion that relaxes most of the time, and only comes down to hunt when it’s time for the big game…

Spiral as a META Model…

Spiral is called a meta-model because:

  • It borrows several qualities from other SDLC models.
  •  A single loop spiral actually represents the iterative waterfall model.
  • Its linear path is akin to that of the classical waterfall model.
  • The loop process helps mitigate the risk; this is unique to the spiral model.

Moving further Spiral is…

Expensive…

Spiral is a costly model, for the process of moving through different stages of its development costs a sum, especially while developing a prototype and running it through different quadrants for refinements.

  • Spiral model is not suited for smaller projects.
  • Works best for projects where the highest degree of “Risk analysis” is required. 

This is the reason why Spiral is generally preferred for bigger projects that require meticulous planning and flawless execution. 

Using Spiral…

Spiral Pros…

  • Greater risk management.
  • Best suited for larger projects.
  • Is flexible to the constantly changing requirements.
  • Delivers good customer satisfaction.

Spiral Cons…

  • Spiral method is a complex method and is difficult to use and understand.
  • EXPENSIVE….Spiral is a costly method that requires a bigger budget. Bigger angular dimension= greater progress=bigger cost.
  • Too much focus on Risk Analysis.
  • Not a very time-efficient method, “You never know how much time it’s going to take to get a satisfactory result.”
  • You need absolute experts to analyze the risk and to work efficiently with this methodology.

Takeaway Points…

  • Spiral is a META model…a blended model.
  • Greater the number of loops=greater progress=higher cost
  • Best model to deal with the “Risk Factor.”
  • Best suited for bigger projects.
  • Not a time-efficient model.

Congratulations…! Now you know what The Spiral Model is…..go tell your friends!

Extreme Programming

“Don’t beat around the bush…just tell me how?” This is the kind of phrase you’d hear from extreme programming if it was a real person. XP likes to take the traditional methods of programming to the uncharted territory of new extremes..!…sounds interesting?..because it is…so keep reading this extremely simplified yet highly informative version of XP.

1990s…an extremely smart man named Kent Black decided to find a better; a more efficient way of programming and this is how extreme programming was born.

What is Extreme Programming..?

XP is an iterative software development methodology like Agile & Waterfall;

Extreme programming is so popular owing to its quality of being extremely precise and highly specific on “How to do it right.”

Extreme Programming

IMAGE SOURCE: GOOGLE

Let’s Have a Look at the Various Stages of XP…

Pair up…

After a loose set of requirements have been gathered from the client…

  • The developers start working in Pairs.
  • Here 2 developers work together on a single code.
  • One writes the code and the other one watches vigilantly.
  • They keep switching roles constantly.
  • This ensures higher speed.
  • & also facilitates mutual learning.
  • Working in pairs is great for error detection in an early stage of the programme.

2 brains are better than one

Code review…

Leave no stone unturned…

  • Seek approval.
  • Look for bugs & errors.
  • Gather continuous feedback, work accordingly.
  • Improve…based on the feedback.

Check if it fits right.

Unit testing…

Get ready for real testing…

  • The code is tested at a microscopic level.
  • Here you test the smallest single unit of the code(UNIT).
  • This is done to further ensure that there are no bugs & errors remaining.
  • Done..? on to the next.

Don’t leave even a speck of dust.

Integration…

So does it work..? Let’s see.

  • The units are combined to form modules.
  • The modules are further combined too and are run together to check the entire functioning of the programme.
  • Now let’s wait for the final result.

Well..well let’s see if it can dance…

Courage...

You know the feeling right…

  • Be transparent about everything.
  • Be it progress or defeat.
  • Do not fear…cause we are chasing perfection here.
  • Be ready to discard everything that’s not necessary.
  • Stick only to the cream.

Aim for the best, nothing less.

So when to use XP..?

XP is ideally suited for…

  • Smaller projects.
  • Projects that involve innovation & new technology.
  • Environment, where requirements are changing rapidly.

Using XP…

Extreme Pros…

  • XP is a time-efficient methodology.
  • Simplicity.
  • Transparency of the process.

Extreme Cons…

  • XP is code-centric and that can sometimes lead to a compromise on the design.
  • XP will not work if the programmers are working remotely.

Let’s Compare the 4 Methodologies…

      Agile        XP    Waterfall     Spiral
Suited for larger projects.Better suited for smaller projects.Suited for larger projects.Suitable for large-scale “High Risk” projects.
Iterative in natureIterative in nature.Linear in nature.It is a blend of both iterative & linear methodologies.
Flexible & adapts to the changing environments.Flexible & adapts to changing environments.Not suited for changing environments.Can adapt well to the changes.
Was created in 2001.Was developed in the 1990s.The old man has been here since 1970.Spiral has been here since 1986.
Can work easily with vague requirements.Can work easily with vague requirements…Requirements should be clear from the start.Requirements should be comparatively clear.

Scrum

“Understanding Scrum is far easier than labelling or classifying it.” Scrum can have so many variations in its implementation, that it is nearly impossible to say, “This is Scrum.” But ironically this is what Scrum is… “Didn’t get that?” Don’t worry, just stick around and it shall become a cakewalk.

Scrum

IMAGE SOURCE: GOOGLE

Scrum…gets its name from American rugby, which stresses on the importance of closely knit and seamlessly working teams, where traits like quick decision making, agility, and equal responsibility are the match determining and often victory factors…we’ll be discussing the importance of these traits further down…So get ready for the sprint of knowledge for it’s more like a Scrum thing to do…!

What is Scrum?

So Scrum is basically a software development framework that:

  • Facilitates the growth of an Agile environment.
  • Focuses on doing the work done in a short span of time.
  • Is highly flexible.
  • Focuses on adaptation over never-ending planning.
  • All in all…..it’s all about “Getting the real work done.”

Scrum ceremonies…

Sprint planning:

  • The….what to do phase..here you…
  • Plan the day’s work.
  • Define the Goal…
  • Keep moving…

Daily stand-up…

  • The What’s going on phase.
  • It’s a short meeting where you have a brief face-to-face discussion with your team, usually 15 minutes long.
  • It is to brief everyone on the current scenario and to bring everyone on the same page each morning.
  • Following questions are to be answered by each member of the team here:
  • What did I do yesterday?
  • What I’ll be doing today.
  • Any impediments I faced.

It’s here you can flaunt your achievements…yes only if you did some noticeable work….

Sprint review…

  • This is a post sprint phase.
  • Flaunt what was accomplished.
  • Demonstrate it to the customer/Stakeholder.
  • Savour the feedback…. Only of course if it was good, and accomplished within the time frame.
  • And now Celebrate….you did it!

Sprint retrospective….

  • Simply retrospect on everything.
  • How things went…how did we do….was it good? Or was it not?
  • Did we follow the Agile principles? If yes then to what extent.
  • Compile the data, and plan your future course of action accordingly.

“It is simply the “Take lessons from your past actions & improve” phase. A quintessential phase indeed.

What is a Sprint..?

A sprint is basically:

  • Completing a snippet of work in a limited timeframe, usually within 2-4 weeks.
  • It is not the entire work but only a section chosen from the entire Sprint backlog.
  • Work left incomplete in the present sprint is transferred to the next.
  • Sprints make it easy to monitor daily progress by dividing the work into small units.
  • End goal of each sprint is to deliver something that is fully or partially deployable.

Things to remember during a sprint:

  • Don’t overestimate your speed, and put too many tasks in one sprint.
  • Yes, do not underestimate it either for it will be a compromise on efficiency.
  • Learn from the previous sprints and plan accordingly.

What is a Backlog….?

  • A product backlog is “What is to be done in the entire project”
  • A sprint backlog is a list of selected items from the product backlog that are to be completed in a sprint or the subsequent sprints.

Who is responsible for maintaining a backlog?

  • A Product Owner is responsible for maintaining & reviewing a Product Backlog.
  • He/she is responsible for constantly refining/ re-arranging the backlog as per the needs.
  • He/she divides the backlog into “High priority” & “ Low priority” items.
  • A product owner can also re-prioritize the backlog based on customer feedback.

What is an Increment…?

An Increment is:

  • A Product being delivered.
  • Something that is shippable.
  • It should be usable to some extent. 

Product Backlog, Sprint Backlog, & Increment are sometimes collectively known as Scrum Artifacts.

So Scrum is more like “Let them do the work, they’ll handle it” . It is quite unconventional and different from the classical “Do this” approach….two of the many reasons why SCRUM has become so popular among the developers are:

  • It provides greater flexibility &
  • It promotes a sense of leadership among the developers.

Scrum is such a popularly used Agile framework among the developers because…..

  • It is a pliable framework, and can easily maneuver through tight corners and realign itself based on different needs and requirements. 
  • It is highly receptive to the customer’s feedback.
  • It involves constant customer interaction, resulting in Utmost customer satisfaction.
  • Customer interaction leaves no room for error.
  • It gives constant output, and keeps on updating continuously.
  • It keeps you motivated because the targets are short-term and can be easily measured.

Drawbacks of Scrum…

  • It requires great commitment on the part of the team members, which might not be possible for everyone.
  • There is no deadline or fixed cost which can make it difficult to cast any solid prediction.
  • It is not for newbies…true professionals are required.
  • It is a constant pressure cooker that might cause a decline in team productivity overtime.

Is Scrum Agile…?

In the quickest way I can put it…

Scrum is basically like a Fanboy who was inspired by a fictional Story called Agile and created very real ways of implementing that story in real life.

So to answer your question “No Scrum is not Agile”

  • Agile is a set of “Values & Principles”
  • Scrum is a set of frameworks that get the work done.
  • Agile is only a mindset & Scrum is the real deal.
  • Scrum works really well when it works with Agile principles.

Points to Remember…

  • Scrum without Agile is still Scrum & vice-versa.
  • Scrum & Agile are two similar but different things.
  • Following Scrum doesn’t always mean that you’re following Agile as well.
  • Though Scrum & Agile are two different things and can become really powerful when used together.

In a nutshell, there is no “The Scrum”; it is a water-like framework that changes its shape to suit the requirements of any project…

That’s the end of it….go flaunt this newfound knowledge at your workspace….!

RAD

Go full-throttle..! It’s time for Rapid application development now…this famous or say infamous Agile framework is known for delivering projects at a tremendous pace which…….sometimes might result in too much pressure for the developers but..hey RAD gets the job done and it does that really quick.

Rapid Application Development

IMAGE SOURCE: GOOGLE

1991…..a smart guy named James Martin decided to push the clutter to one side and jump straight into the project and BOOM…! That’s how basically….RAD came into being.

RAD is like a teenager who could not make sense of the old-school ways of working that put too much emphasis on “Planning the stuff” and the so-called “Rules are rules” approach, he is more like “We’ll do it come what may.” 

RAD the 5 Steps…

Brief planning

  • Here you talk to the stakeholders.
  • Lay down a brief plan.
  • It is a phase where you Prepare a loose set of requirements, enough to get the gist of the project.

Get going

  • Start working on the project.
  • Work on preparing prototypes.
  • Work closely with the client.
  • Keep on improving the prototype based on your client’s feedback.

Feedback phase

  • We already have a partially or fully deployable product by this stage.
  • Release the beta version and get the real user feedback.
  • Keep improving based on the constant feedback, and create the best possible prototype.

The test

  • Now it’s time for the real deal.
  • Check if the entire unit is functioning smoothly as a single unit efficiently.
  • Get your client’s approval; if total satisfaction is achieved then get ready for the final release.
  • End of the test phase.

The presentation

  • This is the stage before the product is finally released into the market.
  • The fully functional product is tested and sought approval for the last time.
  • Data is converted here and user training begins.

When to Use RAD?

RAD should ideally be used when…

  • When the deadlines are very tight and the product needs to be developed within a provided time frame.
  • When the client is willing to provide assistance throughout the project.
  • When you have a team of superhuman developers, who are just too good at their job.

So this is what “Rapid application development” is…it is an app development framework that is designed to complete projects that have a seemingly impossible deadline…!

Kanban

“Like most Japanese things Kanban too is all about efficiency, usefulness & zero waste.” Kanban literally means “Visual Signal” for its inspiration was taken from the American system of supply regulation at supermarkets…It was basically a “Card system” but here we will be talking of Kanban as an Agile framework….so without further due let’s start reading.

1940….Taiichi Ohno, an engineer at Toyota, was inspired by the  system of stock management at American supermarkets where the inventory was only restocked when there was a visual signal to do so…So our man decided to apply this principle to Toyota car manufacturing and…..boom KANBAN was born.

What is Kanban..?

To put it briefly, Kanban is an Agile framework like Scrum which is popularly used by developers for software development….to know more about Kanban including reasons why Kanban is similar to a marathon runner…keep feeding on this savory information that we’ve prepared for you!

So as we were talking about “VISUALS” let’s have a look at how Kanban Board actually looks…..

Yes, it’s that simple….simplicity is what makes Kanban so easy to understand and implement…a Kanban board comprises a list of…

“TO DO DOING DONE”

Items, where the items constantly flow from left to right…

The presentation of the workflow via cards helps keep a track of the work flow in a visual & easy to understanding manner, which increases transparency and reduces waste.

So how does this work..?

  • Place all the items on the Kanban board…this will act as a visual signal to all the Agile team members.
  • Place the workflow in different columns…some like it in a bit more complex way….but “(TODO) – (DOING) – (DONE)” is the simplest way to put it.
  • WIP…(Work in progress limit) is the maximum number of cards that can be present on a Kanban board at any given time…it is the “Don’t get ahead of yourself” limit. It is to ensure that the team doesn’t choke on extra work, and work efficiently.
  • The backlog…here you put project ideas for the future… when a Kanban team picks up an idea from the backlog and puts it on the Kanban board…that’s a commitment point.
  • Delivery point...when the product ownership finally moves to the customer.
  • Lead time… Lead time is the time taken by a card to travel from the commitment point to the delivery point..a Kanban team constantly tries to squeeze this time frame…and get the most out of it. 

A Kanban Board

Kanban Board

IMAGE SOURCE: GOOGLE

There are basically 2 types of Kanban boards, the Old School solid board and the new Digital one…even though the name might have already given you the crux of the matter but we are 4 Way Technologies and we’ll explain it further…

Solid Board

  • A solid is a real board that you infest with sticky notes.
  • The board is always visible on the office wall.
  • It is simple and easy to understand….only of course when the handwriting is legible.

Digital Board

  • It is a soft Kanban board which means it is only available digitally.
  • Is great for teams that are working remotely.
  • Several tools are available to make a functional Kanban board like Trello. 

Kanban Pros…

  • Even kids can use it…Kanban is so popular owing to its ease of use.
  • Its highly visual approach makes it easy to understand and work with.
  • Kanban adapts well to a changing environment.
  • Kanban is a pocket savior, its effective “Signal approach” keeps things from mounting up and creating bottlenecks.

Kanban Cons…

  • Kanban is not an independent framework; developers often apply Kanban in combinations with other frameworks like Scrum.
  • Kanban is not your super flexible acrobat and works wonderfully in stable environments, but it might not be the best-suited framework for a rapidly changing project.
  • Doesn’t always follow the clock, for it works in a constant flow and not in iterations.

Kanban vs Scrum vs RAD

Works in a constant flow.Works in iterationsWorks in iteration.
Projects are delivered                             continuouslyProject is  delivered at the end of a sprint.Projects are delivered constantly in bits.
Changes can occur at any time.No changes can be made once the sprint begins.Changes can occur at any time.
Highly cost effectiveProjects can go beyond the budget sometimes.RAD is a cost effective approach.
Simple- understanding Kanban is a Child’s play.Scrum is not the easiest thing to understand let alone implement.It is a bit of a complex framework & not easy to understand.
Not well suited for projects with tighter deadlines.Well suited for projects with tighter deadlines.Does fine when the deadlines are tight.

So Kanban is like a marathon runner who can keep on running for long at a constant pace instead of making short explosive sprints like a sprinter.

Conclusion

Thanks for tagging along…If you are reading this conclusion then we assume you’ve been through the contents of this book thoroughly, and you have developed a great deal of understanding on various Software Development Methodologies including Agile, Waterfall, Extreme Programming, along with various Frameworks that go along, like  RAD, Spiral, Scrum & Kanban & If you are someone who’s reading the conclusion to get the gist of the content then we would insist you to read the complete Ebook…for it has never been this simple.

Close Bitnami banner
Bitnami