官术网_书友最值得收藏!

Project Construction: Programming and Development

When all of the primary documentation is complete, the actual development work starts. The technical team will study the use cases and the object and data models, and start planning the delivery cycles. Here, we can use one of the following famous development methodologies:

  • SCRUM Development
  • Waterfall Model
  • Agile Development/Extreme Programming (XP)
  • Iterative Development

You can find more information about each of these techniques online via the list of references I have provided. There is a lot of online as well as offline text available on these methodologies. I personally prefer SCRUM development, which is a Chaos Theory based approach. In SCRUM, we have sprint, which is an iteration with a certain number of days (for example, 30) at the end of which the development team covers a certain set of use cases and lets the stakeholders see and test the application. During the next iteration, they cover more features, which are prioritized accordingly. Each iteration passes through a full software development cycle: planning, requirements, design, coding, testing, and documentation. The goal is to have an available release (without bugs) at the end of each iteration.

A major goal to be achieved by using this process is to allow the client to take their new product to market before it is completed in its entirety. We are also minimizing risk by developing highly-focused components in a short period of time. This development process will continue throughout all phases, promoting the release of components to a beta phase in a live environment as the life cycles are completed. The following are the major benefits or principles of the SCRUM method:

  • Keeping things simple by chunking (or batching)
  • Customer satisfaction through rapid, continuous delivery of useful software they can get their hands on
  • Working software is delivered frequently (taking weeks rather than months)
  • Working software is the primary measure of progress
  • Late changes or additions in requirements are welcome and can be added to iterations with ease
  • Close, daily cooperation between clients and developers
  • Continuous attention to technical excellence and good design
  • Regular adaptation to changing circumstances

Because the stakeholders can see and review the current application at the end of each sprint, it gives them a valuable opportunity to change anything they don't like. Changes made at a later stage (such as when all use cases are covered) would take a longer time to absorb into the application, and can sometimes derail the project completely.

主站蜘蛛池模板: 文成县| 芦溪县| 乌拉特后旗| 克东县| 昭觉县| 博客| 肥西县| 集安市| 利津县| 汉源县| 万宁市| 象州县| 高州市| 家居| 岐山县| 屯门区| 丹凤县| 蛟河市| 长宁区| 上犹县| 十堰市| 邓州市| 武邑县| 沈阳市| 军事| 建始县| 馆陶县| 通榆县| 长顺县| 呈贡县| 汾阳市| 元朗区| 嘉祥县| 淮安市| 沙河市| 阿瓦提县| 徐水县| 三亚市| 城固县| 贵德县| 米脂县|