The Church of Agile – Sins of the Necessary

I just realized that for the past seven years, I've been practicing essential Agile software development. After improving my skills by completing Google's Technical Documentation Course, I dove right into an Agile course.
 
But what exactly is Agile? How much does it cost, where can you get it, and is it a rub-on cream or a pill? Well, it’s free (unless you go for an Agile certification), and you’ll find it in the “best practices” section of project management. Depending on your team lead, you might get the cream (for a part of the project) or the pill (for the entire project).
 
The point is, Agile is a process for managing projects, as opposed to other management methods, and here's how it differs from other Software Development Life Cycle (SDLC) models:
 
Iterative and Incremental: Agile is characterized by iterative development, where the project is broken down into small, manageable units called "sprints" (usually 2-4 weeks). Other methods might have longer sprints, like three months, or only check in after completing major parts of the project. For example, in non-Agile methods, you might develop everything under the "File" menu before checking in. With Agile, you might develop “File” and “Open” first, and then have a team check-in.
 
Customer Collaboration: Agile emphasizes continuous customer involvement throughout the development process. Having worked on many customer-facing projects, some involving daily catch-up calls, I've successfully used this part of Agile with great results. Some might consider it "butt-kissing," but if it works, use it.
 
Cross-Functional Teams: Agile teams are typically cross-functional, meaning they include members with various skills (developers, testers, designers, etc.) who work together throughout the project.
 
Focus on Individuals and Interactions: Agile values people and their interactions over processes and tools. Practitioners of Agile recognize individual talents and put them to work in a timely and consistent format.
 
In my experience managing development teams across international borders, I've used Agile, Waterfall, V-Model, and the Spiral Model, sometimes simultaneously. It's worth noting that DevOps, which focuses on Continuous Integration/Continuous Deployment (CI/CD), is a method of its own. DevOps emphasizes the continuous delivery and deployment of software, closely linked to Agile practices but extending to operations and infrastructure management.
 
So, what does all this mean? There are many methods for implementing best practices, and the ones listed above are industry standards. You need standard methods. I've seen what happens when someone just throws code at a project without thinking through the next steps or boxes the project into a corner. If done that way, the application will never be secure.
 
To avoid future problems, create sound and secure code, leverage team development skills, and exceed customer expectations, I will continue in the Church of Agile with:
 
- Flexibility and Change Management
 
- Continuous Customer Involvement
 
- Iterative and Incremental Models
 
- Risk Management
 
Notice the word "management" in all the above. Well-managed projects are usually successful, especially if you leverage Agile’s methodology of adaptability and customer-centric approach to modern software development projects, particularly in dynamic environments.

Comments

Popular posts from this blog

Looking at the Obvious – Ensuring SharePoint is Accessible to Everyone

Time is UP – Easepick the Simple Date Picker

Agile Forget-Me-Nots -- Looking at the increase in work stress to meet sprints