Agile Methodology - Simplified

Agile Methodology - Simplified

Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.  It works by breaking projects down into little bits of user functionality called user stories, prioritizing them, and then continuously delivering them in short two week cycles called iterations.

Agile Software:

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.

 

Agile System:

“Agile Development” is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).

 

Agile Model:

Agile modeling (AM) is a methodology for modeling and documenting software systems based on best practices. It is a collection of values and principles, that can be applied on an (agile) software development project. It is part of the agile software development tool kit. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.


Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development.

Manifesto for Agile Software Development:

·        Individuals and interactions over processes and tools

·        Working software over comprehensive documentation

·        Customer collaboration over contract negotiation

·        Responding to change over following a plan

The software development industry has no shortage of “DevOps” tools that position themselves as the end-all solution for application lifecycle management. Everything from release management tools to automated testing software is being coined a “DevOps necessity for the forward looking enterprise.”

Agile Project Management Methodology:

Agile is a project management methodology that uses short development cycles called “sprints” to focus on continuous improvement in the development of a product or service. Shifting to agile project management can greatly increase your project’s prospects for success. The methodology, which makes use of short development cycles to provide continuous improvement in developing a product or service.

 

Business goals’ Identification and Document:

Prior to the project management methodology, it's important to identify and document business goals and establish how the switch to a new methodology will better enable you to meet those goals. Business analysis ensures the methodologies employed in your business are effective in helping reach company-wide objectives. There should be a clear line between the methodologies used and how they aid project teams to meet business goals.

 Agile Modeling Structure:

At its core, Agile does the same thing you and I do when faced with too much to do and not enough time.

Make a list: Sit with customer and make a list of features they would like to see in their software. We call these things User Stories and they become the To Do list for the project.


Size things up: Using Agile estimation techniques, size up stories relatively to each other, coming up with a guess as to how long you think each user story will take.

Set priorities: Like most lists, there always seems to be more to do than time allows. So, ask customer to prioritize their list so the most important stuff done first, and save the least important for last.

Execute: Then start delivering some value. Start at the top and work the way to the bottom. Building, iterating, and getting feedback from customer as the project progresses.

Update plan as you go: As product start delivering, one of two things is going to happen. Discoveries may be:

a.      Project is going fast enough. All is good. Or,

b.      Have too much to do and not enough time.

 

At this point, there are two choices; either

a.      Do less and cut scope (recommended). Or you can

b.      Push out the date and ask for more money.

Analysis, design, coding, and testing are continuous activities:

You are never done analysis, design, coding and testing on an Agile project. So long as there are features to build, and the means to deliver them, these activities continue for the duration of the project.

Development is iterative:

Iterative development means starting with something simple, and adding to it incrementally over time. It means evolving the architecture, accepting that requirements are going to change, and continuously refining and tweaking your product as progressed.

 

Planning is adaptive:

If the plan is disagreeable, it is easier to change plans which becomes Adaptive planning. While there are many ways to change plans, the preferred way is to flex on scope.

 

Roles:

Roles blur on Agile projects. When it’s done right, joining an Agile team is a lot like working in a mini-startup. People pitch in and do whatever it takes to make the project successful—regardless of title or role. Although people still have core competencies, they generally stick to what they are good at. But on an agile project, narrowly defined roles like analyst, programmer, and tester don’t really exist, at least not in the traditional sense.

 

Change of Requirements:

Traditionally change has been shunned on software projects because of it's high perceived cost late in the game. Agile challenges this notion and believes the cost of change can be relatively flat. Through a combination of modern software engineering practices, and open and honest planning, Agilsts accept and embrace change even late in delivery process.

Measure of Success:

Working software is the primary measure of success. The rate at which teams can turn their customer's wishes into working software is how Agilists measure productivity. Project plans, test plans, and analysis artifacts are all well and good but Agilists understand they in themselves are of no value to the end customer.

Planning: Continuous planning.

a.      Daily planning with the 10 minute daily standups.

b.      Bi-weekly planning with the Iteration/Sprint Planning Meetings

c.      Release planning where teams decide what to ship every delivery mile stone

 

Agile discipline: Agile is a very disciplined way of delivering software.

a.      Test.

