Agile software development
Abdolah Pouriliaee
Scalable, sustainable teams and technology | Some nice people call me a leader.
Lean manufacturing, the Scrum framework, the Kanban system.
More than just buzz words, they are complete philosophies of applying what are known as Agile methodology.
What is Agile method?
A range of varied approaches to development, Agile methods afford software developers the freedom and focus required to help ensure more successful software projects.
Focusing on short turn around times in features and releases, Agile methods whittle the work load to the minimum viable amount for a working, profit producing product.
How?
In short, by controlling time lines and limiting estimates to the highest priority features via client collaboration and influence.
How!?
Okay, example time: You want to make a thing. Your thing has features and does stuff.
In a "Waterfall" setting you describe what your thing does to a service provider who then gives you a quote based on what they think your description means. They quote you a time line, and a budget based on their understanding of the thing. You agree and off they go. Some time and much magic later, they present you a finished product and you release to whatever success your marketing budget gets you. Maybe you'll think of some updates to perform after wards.
In an "Agile" setting, you describe what users can do with your thing and the service provider gets you to prioritize the features; together you assess what is required for the most immediate release, and work towards that first release. Once released, you revisit the development for the next iteration, re-prioritizing the features as you see fit based on results and feedback.
Which is for me?
If you have a recipe with all your ducks in a row, a waterfall approach is fine, but when you're approaching a large project with minimal recipe, you need a strategy that meets your needs.
An agile developer is the embodiment of that method.