Java 企业应用
不要温柔的走入那个良夜

2009-12-05 13:34 41人阅读 评论(0) 收藏 举报

前天,偶然的机会听了一场IBM软件工程师的讲座,也偶然的接触了一种思想---agile.讲师是贾迎,参与过Lotus Notes/Domin的开发,如今是IBM的顾问软件工程师。

   Agile这种思想和现在的敏捷开发有着相同的角度考虑问题。以人为核心,循序渐进的开发方式。

   回来再学习,看了几篇文章,总结一下:

------------------------------------------------------

    敏捷软件开发是一个概念意义上的框架,用来取代软件工程项目的概念;它强调在项目的整个生命周期中拥抱并促进由于软件进化式的发展所带来的变化
      请注意其中的三个关键词:
在项目的整个生命周期中:这就涉及到了【敏捷项目管理】、【敏捷需求获取】、狭义的【敏捷软件开发】三个主要的领域和过程。要注意的是,上述三个过程并不是互相分开的,而是你中有我,我中有你。
拥抱并促进变化:世界上唯一不变的是变化。不论在任何领域,漠视、甚至否认、抗拒变化,都不是一个理性,严肃的人所应有的态度。学会如何识别变化的大势,并在可能的时候,促使变化向好的方向发展。这才是面对变化的正确应对之法。
软件进化式的发展:虽然上面提到促进变化的发展,但是软件的演化过程,我相信是有其自身内在逻辑的,存在一些根本规律和指导方针;并不是完全以人的主观意识为主导。
  了解了这三个方面,下面引入大名鼎鼎、如雷贯耳、耳朵都要磨出糨子来的敏捷宣言(Manifesto for Agile Software Development)
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to 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

That is, while there is value in the items on the right, we value the items on the left more.

在敏捷宣言的背后,有其遵循的12条原则
Principles behind the Agile Manifesto
We follow these principles:
☆ Our highest priority is to satisfy the customer through early and continuous delivery of vaphp?name=lua" onclick="tagshow(event)" class="t_tag">luable software.
☆ Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
☆ Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
☆ Business people and developers must work together daily throughout the project.
☆ Build projects around motivated individuals. Give them the environment and support they need,
and trust them to get the job done.
☆ The most efficient and effective method of conveying information to and within a development
team is face-to-face conversation.
☆ Working software is the primary measure of progress.
☆ Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
☆ Continuous attention to technical excellence and good design enhances agility.
☆ Simplicity--the art of maximizing the amount of work not done--is essential.
☆ The best architectures, requirements, and designs emerge from self-organizing teams.
☆ At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
its behavior accordingly.
------------------------------------------------------------------

      想想我们听说过的一些AOP的开发方法,有哪些和这种思想是一致的?

      很多,不断的迭代和不断的简单化来完成目标就是这样的呀!

    《轻快的java》鼓励人们使用SSH的方法来开发软件,因为他们不用考虑EJB带来的过度耦合,因为他们使代码简单,透明。

      吃什么就像什么,使用大量的Bean而没有容器,就使Servlet很难管理,Spring的IoC的依赖注入完美的解决了问题。

------------------------------------------------------------------

      而日常的生活中,又有那些问题可以被Agile解决呢?

      我发现eclipse的流行就可以用这种思想来说明,开始我们的需求就是像记事本一样的做代码。然后运行的时候要控制台,那就集成控制台,需要调试的时候,就集成Ant,需要什么就加什么。

      就像我们爬山的时候,为了寻找最短的路径可能会走下山的路。

------------------------------------------------------------------

                                                  这些只是个人学习上一些理解。

                                                  欢迎指正。

posted on 2012-03-08 10:55 cpegtop 阅读(208) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: