November 3, 2016 at 4:21 pm #7580
When Winston Royce first defined the term waterfall, the simplest diagram that depicted software development had only two steps: analysis & coding. Obviously this was a very broad scope hence the more detailed derivation of SDLC involved a series of steps that we now call waterfall. Although analysis is a defined step in waterfall, it cannot survive only in that place. Every step in the waterfall process is preceded by an analysis phase with it’s own scope, e.g.: coding is preceded by technical analysis and testing is preceded by functional analysis. Then the question arises if waterfall implementations can be successful? The truth is that we have started using the term waterfall for practically any traditional software development approach when in fact in the original waterfall paper, Winston Royce himself defies that a project can be successful in a pure waterfall setup. He himself provides 5 basic principles (the first manifesto for good software development) that one must follow in order to deliver successful software. If we go through the subsequent diagrams, you realize that every step in the waterfall is validated, verified, and reassessed and finally gets derived into a more complex but workable traditional software development framework.
If analysis is a practice that’s needed at every stage of SDLC, and every stage needs a different skill set, who does it and what does one gain? This is probably where an analyst comes into picture. They are responsible for creating a faster assembly line of software development by breaking every SDLC stage into it’s analysis and execution components. Be careful that analysis is not the same as analytics, although analytics is a subset of analysis. But what about agile analysis? Is it different than regular analysis? To address that let’s first ask another question; is an analyst a software developer. If your answer is No, then here’s a brain teaser; how many types of honey bees exist? There’s worker bee, drone bee, and queen bee. Each have a specific role in their hive but it’s all towards one common goal – making honey for humans 🙂 But it doesn’t matter which bee it is, we call them all honey bees. Software development is similar, it has a number of roles, each with a set of responsibilities, but all are aligned towards one common goal – making software for humans. So a an analyst is a software developer. Now let’s ask, what is agile? It’s a list of values and principles that encourage good software development practices. A software developer who utilises these practices is practically an agile software developer and an analyst who applies these practices for software development is by definition an agile analyst.
In this workshop, I execute 5 iterations that revisits the agile manifesto from the point of view of an analyst that can help them embrace the working in an agile software development environment.
Type of session: 90 min interactive workshop
Vishal Prasad – Agile Coach, Business Analyst, Project Manager, Software Engineer, and an Intrapreneur; based in India.
I started off my IT career in 2008 and was introduced to hands-on agile software development in 2012. This is when I took up the role of a Business Analyst and acted as the Proxy Product Owner for my client. Since then agile has been an integral part of my career and I’ve grown to play multiple roles including that of an Agile Coach.
After a successful take-off of my agile career, it was time for me to give back to the community and with this notion in mind, I began volunteering for various events hosted by multiple agile groups, details of which can be found on my website.
Agile has become my passion through which I’ve grown from a practitioner to a coach and although I don’t know what’s stored for me in the future, I’m pretty sure it’s good.
My speaking engagements: Please click here
You must be logged in to reply to this topic.