Sunday, October 6, 2013

Agile

What is Agile?
Agile development is an umbrella term for methods based on iterative and incremental project management, regularly used in software development. Agile methodology is an alternative to the traditional project management methods typically used. With a coordinated and organized team, the solutions can evolve through collaboration. It helps teams respond to unpredictability with each successive "sprint". This technique encourages adaptive planning with rapid and flexible responses to change. It's conceptual framework allows the ability to see beforehand, the interactions throughout the development cycle.

How did Agile begin?
In 1970, Dr. Winston Royce published an very influential article, Managing the Development Of Large Software Systems. In his paper, he criticized sequential development and asserted that software development should not be conducted as if an assembly line. He introduced several project managing models including what we now know of as agile. At a software developers meeting in Utah, in 2001, a group published The Manifesto for Agile Software Development to define this specific approach.
Martin Fowler is widely recognized as one of the key founders of agile methods.


Advantages and Disadvantages
  • Customers are satisfied by rapid, continuous delivery.
  • Constant interaction between the customers, developers and testers is encouraged, while keeping the process and tools understated. 
  • Daily, face-to-face conversation is the best form of communication.
  • Continuous attention to technical excellence and good design.
  • Adaptability to changing environment.
  • Even late changes in requirements are welcomed
  • In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
  • There is lack of emphasis on necessary designing and documentation.
  • The project can easily become unfocused if the customer representative is not clear with the final vision.
  • Usually only experienced programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.

http://istqbexamcertification.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/

5 comments:

  1. Great points Samantha. I think many people under-appreciate the benefits that the Agile product development cycle brings. One of the issues with programmers and even other people working on projects definitely seems to be laziness. But on the other hand, if their team has adopted Agile, then there are several ways the workers can be motivated. Close communication under the watchful eye of a manager or other supervisor can usually spur individuals to work more efficiently as well as have their vision more focused if that makes sense.

    If there can be a negative side to that, it would probably be that not all work steps can be significant enough to warrant presenting them frequently. On the other hand though, Agile can be adapted and has been in the past by the different people employing it. So it allows for improvement depending on who is using it and in what ways.

    Nice job!

    ReplyDelete
  2. Great post on Agile and the methodology behind it. I really like how you focus on why Agile came into existence and how it strives to solve problems. Agile does a great job managing the software development process especially in today’s world when flexibility is important. Personally, that is why I favor Agile, its adaptability. However, I would say that you should separate the advantages and disadvantages instead of putting it into one big list. In addition, a summary of how the pros and cons measure up in a conclusion would tie the article together. You can add your opinion of whether you think Agile is a good method or not. Personally, I think that the pros outweigh the cons when it comes to Agile. Agile is better suited to the development than Waterfall even though it has its own drawbacks. I also like the cross-functionality, speaking as a developer; the interaction between the customers and testers is fun and gives me a better big picture. You can also talk about the iterative nature of Agile, the part the scrum master plays, and the role that sprint planning and review meetings play in the development. Some diagrams would also help shed some illumination.

    ReplyDelete
  3. I really enjoyed the structure, focus and design of your post. The introduction to what Agile is provides insight for any viewer with no prior knowledge on the topic. You nicely summarized the creation and use of Agile, avoiding the need seek more general information. The method you delivered information on Agile creates interest on the subject. The most helpful aspect of your post is the bullet points of advantages and disadvantages. As an overly busy passer-by, this list will provide all the necessary information I would need to know about Agile. It would be great if you separated the pros and cons but it's not necessary. There were no noticeable spelling or grammar mistakes. I really enjoyed the comic strip at the end as well: icing on the cake.
    Great Post!

    ReplyDelete
  4. First of all, I like comic strips, and I like how you put in a Dilbert strip. After reading several serious and impersonal blogs, it’s nice to see a bit of humour. As for the post itself, you divide each of the sections of your posts with headers, which is a plus. You use a bulleted list, which is another plus. And you tell about the origins of Agile, and I like how I learned that Dr Royce created Agile to make software development involve more human interaction. The post could have had a little more prose, but still, good job.

    ReplyDelete
  5. I love the pros and cons you stated for Agile development. I think it's always important to look at things for different perspectives. Agile does have a lot of strong points but it's not suited for everyone and every type of project. Having face-to-face conversations with the client and the ability to accept changes into the project, even late into the schedule, is what of the huge advantages that Agile has over other software development methodologies. Your point that the project has to be very focused is also valid when you take into consideration that changes can be made at any time.

    Great post!

    ReplyDelete