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

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.

主站蜘蛛池模板: 宾阳县| 专栏| 麦盖提县| 贵溪市| 河池市| 长乐市| 革吉县| 昌邑市| 房产| 武鸣县| 惠水县| 淮南市| 凤翔县| 射阳县| 松潘县| 金湖县| 邵阳县| 科尔| 石狮市| 射洪县| 定远县| 安平县| 红原县| 蓬溪县| 富宁县| 兰州市| 榆社县| 珲春市| 鱼台县| 开江县| 开远市| 同心县| 乌鲁木齐县| 渝北区| 革吉县| 沐川县| 呼图壁县| 府谷县| 阿瓦提县| 平塘县| 资兴市|