The state of IT industry as defined by Chaos Report 2009 – Standish group.
Successful means on-time, on-budget, and with all features and functions as defined in the initial scope.
Challenged means late, over budget, and/or with less features and functions than defined in the initial scope
Failed means cancelled prior to completion, or delivered but never used.
Software development and implementation is a Complex process as distinct from a defined process. To reduce the contention of software development, Agile practice has been introduced.
Agile and Scrum have almost become synonymous. Have you wondered what’s the difference? Scrum is just one way to be Agile. It is the most popular which leads to the common confusion. Agile actually refers to a philosophy shared by group of development methods, each offering a unique approach.
Agile methodology is an approach to project management and is based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Agile helps development team accelerate time to market, increase productivity, and respond to changes in priorities.
“The Manifesto for Agile Software Development” was published in 2001 and promotes four key values: individuals and interactions, working software, customer collaboration, and responding to change. Essentially Agile is not concerned with executing a planned project in a sequential order.
In order to be a more efficient, cutting-edge organizations, you need to have an agile structure. Forward-thinking with the way they label different working groups: they reconfigured their “teams” into squads and tribes. Development teams became “squads” which feels like a more inclusive word for what it should be in an agile structure—it’s not just developers, you’ll have people from design, development, testing, delivery, etc, all on one “squad”. Each squad works in a collaborative, transparent environment and uses their strengths to get the best product to market in the best amount of time. A tribe is considered a collection of squads within the same business area. For example, there could be a tribe focusing on mobile. The squads that make up a tribe usually sit in the same area and share what they’re working on that other squads within that tribe might find valuable.
The Agile umbrella has many offerings depending on the needs. Below are some of the most notable ways to be Agile along with their strengths.
Agile in an umbrella term for a set of values, principles and practices always “Increases Value & Reduces Risk”.
Scrum –> for collaboration and focus
Kanban –> for efficiency & dashboard
XP (Extreme Programming)–> for development practices
Lean –> for eliminating waste
Feature-driven Development (FDD) –> for organization and reporting
Dynamic Systems Development Method (DSDM) –> for meeting deadlines and budgets
Crystal Methods –> for a customizable process framework
With so much variety under the Agile umbrella you may feel overwhelmed decided which is right for your team. Be pragmatic in your decision making and do not worry about adapting one pure method.