"Agile" is a term used a lot in the tech community these days, but few actually know what it means or how to put the agile methodology into practice. Many employ agile techniques without even realizing, because it is, overwhelmingly, the most popular approach for project management, not just in tech, but across all of business.
In literal terms, the agile approach is governed by early and continuous delivery of software. In practice, that means developing something quickly -- but not cutting corners or taking shortcuts -- and rather than continually improving it until it's perfect, pushing it out early so real-life customers can use it. This means that the company, whether it be a tech giant or a small, scrappy, two-person startup working out of a shed or bedroom, can get feedback on the product very early on in its lifecycle.
Post-it notes listing what needs doing on a project is often seen as a way to visual an agile workflow. (Image: Daria Nepriakhina, Unsplash)
Therefore, with the feedback from customers, the company or developers can see if they're going in the wrong direction and adjust accordingly, scrapping an in-development feature in favor of another that customers have specified they want. While this development lifecycle is great, it is important to bear in mind that the customer is not always right, contrary to the popular saying (coined a long time before software development was a thing, and many, many years before agile was conceived).
I talked with Alexander Cherednichenko, co-founder of Ukrainian startup Logicify, about the agile process his company employs to get work done efficiently and productively.
For Cherednichenko, the most important thing about agile is the ability to "pivot" -- change direction on a project -- when needed, sometimes as quickly as overnight. This means companies employing agile need to put people above process -- people who aren't afraid to abandon an approach which isn't working and try something different.
Value is the core feature of agile, Cherednichenko says -- anything you do must have user value at its core. If it doesn't have value for the end user, what is the point of doing it? Product development, especially early stage development and pre-launch, must be hyper-user-focused -- otherwise, you may find yourself working on a product which isn't needed or doesn't solve an inherent problem.
People are incredibly important to any company wanting to work agile. (Image: Rawpixel, Unsplash)
With pre-launch development in mind, it's also important in agile to launch quickly and iterate, instead of waiting until the product is "complete." The product you launch with must be minimally viable to the user -- so they use it -- but not be crammed full of features that they may not want or need. This is called a "Minimal Viable Product," coined by Eric Ries in his 2008 book The Lean Startup, and is designed to get a product out in the wild being used as quickly as possible. It means that, if the product is heading in the wrong direction, it can quickly be adjusted or the entire team can pivot, depending on what's needed.
Agile isn't just a way of working, however: it has a whole set of methodologies which are based on the original ideas but deviate slightly. One of the main ones is Scrum, and it's what Cherednichenko's team at Logicify partially uses, although Cherednichenko says that they take a "mix and match" approach which mixes traditional agile, Scrum and some of what Logicify has learned in the past. This includes a "daily standup," where the entire team of 25 people gather around at the start of the day to discuss what needs doing and how that will happen. Demos are also a part of Logicify's agile process, whereby a developer, designer or product manager will demo a product to a team or the entire company, so other employees have a better idea of what exactly is being worked on.