Adapting Life Cycle Activities for Common Situations

IEEE 1074 provides a set of 17 processes and 65 activities that software projects may need to carry out the work of software engineering organized by where they fit in the basic product development life cycle that serves as our map (Figure 4-1). These are shown inTable 9-1. which is a tabular form of Figure 4-1, with activities added. The 34 competencies that every software project manager should know directly relate to the 65 software development project activities shown, and they are explained in more detail elsewhere in this book.

Development (product) activities may include analysis, high-level design, low-level design, coding, testing, and other tasks that occur in the life cycle phases. Managerial activities may include project planning, tracking, control, risk analysis, and so on. Support activities may include documentation of deliverables such as a user's manual, operations guides, network communications, and so on. All of these kinds of activities are part of a product-oriented project WBS. We call managerial, administrative, and support tasks integral tasks, traversing one or more (sometimes all) of the development tasks. Other integral tasks include configuration management procedures, software quality assurance practices, risk analysis and management, software development tools and techniques, methods of conducting reviews of in-process deliverables, metrics to be collected and analyzed, definition and documentation of standards (rules for in-process deliverables), and any other activities required to meet customer requirements, such as creation of documents, training programs, tool development, or acquisition.

The challenge for every software development project manager is to map the activities inTable 9-1 into a life cycle model that fits the current project situation, and then describe them in enough detail for the organization's personnel to understand and execute. Each of the activities in the table may need further breakdown to be useful to your project team. For example, "plan configuration management" may be all that is needed for a project in an organization in which a sophisticated configuration management (CM) system and process are in place and in which the staff is trained for its proper use. The activity may need only a minimal work package description, such as "arrange for CM support from department coordinator." No separate s oftware configuration management plan (SCMP) document is needed. It may instead just be a section in the project's software project management plan (SPMP). However, for a new organization, this activity may involve considerably more work, including the design of a CM system and the selection, purchasing, installation, and training fora supporting software configuration management toolset. This would imply that a separate (and probably very detailed) SCMP should be developed. The scope of these two activity extremes is very different, as is the effort to carry them out.

Table 9-1. IEEE 1074 Software Development Product Life Cycle Processes and Activities

Development Phase

Life Cycle Processes

Activities

Software Life Cycle Model Planning

1. Map the SLCM to project needs

1. Identify candidate SLCMs

2. Select project model

Project Management

2. Project initiation

3. Map activities to the SLCM

4. Allocate project resources

5. Establish project environment

6. Plan project management

3. Project monitoring and control

7. Analyze risks

8. Perform contingency planning

9. Manage the project

10. Retain records

11. Implement problem reporting method

4. Software quality management

12. Plan software quality management

13. Define metrics

14. Manage software quality

15. Identify quality improvement needs

Predevelopment

5. Concept exploration

16. Identify ideas or needs

17. Formulate potential approaches

18. Conduct feasibility studies

19. Plan system transition (if applicable)

20. Refine and finalize the idea or need

6. System allocation

21. Analyze functions

22. Develop system architecture

23. Decompose system requirements

Development Phase

Life Cycle Processes

Activities

Development

7. Requirements

24. Define and develop software requirements

25. Define interface requirements

26. Prioritize and integrate software requirements

8. Design

27. Perform architectural design

28. Design database (if applicable)

29. Design interfaces

30. Select or develop algorithms (if applicable)

31. Perform detailed design

9. Implementation

32. Create test data

33. Create source code

34. Generate object code

35. Create operating documentation

36. Plan integration

37. Perform integration

Post-Development

10. Installation

38. Plan installation

39. Distribute software

40. Install software

41. Accept software in operational environment

11. Operation and support

42. Operate the system

43. Provide technical assistance and consulting

44. Maintain support request log

12. Maintenance

45. Reapply software life cycle

Development Phase

Life Cycle Processes

Activities

47. Conduct parallel operations (if applicable)

48. Retire system

Integral

14. Verification and validation

49. Plan verification and validation

50. Execute verification and validation tasks

51. Collect and analyze metric data

52. Plan testing

53. Develop test requirements

54. Execute the tests

15. Software configuration management

55. Plan configuration management

56. Develop configuration identification

57. Perform configuration control

58. Perform status accounting

16. Documentation development

59. Plan documentation

60. Implement documentation

61. Produce and distribute documentation

17. Training

62. Plan the training program

63. Develop training materials

64. Validate the training program

65. Implement the training program

One other thing to note about the activities in Table 9-1 is that all the activities follow the guidelines mentioned earlier for a proper activity label. The action levels have verbs and nouns, making their meaning more precise.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment