Recently I learned about Agile methodology while studying Software Engineering. Then I realized that by implementing those principles we can increase our standards of living. And today I am going to discuss how can we implement them in our daily life activities.
First, let us see what is Agile methodology:
- When requirement changes frequently and should be delivered fast then agile is the best choice.
Phases of Agile:
Requirement -> Planning -> Design -> Development -> Deployment -> Maintenance
In the development phase, we have Testing and Quality assurance also.
Characteristics of Agile:
- Iterative and evolutionary development.
- Builds delivered in an iteration process.
- Accepts change of requirement at any stage.
- Close communication between business groups, development, and testing people.
- More focus on success than sticking to a plan.
- Reduced risk and time to develop.
Agile methodology is a framework. i.e, it comprises of many methodologies. They are:
- DSDM(Dynamic System Development Method)
- Crystal Methodology
- FDD(Feature Driven Development)
- Lean Software Development
- XP(Extreme Programming)
From each methodology, we have something to take and by practicing them we can see new heights. Let's talk about them one by one.
- It usually divides the development work into short cycles called sprint cycles and tackles them one by one.
- Advocates daily team meetings for coordination and integration.
By this, we can learn that A huge task can also be tackled easily by breaking them into pieces. And if there is someone to whom we are accountable then we can see a significant increase in our work day by day.
It mainly focuses on Eight principles:
- Active user involvement.
- Team empowerment
- Frequent delivery of products.
- Fitness for business purposes.
- Iterative and incremental development.
- Backtracking is easy.
- Baselining of requirements at a high level.
- Integrated testing.
These eight principles teach a lot. They are:
- We should be highly involved throughout the work.
- Make a good time for fundamentals(basics).
- Grow by a team.
- Take breaks during work hours.
- Backtrack your work at regular intervals.
Crystal refers to the degree of hardness, pertains use of rigor and ceremony.
Color of methods: Clear, Yellow, Orange, Orange web, Red, Magenta, and Blue.
Color is concerned with the heaviness of the project. Light color small projects and the heavy color are for large projects.
Seven properties of crystal methodology:
- Frequent delivery.
- Reflective improvement.
- Osmotic communication.
- Personal safety.
- Easy access to expert users.
- Technical environment.
Take away fro these properties are:
- Focus on your work, no matter what.
- Give more priority to your personal issues.
- Frequently deliver your content.
- Focus more on your communication skills.
- Works in an environment where you can work with more concentration.
This entire process is a takeaway for us. Every step in this process gives something for us to develop. They are:
- Emphasize quality in each step.
- Keep less focus on the initial phase and quickly move to the point.
- Have a future plan and move accordingly with that.
Lean software development:
Principles of this development are:
- Eliminate waste.
- Build in quality.
- Create knowledge.
- Defer commitment.
- Deliver fast.
- Respect people.
- Optimize the whole.
The best takeaways from this methodology are:
- Eliminate the one which doesn't add any value for you(unnecessary work).
- Quality should be maintained throughout the work.
- Learn and share knowledge with others. Empower self.
- Make commitments even at last responsible movement.
- Make small increments to your work at short intervals.
- Always respect people. Give some value to their feelings.
- Value your work and customer.
- It is a lightweight process.
- Instead of documentation, it gives more importance to feedback.
- Embrace changes.
- Eliminate defects early.
Four basic values of XP:
Takeaways from this methodology are:
- Work more on coding than on unnecessary meetings.
- Increase learning opportunities.
- Quickly adapt to any kind of environment.
- Have a small break at regular intervals.
- Value person-to-person communication than messages.
- Be simple.
- Get feedback for your work, take it and use it in the correct way.
- Be courageous at any time.
These are my takeaways from these Agile methodologies. Feel free to share your views in the comment section.