OpenUP Methodology. Part 3: Microsteps
We continue to study the OpenUP methodology and today we will consider the OpenUP microsteps.
Personal participation in the OpenUP project is organized according to the principle of micro-steps. A microstep is the result of work (lasting from several hours to several days) of one person or several people participating in joint activities to achieve the iteration objectives. The concept of micro-steps helps individual members of the team to break their work into small units so that everyone can make a measurable contribution to the work of the team. Microsteps provide exceptionally short feedback loops that facilitate the adoption of adaptive solutions during each iteration.
Short feedback cycles: One of the tasks of the technology of flexible development is the shortening of the feedback cycles. Often developers are faced with the fact that members of the team worked for weeks on any task, not sharing responsibilities, which led to inefficiency. In Scrum, this problem is solved with the help of Daily Scrums. OpenUP states that you can practice a similar approach, or you can use common infrastructures to manage work items.
Microsteps should be well defined, you should be able to track the daily progress of each microstep. Microsteps are defined and tracked by the elements of work. A set of changes is a physical result in the form of files modified during the execution of this work item. Let’s look at a few examples of micro steps:
- Identification of interested persons. Definition of a Vision is a task that can last for several weeks, so to ensure and track daily progress, divide the task into small and well-defined microsteps. Describing and agreeing on the points that stakeholders need to include in the Vision document helps to produce meaningful results and can take as little as several hours or at most a few days and, therefore, is a situation suitable for using micro steps;
- Development of intermediate solutions. The definition, design, implementation and testing of precedents or even a scenario can last several weeks or more. To ensure continuous progress of implementation, it is necessary to try to break up the work into smaller steps, each of which can be performed in one to two days. A microstep can be more appropriate to only define, design, implement, and test the substream of a precedent or step in the script;
- Harmonization of the technical approach to ensure persistence. The coordination of the technical aspects of the solution may take almost as much time, so it is necessary to narrow the task down to questions that can be identified and agreed upon in a short time span. You can split the work into micro-steps in accordance with the problems that need to be resolved, for example, ensuring persistence or generating reports. Such microsteps are likely to include definition of requirements, survey of available resources, prototyping and documenting solutions;
- Iteration planning. This microstep can include organizing a meeting to create an iteration plan, preparing this meeting, for example, analyzing the expected elements of the work, advising staff during the iteration planning session, and posting the iteration plan prominently to make it accessible to any member of the team. The end result will be a complete and measurable plan, posted on a public display and approved by the team.
The created application is developed by microsteps through the simultaneous execution of several elements of work. By openly discussing the progress of microsteps in daily meetings and using tools for teamwork, transparency and understanding of each other’s team members is achieved, which ensures the effectiveness of joint efforts. In addition, continuous progress is demonstrated, and each time the application is developed moves one microstep forward.
Development of intermediate solutions: Ideally, it is recommended to use the development principles with the results of testing (Test-Driven Development).
OpenUP provides a set of activities. Each activity is a set of tasks, steps within these tasks and recommendations. Although microstepping is not an explicitly documented design in this process, you will find descriptions of the implementation of the bundles of related microsteps that are normally in the projects that are inside the activity. OpenUP does not provide a complete description of possible microsteps, and each organization will have to create its own “recipes” for frequently occurring microsteps.
OpenUP offers an effective learning tool and makes it easy to find useful recommendations, showing when you are most likely to have to perform different tasks. This is done through the visualization of the delivery process of the solution, which is the organization of tasks in time in the context of the project life cycle. For example, most likely you will have to agree on technical methods in the early stages of the project. This does not mean that you will not make technical decisions at later stages. The process looks like a map: use it to understand the overall picture and for reference, but if the map and the actual situation do not match, trust the real situation.
Next time we’ll study OpenUP project life cycle.