WHAT'S NEW?
Showing posts with label Waterfall. Show all posts
Showing posts with label Waterfall. Show all posts
During few Coffee time breaks in the last 2 weeks, we a group of 4-5 people have been discussing about Agile and one of my friend asked me -

what is that ONE THING, that is SO GOOD with AGILE that can made this methodology happen and work for so many.
 As always it was, we did have one of our friend supporting waterfall model.
 
image belongs to the respective owner


Here is (are?) my answer(s) :


 ü  Agile is all about developing a part of the application in iterative cycles (sprints). 
ü  At the end of the sprint, a minimal deliverable product that is part of the actual application is delivered. This means, a team or an individual is not dealing with too many things at a time.

ü  When it comes to the manager’s point of view, it means that he or she can see what is going good or what's going bad with the development strategy is. 

ü  When it comes to the owners of the product i.e., the  higher management, it gives them an opportunity to look at how the current application is, assess against the odds on how it’s going to fare.

ü  Show it to the stakeholders or potential customers and get the feedback from them and work again on the application to do what matters the most to the end user.

In contrast, Waterfall is all about collecting all the requirements and executing them over a long period of time and then delivering them. You never know, when the priority of the consumers is going to change.

As part of the agile practice assessment, we group of friends, the other day they had a talk about how we feel and what we feel are good and bad about agile. what we feel are okay and what we feel are awesome about agile in comparison with waterfall model which we practiced previosuly.


So, lets get into the topic.

What I like with agile:

1. As a team, we can pick and choose which tasks to complete first.
2. I have the freedom of talking and sharing with my teammates more.
3. With more talking, we felt it was the ideas of the complete team than just a two or three that counted.
4. We have the best oppurtunity of 2-3 brains thinking on a problem, if we are stuck than a single head hitting on the wall for a solution.
5. Estimation is done based on ME and MY TEAM members abilities and skill sets than just picking up few use cases.
6. Minimum documentation to the level of making the new entrants understand the project.

What I hate/dislike/disagree about Agile:

1. Too much freedom or too much of work as tasks are divided for everyday core working hours.
2. Sometimes, it so happens that everyone is busy with the sprint work that I don't get a dedicated helping team member to solve my problem.
3. Too lengthy retrospective and sprint planning meetings.
4. Continuous work allocated. So taking a leave might turn my next day a nightmare.

Points of conflict.

1. Less scope and more scope for INNOVATION
2. Less documetation is a down side and at the same time an advantage
3. Team talk an advantage as well as a disadvantage.
4. Product owner giving tasks based on sprint length makes us lag on the complete knowledge of the project and the work to be done.


We will talk on some points in depth and touch upon few more in the next episode.
Stay tuned! Stay curious!! Stay Healthy!!!

Being a software doesn't mean that you always, all time stick to writing code based on the requirements.

Writing code is a job that makes a software engineer stick around. S/E is the one who makes requirements turn into applications. But, how is it that he/she make this change that helps the client's life turn around?

Everything in life is bound to follow step-by-step procedure. Say for example, reaching destination B from A. The step-by-step procedure is get to the nearest transportation mode at place-A. Get into the transport mode and reach-B. But this doesn't merely solve our requirement.

What else will we do? Find what is the best route and the fastest mode of transport available at place-A that makes us reach place-B faster.

Alright, say if this is the requirement for few hundreds of people out there at place-A at the same time. Assume that everyone takes road, hire a car and reach place-B. This leads to blockage of roads at a junction. How do we control the flow? put in a traffic signal and control the traffic. This is called management by laying down few rules.

Thus everything in life has a step-by-step procedure which has some rules that manage the software life cycle so that the life of S/E moves easy and helps him/her develop a better quality product with high quality coding standards.

To achieve this, there are many methodologies/ methods like waterfall, iterative, Agile etc.

Off late the one that gained importance in the recent times in Agile. Though Agile existed for over 2 decades now. management and developers have started believing that releasing little chucks of working code every now and then which shows some result is more important than a disaster that can possibly occur after all the development is done at one stretch.

So in the coming few posts, just to relax ourselves from hardcore programming we shall focus and understand what makes our life easy being a software engineer.