b.      Get Feedback.

c.      Regularly ship software.

d.      Change and update the plan.

e.      Deliver bad news early.

 

Requires lot of rework:

Rework comes in two forms on an Agile project.

Rework of requirements –

·        Customer discovered what they really want.

·        Development teams discovered better ways to design the software.

Both need to be balanced and tempered. Just as business can't indefinitely keep changing their mind, development teams can't forever keep redesigning the software. At some point we must deliver.

Agile deals with this tension by empowering both sides with the power to iterate, so long as they work within the project's means.

 

Burn down charts play in big role in tracking how Agile project are doing. Just as tools like the Agile Inception Deck make sure everyone is on the same page with regards to time and money.

It's a balancing act not unique to software delivery. Any creative work with a deadline (i.e. plays, movies making, or the publishing of daily papers) faces the same challenges.

The trick is to do the best work you can, with the time and resources you've got.

  ooooooo0000000ooooooooo

Herald Sukasi

Technical Operations/Global Business | Strategic Program Management Advisor | Agile Project Leadership | Stakeholder Engagement | Risk Mitigation, efficiency improvement advocate | Transformational Change Expert

6 年

Yes, thank you. Hope you liked it

回复
Ravi Saini

QA Lead at Paytm || Recharge & Bill Payments

6 年

Thanks Herald....Its a wonderful article...

回复
Bharat Varshney

Technical QA Lead | Empowering Future-Ready AI/ML Innovation | Agile, DevOps & CI/CD Expert | Mentor | Problem Solver | Product Enthusiast | Boosted Test Coverage by 30% | Ensuring Faster, Reliable Software Delivery

6 年

Really nice article

回复
Amy L.

Experience Design | Human Centred Design | Digital Transformation | Innovation | Facilitator and coach | Scrum Master

6 年
回复

要查看或添加评论,请登录

Herald Sukasi的更多文章

  • REACTIVE > PREDICTIVE Maintenance

    REACTIVE > PREDICTIVE Maintenance

    Process of Transition from Reactive to Predictive Maintenance in MRO Operations The transition from Reactive…

  • VENDOR MANAGEMENT STRATEGY

    VENDOR MANAGEMENT STRATEGY

    The main goal of vendor management is building, maintaining, and strengthening mutually-beneficial supplier…

  • What is your preference? Or.....

    What is your preference? Or.....

    If the managers become leaders, the employees will become the contributors but not other way around. It should be the…

    1 条评论
  • The Company you want to work for:

    The Company you want to work for:

    In my opinion, we all should be working for a company that believes in you and invest in enhancing your skill sets…

  • What is your management style and how do you develop leadership skills?

    What is your management style and how do you develop leadership skills?

    An ideal leader in my opinion must have and demonstrate Integrity and honesty, Commitment, Confidence, Sense of humor…

  • INTEGRATION PROCESS MANAGEMENT

    INTEGRATION PROCESS MANAGEMENT

    Project integration management is one of the ten key knowledge areas in the PMBOK (Project Management Book of…

    1 条评论
  • AEROSPACE SATELLITE COMMUNICATIONS – IN-FLIGHT ENTERTAINMENT SYSTEM (IFE) & FLIGHT BAG

    AEROSPACE SATELLITE COMMUNICATIONS – IN-FLIGHT ENTERTAINMENT SYSTEM (IFE) & FLIGHT BAG

    What is Satellite? An object that revolves around a planet due to its gravitation force effect Two types of Satellites:…

    1 条评论
  • THEORY OF CONSTRAINTS

    THEORY OF CONSTRAINTS

    Every process has a constraint (bottleneck) and focusing improvement efforts on that constraint is the fastest and most…

    5 条评论
  • Capability Maturity Model (CMM)

    Capability Maturity Model (CMM)

    A Capability Maturity Model (CMM) Approach to Maturing Your Project Management Office (PMO) The Practices of the…

    6 条评论
  • VERTICAL MOTION SIMULATOR

    VERTICAL MOTION SIMULATOR

    The Vertical Motion Simulator (VMS) helps to explore, define, and solve issues in both aircraft and spacecraft design…

    1 条评论

社区洞察

其他会员也浏览了