principles of modern software management(click here)

principles of modern software management in software engineering
Software Engineering

Principles of Modern Software Management

Royce Walker describes ten principles of modern software management (Royce, Walker 1998). 

1.Base the process on an architecture-first approach.

  • It demands that a verified balance be achieved among the handle requirements. The architecturally significant designs decisions, and the life-cycle plans before the resources are committed for full-scale development.

2. Establishing an iterative life-cycle process that confronts risk early.

  • With today's advanced software systems, it is not possible to define the entire problems, design the entire solution, built the software, then test the end product in sequence.
  • Instead of an redundant process that checks the problem understanding, an successful solution, and an successful plan over several iterations encourage a parallel treatment of all stakeholder objects.
  • Major risks must be addressed early to increase predictability and avoid expensive scraps and reworks.

3. Transition Design Methods to Emphasize Component-Based Development.

  • Moving from a LOC(Line-Of-Code) mentality to a component based mentality is mandatory to minimize the amount of human generated source code and custom development.
  • A component is an cohesive act of pre-existing lines of code, either in source or in executable file format and with an defined UI(User Interface) and behavior.

4. Establish a Change Management Environment

  • The mobility of constant(Iterative) development, including coexisting workflows by different teams working on shared artifacts, necessitates objectively controlled all of the baselines.

5. Upgrade Change Freedom Through Tools That Supports Round-Trip Engineering 

  • Round-trip engineering is the environment that supports necessary automatic and integrate engineering information in different kinds of formats (such as requirements specification, design models, source code, executable code, test cases).
  • Without substantial of this book-keeping, change change management documentation and testing, it is difficult to reduce iteration  cycles to manageable times frames in which change rather then avoiding it.
  • Change freedom is the necessity in an parallel(iterative) process, and establishing an integrated environment is crucial.

6. Capture Design Artifacts in Accurate, Model Based Notation.

  • A model based approach (UML) supports the growth of semantically rich graphical and textual design notations.
  • Optical modelling with correct notations and the formal machine convertible language provides for far more objective measures than the standard approach of human review and scans of AD HOC designs representations in paper documents.

7. Instrument the Process for Objective Quality Control and Progress Assessments.

  • Life-cycle assessments of the progress and the quality of all intermediate products must be integrated into the process.
  • The best evaluating mechanisms are well defined measures handles directly from the including engineering rarity and integrated(added) into all activities and teams.

8. Using a Demonstration-Based Approach to Evaluate Intermediate Artifacts.

  • Adaption the current state of product rarity into an executable demonstration of relevant scenarios earlier convergence on integration, a more tangible understanding of design trade-offs,and earlier elimination of architectural defects.

9. Plan Intermediate Release in Groups of Usage Scenarios With Evolving Level of Detail.

  • It is mandatory that the software management uses towards early and continuous demonstrations within the operational  context of the system, usually its used cases.
  • The evolution of project increments and generations must be commensurate with the current level of understanding of the requirements and architecture.
  • Cohesive usage scenarios are then the primary mechanism for organizing requirements, defining iteration content, assessing implementations and organizing acceptance testing.

10. Establish a Configurable Process That is Economically Scalable.

  • No any single process is satisfactory for all of the software developments.
  • A sensible process framework must be configurable to a broad scale of apps.
  • The  process must be ensure that there is economy of scale and return on investment by make use of a common process, sizable process automation, and common architecture patterns and components.

Check These Also:

Post a comment