Sunday, October 6, 2013

Agile: A New Path To Develop



"Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams." (Agile software development)

Simply put, Agile's goals are good software, quick, and low cost. These should re-examine the existing software development processes and give up unrealistic dreams (assembly line and precise plan). According to the basic principles of agile, it re-optimize existing processes and documentation system, but not fully push over and start again.

Agile's value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
http://agilemanifesto.org/

Agile's greatest contribution is that it recognizes the entire software engineering again. Agile requires domain analysis. In fact, it relates to a core issue: whether admit the requirements can be clear and determined at the outset. Agile's answer is NO. In the traditional development, most scenario are contractual authentication. Most clients' thoughts are based on the demands and can be finalized at the beginning. Actually, it basically belong to impossible mission at current stage and does not comply with the nature of software development. In Agile's requirements analysis, requirements should be throughout the entire software cycle process and keep changing, iterate, and complete.


Agile Development Process

Compare to traditional software process method, Agile is a lightweight method that can simplify streamline processes and improve efficiency. This is the reason that agile is favored by many software organizations. But agile is not universal truth, cannot be used by any organizations or any software development. Agile has its own applicable conditions and applicable occasions. If we do not meet the conditions to use agile, it will possibly counterproductive. Therefore, organizations must analyze the current situation and the feasibility of implementing agile. Implementing agile gradually can be successful and achieve the value of agile.



Reference:
"Agile software development." Wikipedia. 6 Oct. 2013 <http://en.wikipedia.org/wiki/Agile_software_development>.

3 comments:

  1. Hi Wenglong, it is interesting to see how robust the agile process is. I would like to hear your opinion on it. Whether or not you like it or dislike it since we are using it in class. I agree that agile cannot be the only answer to software development. To be honest after using it for a bit I do not really like it at all. Trying to predict how long a particular portion will take, in my opinion, is not very helpful.

    ReplyDelete
  2. Hi Wenlong,

    This is a good post. I agree that having Agile should exist in various software organizations because it helps to improve software quality and development. I really like how you included the four basic concepts of Agile’s value from the manifesto. This may show every software developer to understand what needs to be completed to reach the final stage. Sometimes Agile can be difficult to work with because there are some flaws that show negative results in your project. However, efficiency is important to all developers.

    In your post, there are two recommendations that I would like to point out. The first one is to reread the post again and check for any grammar and sentence structure errors. Also, where did you reference the first paragraph about the definition of Agile software development? Why not try to rephrase the whole paragraph into your own words? That is my second recommendation.

    All in all, you did a good job for your post. Keep blogging your posts!

    ReplyDelete
  3. Hi Wenlong,

    Thanks for your sharing. What a nice post! Your picture is so vivid and funny. It makes me laugh.

    As you said, Agile is not universal truth, cannot be used by any organizations or any software development. Actually, I talked with some senior software developers, almost all of them don't like Agile. Daily scrum wastes a lot of time. It is not efficient. Every coin has two sides, so does Agile.

    Thanks for your sharing again. I am looking forward to read more your blogs.

    ReplyDelete