Agile

Agile is not a process, rather it is best embodied through a series of values and principles. It's about being agile rather than doing agile.

It's about being agile rather than doing agile.

Why Agile?

Agile does not automatically lead to better software. Rather, applying the agile values and principles provides a means by which better software can be made. Applying the agile values and principles is not an automatic path to better software.

Humans have the ability to focus on a task and get it done. Humans also have the ability to think big; to have a vision that they are working towards. However, the middle ground between immediate tasks and grand scale vision is often difficult for humans to think about and plan for.

I can picture in my mind the list of projects I have to do around the house (it's a long list!). I can also look at each individual item and quickly figure out whether each individual task is a weekend job, an afternoon, or perhaps an hour in an evening. However, if you asked me to put together an estimate for a few of the tasks, and try to schedule them out, the accuracy of the estimate would (based on my experience) not be very good.

This is where, in many ways, the agile approach fits in.

Agile does not automatically lead to better software. Rather, applying the agile values and principles provides a means by which better software can be made. Applying the agile values and principles is not an automatic path to better software.

What is Agile?

Agile is a software development approach that focuses on delivering high-quality software quickly and efficiently. It is based on the idea of iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Agile emphasizes flexibility, adaptability, and continuous improvement, and encourages teams to regularly assess and adapt their work processes to better meet their goals. By doing so, organizations can achieve their goals more effectively by delivering high-quality software faster, responding more quickly to changing customer needs, and improving collaboration and communication within their teams. Agile also helps organizations to be more competitive in a rapidly changing business environment, as it enables them to quickly adapt to changing market conditions and customer demands.

One of the challenges with agile software development is that it’s only as good as your team and the teams that your teams are working with. In part, this means the agile development is only as good as the communication between your teams.

Smaller teams can put a greater emphasis on face-to-face communication. However, as a team grows in size, or there are more teams working together, the nature of the communication needs to evolve as face-to-face communication will no longer be as effective. with more teams and more team members needing to communicate with one another, verbal communication becomes less, efficient, and subject to miscommunication as conversations are relayed between other team members.

References