Be Agile In Learning Agile!

What led to Agile in the first place?

Iterative Incremental model

Factors which caused the rise of agile

  • Requirements changed rapidly.
  • The team was more open to experimentation and adapting end-user demands.
  • Despite having a large budget, companies were unable to attract talent if team members were regarded as subservient coders.
  • They observed that when they committed to a brief period of time, such as 1–4 weeks, they weren’t bad at delivering what they claimed.

Agile Development

Agile is built on an incremental iterative methodology. It supports rapid and flexible response to changes and promotes a time-boxed iterative approach. It is a theoretical framework that does not prescribe any specific practises for a development team to follow. Scrum is a framework for agile development that specifies the principles that must be followed.

Agile Manifesto

  • Individuals and interactions over process and tools.
    — self-organization and self-motivation of the team members
    — continuous interaction for work, clarification, information among the team members
  • Working software over comprehensive documentation
    — Delivery of working software at short duration intervals helps gain customers trust and assurance in the team.
  • Customer collaboration over contract negotiation
    — Constant involvement of customer with the development team ensures communication of necessary modifications.
  • Responding to changes over following a plan
    — Focus on quick response to the proposed changes, which is made possible with short duration iterations.

Agile’s guiding principles

Frameworks for agile development

Scrum

Scrum is the most widely used framework, and it focuses on task management in a team-based development environment. Scrum, in its most basic form, requires a Scrum Master to create an atmosphere in which:

  • The work for a complex problem is ordered into a Product Backlog by a Product Owner.
  • During a Sprint, the Scrum Team turns a selection of work into a value increment.
  • The Scrum Team and its stakeholders review the results and make any necessary adjustments for the next Sprint.
  • And then do it again.

Excessive Programming (XP)

It promotes frequent releases with short development cycles, with the goal of increasing productivity and introducing checkpoints where new client requirements can be implemented. XP takes a fresh approach to the analysis, development, and testing phases, resulting in a significant improvement in end-product quality.

Test-driven Development (TDD)

It is a software development technique based on the repeating of a very short development cycle: first, the developer creates an automated test case that outlines a desired improvement or new function, then produces the least amount of code necessary to pass that test, and last, the new code is brought up to acceptable standards.

Lean

It is a production practice that considers the expenditure of resources for any goal other than the creation of value for the end-customer to be wasteful, and thus a target for elimination. Working from the perspective of the customer who consumes a product or service, the term value is defined as any action or process that a customer would be willing to pay for.Lean is all about keeping value while doing less effort. Lean development can be summed up in seven concepts that are quite similar to lean manufacturing principles in concept:

  • Eliminate waste
  • Amplify learning
  • Decide as late as possible
  • Deliver as fast as possible
  • Empower the team
  • Build integrity in
  • Optimize the whole

Kanban

It’s a system for increasing and maintaining productivity. Kanban is one way for achieving Just-In-Time (JIT), which is a strategy used by businesses to control inventory costs. Kanban evolved into a useful tool for managing a production system as a whole, and it has proven to be a great approach to encourage progress. Kanban is a continuous process in which objects are placed in queues, moved from one to the next as they are completed, and their spot is replaced by another.

References

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dharshan

I am a full stack aspirant who enjoy building beautiful products. Solving problems through code to make life better is my motto.