Usually when people talk about agile methodologies present examples like Scrum, Kanban or XP (Extreme programming) but in my 5 years working in software and 10 since I began my studies, I had never heard about OpenUp, but last week my teacher talked about it and intrigued me.
OpenUP is an iteratively incremental method of software developments, that uses iterative and incremental principles within a structured lifecycle. OpenUP uses a pragmatic philosophy of flexible development, which is based on a collective approach to software development. What struck me the most was how little the companies in my country (Colombia) know about it, so I wanted to give a little resume.
This method allows us to have defined the roles in the project:
- Stakeholder: represents interest groups whose needs must be satisfied with the project.
- Analyst: represents the customer and end-user concerns by gathering input from stakeholders to understand the problem and write the requirements.
- Architect: is responsible for designing the software architecture, this person takes the key technical decisions.
- Developer: is responsible for developing a part of the system
- Tester: is responsible for test the solution.
- Project Manager: leads the planning of the project.
That's helpful because not every person in the team has to be an expert (in this case senior developer). After all, the team can rely on the architect for guide and information and into the Project manager for the tools needed. Another key component about OpenUp is the life cycle, this method has four defined phases for the project: Inception (Getting the requirements), Elaboration (Planing the architecture), Construction, and Transition, each phase could contain one or more iterations but in each one of them we will encounter 6 categories of tasks:
- Business Modeling
- Analysis and Design
The work intensity needed in each of the tasks will vary in relation to the iteration necessity and in the phase in which the project is located.
And for the last part in this post, I want to mention that in an OpenUP project each member of the team contributes their work in micro increments, which typically represent the outcome of a few hours to a few days of work, and daily they give a little retrospective of the work of that day, which increases visibility, trust and teamwork.
Thank you for reading!