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

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.

主站蜘蛛池模板: 泰和县| 枞阳县| 云安县| 郑州市| 德江县| 康马县| 马龙县| 五常市| 大洼县| 侯马市| 长白| 神农架林区| 内江市| 滁州市| 沙坪坝区| 股票| 上饶县| 新民市| 湖南省| 广南县| 调兵山市| 蒲城县| 纳雍县| 和田县| 桦甸市| 泰和县| 阳东县| 石泉县| 定兴县| 鄂州市| 嵩明县| 盐津县| 八宿县| 吴桥县| 兰西县| 安图县| 洞头县| 和硕县| 得荣县| 丰顺县| 吉首市|