Промышленный лизинг Промышленный лизинг  Методички 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [ 37 ] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Agile, lightweight process to manage and control development work. A wrapper for existing engineering practices.

A team-based approach to iteratively, incrementally develop systems and products when requirements are rapidly changing.

A process that controls the chaos of conflicting interests and needs. A way to improve communications and maximize cooperation. A way to maximize productivity. Scalable from single projects to entire organizations.

A way to detect and cause the removal of anything that gets in the way of developing and delivering products.

Project management for a Scrum methodology involves a much greater focus on iteration and release management, error and fault resolution, and coaching the team to the next project release. Compared to traditional project management, we see that its sole focus is primarily on producing PERT charts, Network diagrams, status reports, and deliverables. The most immediate benefits of Scrum are shown in Table 4.3.

Table 4.3: Scrum benefits



Increases user involvement in the development process.

Allows users to change and create requirements as the project progresses.

Ensures that the most important user functionality is built in first.

Always focuses on only the most important functionality.

Achieves new working functionality every 30 days.

Allows the user to choose the build or release at any time.

Eliminates the need for projects to be funded more than 30 days in advance.

Identifies something that can be done to improve productivity every single day.

Maximizes the ROI from the project.

Ensures that the team focuses on building only the functionality the user wants, eliminating additional functionality or cost.

Scrum is, therefore, based on empirical controls through inspection and adaptation. These controls are implemented through five basic practices:

Iterations. All work is done in short iterations, usually lasting 30 days. Inspections occur at the end of each iteration.

Increments. An increment of working functionality is produced at each iteration. At the end of each iteration, this increment is inspected.

Emergence. Complex systems emerge unpredictably across time. Their end state can be anticipated but not predicted. It is useless to try to predict their end states, and any such predictions can be misleading. Scrum deemphasizes traditional definitions of the requirements, architecture, and design of the system. These factors are allowed to emerge across time and have successfully done so on thousands of projects.



Self-organization. There are many unpredictable factors in IT development, ranging from technology to personnel. Given this unpredictability, it is important that management and teams are provided with the authority to plan and organize the work as they proceed, using their creativity and intellect to deal with the unexpected. They rely on their experience. They may also use any of the documented, defined development approaches (i.e., use case capturing, object modeling techniques) that they think will benefit the project.

Collaboration. The practice and working environments of agile methodologies work only if everyone collaborates freely and openly with one another. Techniques used here are (1) open working environments and (2) paired programming practices.

Crystal Methodologies

The Crystal methodology is a family of methodologies, which are all lightweight in nature and are segmented, as the name implies, into various color bands a crystal would emit (i.e., crystal clear, yellow, orange, maroon, blue, and violet). All Crystal methodologies are founded on a common value, very strong on communication, they are human-centric, light on work products and are self-adapting (Cockburn 2000). Methodology elements can be reduced to the extent that running software is delivered more frequently and interpersonal communication channels are richer. The human-centric approach really focuses on enhancing the work of the people involved on the project. Each member of the Crystal family or methodology addresses different project needs. The focuses of Crystal methodology are to (1) capture those components that make projects successful and (2) provide the project team with sufficient leverage and freedom to perform its work in a fun and creative manner. Additionally, smaller project teams develop better results because the communication is improved largely through close personal interaction and feedback between users, and the team is encouraged. Crystal does not encourage vast amounts of project documentation. Crystal captures the lessons learned from previous development projects, including the latest briefings on human thinking and communication, which is then reapplied to the development environment. The founder of the Crystal methodologies, Cockburn, states:

... Software development is a cooperative game, in which the participants help each other in reaching the end of the game the delivery of software.... (p. 1)

When the project team starts developing the software, the team members immediately embark on describing their own development vocabulary in a manner that each project member understands. Two main principles of Crystal are:

Put people in the same location for improved development and creativity.

Encourage face-to-face communications.

Dynamic Systems Development Methodology (DSDM)

The DSDM, developed in the United Kingdom, is based on Rapid Application Development (RAD) that uses prototyping reiteration to deliver projects. This model has several aspects that differ from most common models. The



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [ 37 ] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101