Introduction to advanced topics about RUP, Software Process Frameworks, Model-Driven applied to Software Processes, SPEM & UMA Metamodels, Tayloring, and EPF
The document summarizes an evening workshop on accelerator workshops and rapid facilitation. The agenda includes an introduction to accelerator workshops and their benefits, demonstrations of live note-taking during facilitation, exercises in project alignment and goal setting using storyboarding, and a review of facilitation methods and tips for wrapping up a successful workshop.
Practical Product Management for new Product ManagersAmarpreet Kalkat
This presentation provides tips and tools for a professional who is new to Product Management function (in software).
It does not cover the full lifecycle of a product and primarily focuses on the product development/product building phase. As such, it is more usable for professionals working on existing products than for those in the process of building new products from scratch.
Meghan Wilkinson from Level 3 Communications and Barre Hardy of the consulting firm CMG will jointly present their experience working together to introduce and implement Agile Marketing practices at Level 3. The North American marketing team at Level 3 has been operating using Agile Marketing for over a year now.
Meghan and Barre will take you through their process of piloting Agile Marketing with a smaller team and then scaling up across the entire North American marketing organization. They will share stories of their triumphs and fails over the course of the implementation, as well as the adjustment to a new way of working. They will share the benefits Level 3 has realized over the year as well as what you can expect as you adopt Agile Marketing methodologies across a large, diverse team of marketers.
This document discusses different organizational patterns for product management departments. It identifies four common patterns: specialization, external-internal, product area, and emerging. The specialization pattern structures the department into functional roles with rigid responsibilities. The best structure depends on business context, but rigid roles should be avoided. Agile product management aims to be adaptive to changing markets and customer needs.
Eli casamitjana - Productized MasterclassesProductized
1. The (Unexpected) Benefits Of Keeping The Score In product organizations more than any, we realize the importance of making data-driven and fact-driven decisions making. But Measurement can help in many more ways along the product life cycle.
2. The Key Metrics Areas To Look At Product is at the crossroad of business, technology, customer experience, and more. So, when it comes to measuring what matters, there are some areas you’ll want to have a close look at.
3.How To Leverage OKR To Stimulate A More Data-Driven Culture In Your Product Organization OKR (Objectives & Key Results) is a goal management framework evangelized by Google and used by many tech companies and product teams around the globe.
4. Tools to help you We’ll see together what are the tools to leverage OKR to help your product organization better prioritize, plan and execute with a data-driven, transparent and result-oriented mindset.
5. And many more strategies Everything you need to increase the impact of your product team leveraging data-driven culture.
The Strategic Role of Product Management
The Strategic Role of Product Management explains why product management is a critical, strategic role in a technology company. One which guides products to be created based on a market need, not because someone thinks it is a good idea.company. One which guides products to be created based on a market need, not because someone thinks it is a good idea.
How to Master Product Management Case Studies by fmr Groupon PMProduct School
Main takeaways
- How does one proceed in an interview when given a product case study to solve
- What are some of the most common case questions to practice
- What hiring managers are looking for when asking candidates to solve a product case
- The importance of a good hypothesis
- Best frameworks that can come in handy
The document summarizes an evening workshop on accelerator workshops and rapid facilitation. The agenda includes an introduction to accelerator workshops and their benefits, demonstrations of live note-taking during facilitation, exercises in project alignment and goal setting using storyboarding, and a review of facilitation methods and tips for wrapping up a successful workshop.
Practical Product Management for new Product ManagersAmarpreet Kalkat
This presentation provides tips and tools for a professional who is new to Product Management function (in software).
It does not cover the full lifecycle of a product and primarily focuses on the product development/product building phase. As such, it is more usable for professionals working on existing products than for those in the process of building new products from scratch.
Meghan Wilkinson from Level 3 Communications and Barre Hardy of the consulting firm CMG will jointly present their experience working together to introduce and implement Agile Marketing practices at Level 3. The North American marketing team at Level 3 has been operating using Agile Marketing for over a year now.
Meghan and Barre will take you through their process of piloting Agile Marketing with a smaller team and then scaling up across the entire North American marketing organization. They will share stories of their triumphs and fails over the course of the implementation, as well as the adjustment to a new way of working. They will share the benefits Level 3 has realized over the year as well as what you can expect as you adopt Agile Marketing methodologies across a large, diverse team of marketers.
This document discusses different organizational patterns for product management departments. It identifies four common patterns: specialization, external-internal, product area, and emerging. The specialization pattern structures the department into functional roles with rigid responsibilities. The best structure depends on business context, but rigid roles should be avoided. Agile product management aims to be adaptive to changing markets and customer needs.
Eli casamitjana - Productized MasterclassesProductized
1. The (Unexpected) Benefits Of Keeping The Score In product organizations more than any, we realize the importance of making data-driven and fact-driven decisions making. But Measurement can help in many more ways along the product life cycle.
2. The Key Metrics Areas To Look At Product is at the crossroad of business, technology, customer experience, and more. So, when it comes to measuring what matters, there are some areas you’ll want to have a close look at.
3.How To Leverage OKR To Stimulate A More Data-Driven Culture In Your Product Organization OKR (Objectives & Key Results) is a goal management framework evangelized by Google and used by many tech companies and product teams around the globe.
4. Tools to help you We’ll see together what are the tools to leverage OKR to help your product organization better prioritize, plan and execute with a data-driven, transparent and result-oriented mindset.
5. And many more strategies Everything you need to increase the impact of your product team leveraging data-driven culture.
The Strategic Role of Product Management
The Strategic Role of Product Management explains why product management is a critical, strategic role in a technology company. One which guides products to be created based on a market need, not because someone thinks it is a good idea.company. One which guides products to be created based on a market need, not because someone thinks it is a good idea.
How to Master Product Management Case Studies by fmr Groupon PMProduct School
Main takeaways
- How does one proceed in an interview when given a product case study to solve
- What are some of the most common case questions to practice
- What hiring managers are looking for when asking candidates to solve a product case
- The importance of a good hypothesis
- Best frameworks that can come in handy
The document provides recommendations for establishing a Business Development Group (BDG) within an organization to better coordinate efforts in developing new business opportunities. It discusses restructuring the organization to separate short-term sales from long-term strategic development. The BDG would focus on opportunities with a 2-3 year horizon, leveraging cross-functional virtual teams to improve information sharing and decision-making.
How to Create a Product Management Process That Doesn't SuckIntelligent_ly
Learn how to create a product management process that works effectively for your organization. Slides taken from a class that Cory von Wallenstein of Dyn taught at Intelligent.ly. Learn more from the experts by visiting http://intelligent.ly/learn
This document provides an overview of Agile Project Management. It begins by describing some of the limitations of traditional project management approaches, such as long timelines and products becoming outdated. It then introduces Agile Project Management as an alternative approach that allows for flexibility and incorporating feedback throughout the project. Several key aspects of Agile Project Management are summarized, including focusing on short "sprints" of work, daily stand-up meetings, emphasizing customer collaboration, and being able to change direction based on learning. Comparisons are made between Agile and traditional approaches, with Agile noted as particularly suitable for unstable or changing environments.
Product strategy in a customer centric company at LeanKitFlorent de Gantes
Product strategy in a customer centric company - how LeanKit thinks about Lean, how we organize to deliver on our product strategy, and where Google can improve. Delivered at Scrum User Group, in Atlanta.
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...Tobias Schimmer
Presentation shown at the 2012 Institute for Enterprise Systems Symposium in Mannheim, Germany: http://www.institute-for-enterprise-systems.de/ines-symposium-2012.html
Agile Scrum is a collaborative project management methodology focused on short releases and delivering working software at the end of each release that provides immediate value. It is based on values like honesty, transparency, and collaboration. Key practices include short sprints, daily stand-ups, product backlogs to track work, and emphasizing working software over documentation.
During the Agile Austria Conference 2017, Graz, Austria
Speaker: Fariz Saracevic
This session will examine how requirements management can bring significant value to agile development teams.
New is Easy but Right is Hard: Hacking Product ManagementBernard Leong
Talk given on 15 Nov 2013, in Hackers & Painters (http://http://hackersandpainters.sg/), Singapore @ Blk 71.
Synopsis: A great product is a synthesis of technology and business thinking. How do we decide what goes into the product and determine the roadmap of the product? How do we establish the balance between the business and technology of the product? In this session, we discuss some interesting lessons learned on product management and why both business leaders and technologists don't get it.
The document discusses the opportunity process for entrepreneurs. It begins by defining an entrepreneur and discussing Thomas Edison's view of hard work and training. It then provides a test to determine if someone has entrepreneurial characteristics. The core of the opportunity process is outlined as: 1) Identifying the opportunity, 2) Determining capabilities, 3) Evaluating the opportunity, 4) Deciding to act or look elsewhere, 5) Writing a summary, and 6) Testing with customers and investors. Key aspects of evaluating an opportunity are determining if one has the capabilities and resources to pursue it. The document emphasizes finding opportunities by solving problems and emphasizes repeatedly identifying opportunities.
This document discusses design thinking and innovation. It begins by defining innovation, design, and thinking. It then discusses why design innovation is important, such as supporting creativity, solving problems, and meeting customer satisfaction. The document also covers the principles of design thinking, including that it involves both divergent and convergent thinking. Design thinking follows an iterative process involving understanding the problem, coming up with potential solutions, and refining the best solution. It emphasizes designing for human needs over following a strictly scientific method.
The document discusses four key concepts that large organizations adopting Agile must manage: type of work, size of teams, project governance, and portfolio governance. It outlines three types of work (ongoing product development, new product development, corporate initiatives), and two governance processes (roadmap and backlog, stage gate). The document also discusses how to determine team size and allocate teams based on the type of work.
Delivered to MBA students at Imperial College London. This session covered what Lean Product Development and Management entails, whilst covering the facets of lean including Agile, Lean Startup, Customer Development and more.
This document discusses enterprise work management (EWM) software. It notes that businesses need integrated systems to manage projects, resources, scheduling, finances and more currently done through disjointed tools like Excel. EWM provides visibility into work, resource management, workflow automation, collaboration and real-time reporting and dashboards. Key features include project and portfolio management, resource management, capacity planning, workflow automation and team collaboration. The market for EWM is growing and the presenter outlines their go-to-market strategy and future growth opportunities in India.
"Stop making excuses a culture first approach to product centricity" by Jorda...Productized
Many companies understand the value / benefits of becoming a holistic, Design-driven, Product-centric organization
Jordan's PRODUCTIZED presentation outlines a playbook of culture development, helping leaders and teams to identify opportunities to LIVE these principles, to identify opportunities for their application and experience the benefits of their comprehension and use.
Stakeholder Management for Product Managers - ProductTank ParisJean-Yves SIMON
How to manage your Stakeholders, mainly internally when you're a Product Manager working in a medium to large organization. Tips on how to be efficient and recognized within your organization.
Galleon Blue identifies three common mistakes companies make in product portfolio management: lack of strategic direction, an imbalance between short and long term projects, and functional silo mentalities. They provide a tool called Attribute Vector Analysis to help companies set strategic direction by focusing on customer attributes. Galleon Blue also recommends balancing short term updates, line extensions, and long term breakthrough innovations. They emphasize cross-functional collaboration early in the development process.
The document discusses agile adoption and whether it leads to success or failure. It defines agile and compares it to the waterfall model, noting problems with waterfall like lack of flexibility. It also discusses reasons why agile projects may fail, such as not having the right tools, culture, or collaboration. The document provides a case study example and ways to measure agility of a team.
This document provides an overview of agile methodology. It begins with an introduction to the author and their background. It then discusses what agile is, the history and development of agile practices, the 12 principles of the agile manifesto, advantages and disadvantages of agile, how agile addresses software requirements, and common agile methodologies like Scrum, Kanban, and Extreme Programming that are used to implement agile. The document aims to explain agile in simple terms and provide context around its origins and framework.
Accessibility, Usability and User Centred Design (Usabiltiy)David Lamas
The document discusses usability, including what it is, why it is important, and how to test for it. It defines usability as a quality attribute that assesses how easy user interfaces are to use. Usability is important because if a product or website is not usable, users will leave and sales or productivity will suffer. The document recommends testing usability throughout the design process, from testing competitors' products early on to testing each iteration of a new design. It provides guidance on planning usability tests, including defining goals, tasks, metrics, and selecting participants and methods. Common metrics mentioned are task success, time on task, errors, efficiency, and learnability over time.
The Rational Unified Process (RUP) is an iterative software development framework that includes four phases: Inception, Elaboration, Construction, and Transition. Each phase contains iterative cycles where requirements, design, and code are developed and tested. RUP emphasizes iterative development, managing requirements and risk, visual modeling, early testing, and architecture-centric design. It is a flexible framework that can be tailored for different project sizes and domains.
The document discusses the Rational Unified Process (RUP), an iterative software development process for building object-oriented systems. It is based on commonly accepted best practices like iterative development. The RUP combines requirements, analysis, design, and testing activities into a series of timed iterations. Each iteration results in an integrated and tested increment of functionality. The RUP aims to deliver early and continuous value through practices like iterative development, user involvement, and risk-driven development.
The document provides recommendations for establishing a Business Development Group (BDG) within an organization to better coordinate efforts in developing new business opportunities. It discusses restructuring the organization to separate short-term sales from long-term strategic development. The BDG would focus on opportunities with a 2-3 year horizon, leveraging cross-functional virtual teams to improve information sharing and decision-making.
How to Create a Product Management Process That Doesn't SuckIntelligent_ly
Learn how to create a product management process that works effectively for your organization. Slides taken from a class that Cory von Wallenstein of Dyn taught at Intelligent.ly. Learn more from the experts by visiting http://intelligent.ly/learn
This document provides an overview of Agile Project Management. It begins by describing some of the limitations of traditional project management approaches, such as long timelines and products becoming outdated. It then introduces Agile Project Management as an alternative approach that allows for flexibility and incorporating feedback throughout the project. Several key aspects of Agile Project Management are summarized, including focusing on short "sprints" of work, daily stand-up meetings, emphasizing customer collaboration, and being able to change direction based on learning. Comparisons are made between Agile and traditional approaches, with Agile noted as particularly suitable for unstable or changing environments.
Product strategy in a customer centric company at LeanKitFlorent de Gantes
Product strategy in a customer centric company - how LeanKit thinks about Lean, how we organize to deliver on our product strategy, and where Google can improve. Delivered at Scrum User Group, in Atlanta.
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...Tobias Schimmer
Presentation shown at the 2012 Institute for Enterprise Systems Symposium in Mannheim, Germany: http://www.institute-for-enterprise-systems.de/ines-symposium-2012.html
Agile Scrum is a collaborative project management methodology focused on short releases and delivering working software at the end of each release that provides immediate value. It is based on values like honesty, transparency, and collaboration. Key practices include short sprints, daily stand-ups, product backlogs to track work, and emphasizing working software over documentation.
During the Agile Austria Conference 2017, Graz, Austria
Speaker: Fariz Saracevic
This session will examine how requirements management can bring significant value to agile development teams.
New is Easy but Right is Hard: Hacking Product ManagementBernard Leong
Talk given on 15 Nov 2013, in Hackers & Painters (http://http://hackersandpainters.sg/), Singapore @ Blk 71.
Synopsis: A great product is a synthesis of technology and business thinking. How do we decide what goes into the product and determine the roadmap of the product? How do we establish the balance between the business and technology of the product? In this session, we discuss some interesting lessons learned on product management and why both business leaders and technologists don't get it.
The document discusses the opportunity process for entrepreneurs. It begins by defining an entrepreneur and discussing Thomas Edison's view of hard work and training. It then provides a test to determine if someone has entrepreneurial characteristics. The core of the opportunity process is outlined as: 1) Identifying the opportunity, 2) Determining capabilities, 3) Evaluating the opportunity, 4) Deciding to act or look elsewhere, 5) Writing a summary, and 6) Testing with customers and investors. Key aspects of evaluating an opportunity are determining if one has the capabilities and resources to pursue it. The document emphasizes finding opportunities by solving problems and emphasizes repeatedly identifying opportunities.
This document discusses design thinking and innovation. It begins by defining innovation, design, and thinking. It then discusses why design innovation is important, such as supporting creativity, solving problems, and meeting customer satisfaction. The document also covers the principles of design thinking, including that it involves both divergent and convergent thinking. Design thinking follows an iterative process involving understanding the problem, coming up with potential solutions, and refining the best solution. It emphasizes designing for human needs over following a strictly scientific method.
The document discusses four key concepts that large organizations adopting Agile must manage: type of work, size of teams, project governance, and portfolio governance. It outlines three types of work (ongoing product development, new product development, corporate initiatives), and two governance processes (roadmap and backlog, stage gate). The document also discusses how to determine team size and allocate teams based on the type of work.
Delivered to MBA students at Imperial College London. This session covered what Lean Product Development and Management entails, whilst covering the facets of lean including Agile, Lean Startup, Customer Development and more.
This document discusses enterprise work management (EWM) software. It notes that businesses need integrated systems to manage projects, resources, scheduling, finances and more currently done through disjointed tools like Excel. EWM provides visibility into work, resource management, workflow automation, collaboration and real-time reporting and dashboards. Key features include project and portfolio management, resource management, capacity planning, workflow automation and team collaboration. The market for EWM is growing and the presenter outlines their go-to-market strategy and future growth opportunities in India.
"Stop making excuses a culture first approach to product centricity" by Jorda...Productized
Many companies understand the value / benefits of becoming a holistic, Design-driven, Product-centric organization
Jordan's PRODUCTIZED presentation outlines a playbook of culture development, helping leaders and teams to identify opportunities to LIVE these principles, to identify opportunities for their application and experience the benefits of their comprehension and use.
Stakeholder Management for Product Managers - ProductTank ParisJean-Yves SIMON
How to manage your Stakeholders, mainly internally when you're a Product Manager working in a medium to large organization. Tips on how to be efficient and recognized within your organization.
Galleon Blue identifies three common mistakes companies make in product portfolio management: lack of strategic direction, an imbalance between short and long term projects, and functional silo mentalities. They provide a tool called Attribute Vector Analysis to help companies set strategic direction by focusing on customer attributes. Galleon Blue also recommends balancing short term updates, line extensions, and long term breakthrough innovations. They emphasize cross-functional collaboration early in the development process.
The document discusses agile adoption and whether it leads to success or failure. It defines agile and compares it to the waterfall model, noting problems with waterfall like lack of flexibility. It also discusses reasons why agile projects may fail, such as not having the right tools, culture, or collaboration. The document provides a case study example and ways to measure agility of a team.
This document provides an overview of agile methodology. It begins with an introduction to the author and their background. It then discusses what agile is, the history and development of agile practices, the 12 principles of the agile manifesto, advantages and disadvantages of agile, how agile addresses software requirements, and common agile methodologies like Scrum, Kanban, and Extreme Programming that are used to implement agile. The document aims to explain agile in simple terms and provide context around its origins and framework.
Accessibility, Usability and User Centred Design (Usabiltiy)David Lamas
The document discusses usability, including what it is, why it is important, and how to test for it. It defines usability as a quality attribute that assesses how easy user interfaces are to use. Usability is important because if a product or website is not usable, users will leave and sales or productivity will suffer. The document recommends testing usability throughout the design process, from testing competitors' products early on to testing each iteration of a new design. It provides guidance on planning usability tests, including defining goals, tasks, metrics, and selecting participants and methods. Common metrics mentioned are task success, time on task, errors, efficiency, and learnability over time.
The Rational Unified Process (RUP) is an iterative software development framework that includes four phases: Inception, Elaboration, Construction, and Transition. Each phase contains iterative cycles where requirements, design, and code are developed and tested. RUP emphasizes iterative development, managing requirements and risk, visual modeling, early testing, and architecture-centric design. It is a flexible framework that can be tailored for different project sizes and domains.
The document discusses the Rational Unified Process (RUP), an iterative software development process for building object-oriented systems. It is based on commonly accepted best practices like iterative development. The RUP combines requirements, analysis, design, and testing activities into a series of timed iterations. Each iteration results in an integrated and tested increment of functionality. The RUP aims to deliver early and continuous value through practices like iterative development, user involvement, and risk-driven development.
The document discusses Object Oriented Design and Analysis using the Rational Unified Process (RUP). RUP is an iterative software development process framework for building object-oriented systems. It is comprised of four phases - Inception, Elaboration, Construction, and Transition. Within each phase are iterative cycles of requirements analysis, design, implementation, testing and feedback. The goal is to produce high-quality software that meets user needs within schedule and budget.
This slide is for software engineering subject which may help you to better understanding. You can also gain knowledge in software engineering subject.
The Agile model emphasizes small incremental releases with frequent testing. The entire development team, including developers, testers, managers, and customers, work closely together in daily meetings over short 1-4 week sprints. Agile methods like Scrum and Extreme Programming use open communication to gather feedback. Advantages include rapid delivery of useful software and collaboration between customers and developers. Disadvantages can include lack of clarity on project goals.
Software Process Models, The Linear Sequential Model, The Prototyping Model, The RAD Model, Evolutionary Process Models, Agile Process Model, Component-Based Development, Process, Product and Process.
The document provides an introduction to the Rational Unified Process (RUP). It discusses what a software engineering process is, limitations of the waterfall model, and an overview of RUP. RUP is an iterative software development process framework that is use case driven and architecture-centric. It consists of four main phases - inception, elaboration, construction, and transition - with milestones used to transition between phases. The goal is to deliver working software incrementally throughout the project lifetime.
The document discusses various software development life cycle (SDLC) models including waterfall, V-shaped, prototyping, rapid application development (RAD), incremental, spiral, and agile models. It provides details on the key steps, strengths, weaknesses, and scenarios for using each model. It also discusses quality assurance plans and techniques to ensure quality like defect tracking, unit testing, code reviews, integration testing, and system testing.
The document discusses several software development life cycle (SDLC) models including the Capability Maturity Model (CMM), Waterfall model, V-shaped model, Rapid Application Development (RAD) model, Incremental model, and Spiral model. It provides an overview of the key stages and characteristics of each model as well as their strengths and weaknesses to help determine when each model is best applied.
The document discusses various software development life cycle (SDLC) models including waterfall, V-shaped, prototyping, rapid application development (RAD), incremental, spiral, and agile models. For each model, the key steps or phases are described along with strengths and weaknesses. When each model is most applicable is also discussed. The document then covers quality assurance planning and activities that should be included like defect tracking, testing at various levels, and technical reviews.
The document discusses several software development life cycle (SDLC) models including the Capability Maturity Model (CMM), Waterfall model, V-shaped model, Rapid Application Development (RAD) model, Incremental model, and Spiral model. It provides an overview of the key stages and characteristics of each model as well as their strengths and weaknesses to help determine when each model is best applied.
The document discusses several software development life cycle (SDLC) models including the Capability Maturity Model (CMM), Waterfall model, V-shaped model, Rapid Application Development (RAD) model, Incremental model, and Spiral model. It provides an overview of the key stages and characteristics of each model as well as their strengths and weaknesses to help determine when each model is best applied.
The document discusses various software development life cycle (SDLC) models including waterfall, V-shaped, prototyping, rapid application development (RAD), incremental, spiral, and agile models. For each model, the key steps or phases are described along with strengths and weaknesses. When each model is most applicable is also discussed. The document then covers quality assurance planning and activities that should be included like defect tracking, testing at various levels, and technical reviews.
The document discusses various software development life cycle (SDLC) models including waterfall, V-shaped, prototyping, rapid application development (RAD), incremental, spiral, and agile models. For each model, the key steps or phases are described along with strengths and weaknesses. When each model is most applicable is also discussed. The document then covers quality assurance and the importance of having a quality assurance plan that includes elements like defect tracking, testing at various stages of development, and code reviews.
The document discusses several software development life cycle (SDLC) models including the Capability Maturity Model (CMM), Waterfall model, V-shaped model, Rapid Application Development (RAD) model, Incremental model, and Spiral model. It provides details on the key steps and phases in each model as well as their strengths and weaknesses. The models range from traditional plan-driven approaches like Waterfall to more iterative approaches like RAD and Spiral that allow for user feedback and adjustments throughout the process.
The document discusses various software development life cycle (SDLC) models including waterfall, V-shaped, prototyping, rapid application development (RAD), incremental, spiral, and agile models. For each model, the key steps or phases are described along with strengths and weaknesses. When each model is most applicable is also discussed. The document then covers quality assurance planning and activities that should be included like defect tracking, testing at various levels, and technical reviews.
The document discusses various software development life cycle (SDLC) models including waterfall, V-shaped, prototyping, rapid application development (RAD), incremental, spiral, and agile models. For each model, the key steps or phases are described along with strengths and weaknesses. When each model is most applicable is also discussed. The document then covers quality assurance planning and activities that should be included like defect tracking, testing at various levels, and technical reviews.
The document discusses different software development life cycle models, including traditional waterfall models, prototyping models, agile models like XP and Scrum, and process modeling approaches. Traditional models like waterfall are document-driven and plan-heavy, while agile models emphasize rapid iteration, customer feedback, and working software over documentation. There is no single best model, as each project requires a customized approach. Process modeling can help define a project workflow but cannot account for all real-world aspects of software development.
The document discusses the ISO 29119 standard for software testing. It provides an overview of the standard and its key parts, including test processes (Part 2), test documentation (Part 3), and test techniques (Part 4). The standard aims to define a set of testing concepts, processes, and documentation that can be applied internationally. It covers topics like requirements-based testing, model-based testing, test documentation hierarchies, and mapping quality characteristics to test types and designs. The document also briefly discusses complementary standards like TMMi for improving testing processes and practices.
The document discusses software configuration management (SCM) and its core components of identify, control, audit, and report. It describes how SCM focuses on managing changes through identifying configuration items, controlling changes, auditing baselines, and reporting items. The key practices of SCM are then defined, including planning, version control, change control, build management, release management, problem management, and reporting.
Very preliminar intro to MDE for software developer communities and other kind of software practitioners. Contains material from several recognized sources.
Analysing the concept of quality in model-driven engineering literature: a sy...Fáber D. Giraldo
This document summarizes a systematic review of literature on the concept of quality in model-driven engineering. The review aimed to analyze definitions of quality, how quality relates to model-driven engineering principles, and whether current methods can assess quality across multiple modeling languages. The review found that there is no agreed-upon definition of quality and few methods consider model-driven engineering features or sets of languages. Overall, the assessment of quality across modeling languages remains an open research question.
The document discusses project planning in software engineering. It defines project planning and its importance. It describes the project manager's responsibilities which include project planning, reporting, risk management, and people management. It discusses challenges in software project planning. The RUP process for project planning is then outlined which involves creating artifacts like the business case and software development plan. Risk management is also a key part of project planning.
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...Fáber D. Giraldo
This document summarizes a doctoral research proposal on evaluating the quality of modeling languages used together in model-driven engineering (MDE) environments. The research aims to address problems with selecting languages for MDE projects and evaluating their suitability as a set. The researcher has conducted an initial review of quality frameworks and developed a first version of a conceptual framework. The proposed outcome is an "ontological quality evaluation framework" to assess language sets for their ability to be incorporated and adopted in MDE based on core concepts from information systems development and MDE.
The document introduces the SEMAT Initiative, which aims to establish a common ground and kernel for software engineering. It discusses the motivation for SEMAT, which is to address immature practices, lack of theoretical basis, huge number of methods, and split between industry and academia. SEMAT defines essential elements called "alphas" that represent things needed to monitor progress, as well as activity spaces that represent essential things that must be done. It also defines competencies needed without specifying skills. The kernel provides a framework for teams to understand their progress, assemble practices, and improve communication. The document explains how SEMAT can be used in planning iterations and aligns with other processes without competing with existing methods.
The document discusses software process models and methodologies, specifically the Personal Software Process (PSP) and Team Software Process (TSP) developed by the Software Engineering Institute (SEI). It provides an overview of how PSP teaches individuals to establish measurable and repeatable development processes to improve performance. Engineers learn the PSP over 7 levels, gathering and analyzing data from small programming assignments to establish performance baselines and drive process improvements. The PSP aims to develop individual discipline and skills needed for successful team development using TSP.
The document provides an overview of the Agile movement and methodologies. It discusses that Agile aims to be more responsive to customer needs than traditional methods through iterative development, collaboration, and adaptation. It summarizes key aspects of various Agile methods including extreme programming (XP), Scrum, Agile modeling (AM), and how CMMI and Agile frameworks can work together to improve processes. The document serves as an introduction to core Agile principles and practices for software development.
The document discusses key concepts and best practices for code inspections, including using meaningful variable names, writing self-documenting code, treating constants as parameters, improving layout and readability, and following coding standards. It emphasizes that the goal of code inspections and analysis is to make code maintenance easier by ensuring the code is understandable and unambiguous. It also suggests considering tools that integrate with development environments to support automated code inspections and analysis.
Workflows adaptations for security management through MDD and Aspects Fáber D. Giraldo
This document proposes integrating security access control policies into legacy business processes using model-driven development and aspect-oriented software development principles. It applies an existing process modeling method called ADORE to define security constraints as reusable fragments. These fragments implement the RBAC model and XACML standard to provide role-based access control. The approach is demonstrated on a case study of a car crash crisis management system, defining security policy fragments that are composed with existing process models. Visualization techniques are also proposed to manage the complexity introduced by the additional security fragments.
Continuous integration (CI) is a software development practice where members of a team integrate their work frequently, which can be multiple times per day. Each integration is verified by automated builds and tests to quickly detect errors. CI aims to improve quality and reduce time to deliver software. It replaces traditional quality control after development is complete. Tools like Jenkins can automate builds, tests, and deployments to help teams implement CI and evolve it into continuous delivery of software.
This document discusses design patterns, including their definitions, categories, and strengths/weaknesses. It provides definitions of design patterns from various sources, noting they are reusable solutions to common problems in software design. Patterns are grouped into creational, structural, and behavioral categories based on their focus. Advantages include promoting reuse and providing documentation, while weaknesses include a lack of systematic application guidance. The document also discusses pattern languages and repositories, as well as specialized patterns in different domains.
This document provides an overview of software testing concepts and best practices. It defines key terms like errors, defects, and failures. It describes different testing approaches like black box and white box testing. It also outlines different testing levels from unit to system testing. The document emphasizes that testing aims to find defects, but it's impossible to test all possibilities. It stresses the importance of test planning, test cases, defect reports, and regression testing with new versions.
This document discusses software configuration management (SCM). It provides definitions of SCM from sources like IEEE standards and the SWEBOK. SCM is defined as the process of managing changes to software projects through their lifecycle. Key aspects of SCM discussed include configuration items, versions and variants, baselines, change requests, SCM tools, and the unified change management process.
Software quality is defined as the degree to which a system meets specified requirements and customer expectations. It should be predictable, measurable during development and after release, apparent to customers, and continue during maintenance. Implementing standards increases quality, reduces costs and improves manageability. Metrics and measures provide quantitative evaluations of reliability and quality to make objective decisions. Quality assurance activities like verification and validation evaluate the development process and ensure requirements are met.
El documento describe diferentes estándares y modelos para la medición de métricas de software, incluyendo ISO 9126, ISO 14598, ISO 15504, ISO 15939, ISO 25010, SQM y GQM. SQM se basa en definir atributos de calidad para luego medirlos, mientras que GQM relaciona las mediciones con los objetivos del proyecto a través de tres niveles: conceptual, operativo y cuantitativo.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Introduction to RUP & SPEM
1. RUP & SPEM
Modelos de Procesos y
Metodologías de Ingeniería de
software
Mayo de 2014
Universidad de Caldas
Facultad de Ingenierías
Maestría en Ingeniería Computacional
3. Content
IBM Rational Unified Process
Process Framework Theory
Tayloring
Some Model-Driven Theory
SPEM & UMA Metamodels
Eclipse Process Framework
4. Sources
•Gerard O’Regan, Introduction to Software Process
Improvement, Springer 2011. ISBN 978-0-85729-171-4
•Ahmad K. Shuja and Jochen Krebs. IBM Rational Unified
Process Reference and Certification Guide: Solution Designer.
IBM Press 2008. ISBN 9780131562929
•Per Kroll and Philippe Kruchten. Rational Unified Process Made
Easy- A Practitioner’s Guide to RUP. IBM Academic Intitiative.
•IBM Software Group. PRJ270: Essentials of Rational Unified
Process. 2003
•IBM Software Group. Basic Method Authoring with IBM Rational
Method Composer V7.5. IBM, 2009
5. Before…
What do you listened about RUP?
•It’s so difficult
•It’s misunderstood
•It’s rigorous
•It’s imposible to apply all
•It’s not suitable for small companies
•It’s old
•It’s for Rational Tools exclusively
6. Before…
What do you listened about RUP?
•It’s horrible
•It cannot be adapted
•There are so many artifacts
•It’s confusing
•…
•Among others
7. But…
Source: Estudio de la caracterización de productos y servicios de
la industria de software y servicios asociados 2012 Fedesoft
8. Rational Unified Process - RUP
(Classical definition from common SE books)
“It is a visual modelling language for software
systems and provides a means of specifying,
constructing, and documenting the object-
oriented system. This facilitates the
understanding of the architecture and
complexity of the system”
9. Rational Unified Process - RUP
(Sommerville – cool!! )
“The RUP is a phased model that identifies four
discrete phases in the software process.
However, unlike the waterfall model where
phases are equated with process activities, the
phases in the RUP are more closely related to
business rather than technical concerns.”
10. Taking into account…
• UML: 1997
• RUP: 1999
Rumbaugh, J., et al.: The Unified Software
Development Process. Addison Wesley
(1999)
11. Rational Unified Process - RUP
• RUP is a process framework
for successful iterative-
incremental software
development.
• It’s a very important
knowledge source for modern
Software Engineering
12. Rational Unified Process - RUP
• A software development approach that is
iterative, architecture-centric and use-case
driven
• A well-defined and structured software
engineering process
• A process product providing a customizable
process framework
14. RUP vs the others (II)
• RUP as a traditional SW Process?
• Note that the up-front goals modeling
component may not be directly associated
with any given software development
methodology but is there to ensure
alignment between new software
products or releases and the business
strategy.
• One key of RUP is its strong business
alignement
15. Three central elements of RUP
• Key principles for business-driven
development
• A framework of reusable method content
and process building blocks
• The underlying method and process
definition language
16. RUP as Process Framework
• A process framework can be defined as an incomplete
support structure in which another process can be
organized and developed. Therefore, you need to finish
a process framework before you can apply it to
specific projects within an organization
• The RUP framework is defined by a family of method plug-
ins from which, based on the unique business needs as
well as the context (technical and management
complexity), organizations are able to create their own
method configurations and tailored processes.
• RUP provides an architectural foundation and wealth of
material from which a process definition can be
constructed, therefore enabling the adopting organization
to configure and extend that foundation as desired.
17. RUP ABC
• Adapt the process.
• Balance stakeholder priorities.
• Collaborate across teams.
• Demonstrate value iteratively.
• Elevate the level of abstraction.
• Focus continuously on quality
18. Develop only what is necessary
– Lean process, agility
Minimize paperwork
Be flexible
– Requirements, plan, usage of people,
etc…
Learn from earlier mistakes
– Feedback loops
– Process improvement
Revisit risks regularly
Establish objective, measurable criteria for
progress
Automate
– Support process with software
development tools
•Develop Iteratively
•Manage
Requirements
•Use Component
Architectures
•Model Visually (UML)
•Continuously Verify
Quality
•Manage Change
RUP Best Practices & Key Principles
19. The Spirit of RUP
1. Attack major risks early and continuously…
or they attack you
2. Ensure that you deliver value to your customer
3. Have a maniacal focus on working software
4. Accommodate change early in the project
5. Baseline an executable architecture early on
6. Build your system with components
7. Work closely together as one team
8. Make quality a way of life, not an afterthought
22. • The RUP provides an iterative and incremental
approach to developing software.
• This iterative and incremental development
happens within iterations that occur within a
structured lifecycle consisting of phases and
milestones.
• The RUP has four sequential phases: Inception,
Elaboration, Construction, and Transition.
• Each of them plays a central role in managing
iterative and incremental development projects
using RUP.
• Each phase concludes with a major milestone
Phases and Milestones
23. • Phases are made up of iterations, and both phases
and iterations are important concepts to grasp for
building a concrete understanding of the RUP
• According to the RUP, a discipline is a collection of
related activities that are related to a major area
of concern.
• Based on which phase you are in, each iteration
contains activities from across different disciplines.
• Iterations are designed and executed with
certain goals in mind. Depending upon which
phase the iteration belongs to, the iteration
goals are aligned to accomplish the respective
milestone.
Phases and Milestones
24. Inception: Know What to Build
Prepare vision document and initial business case
– Include risk assessment and resource estimate
Develop high-level project requirements
– Initial use-case and domain models (10-20%
complete)
Manage project scope
– Reduce risk by identifying all key requirements
– Acknowledge that requirements will change
Manage change, use iterative process
•Inception •Elaboration •Construction •Transition
25. Inception: Know What to Build
The following are the primary Inception phase objectives:
To establish the project’s scope and boundary conditions
To identify the critical use cases of the system
To exhibit and demonstrate one candidate architecture
To estimate the overall cost and schedule for the project
To produce detailed estimates for the Elaboration phase
To estimate the potential risks
To prepare the support environment for the project
The Lifecycle Objectives milestone concludes the Inception
phase. At that point, a major decision is made on whether to
proceed with the project or cancel it
•Inception •Elaboration •Construction •Transition
26. Detail requirements as necessary (~80% complete)
– Less essential requirements may not be fleshed out
Produce an executable and stable architecture
– Define, implement and test interfaces of major components
– Identify dependencies on external components and systems.
Integrate shells/proxies of them.
– Some key components will be partially implemented
– Roughly 10% of code is implemented.
Drive architecture with key use cases
– 20% of use cases drive 80% of the architecture
– Design, implement and test key scenarios for use cases
•Inception •Elaboration •Construction •Transition
Elaboration: Know How to Build It
27. Verify architectural qualities
– Reliability: Stress test
– Scalability and Performance: Load test
Continuously assess business case, risk profile and
development plan
•Inception •Elaboration •Construction •Transition
Elaboration: Know How to Build It
28. The Elaboration phase objectives are as follows:
To stabilize the architecture, requirements, and respective plans
To sufficiently mitigate risks to predictably determine project cost and schedule
To address all architecturally significant risks
To establish a baselined architecture
To produce an evolutionary prototype of production-quality components
Optionally, to produce throw-away prototypes to mitigate specific risks such as
design trade-offs, component reuse, and product feasibility
To demonstrate that the baselined architecture will support the requirements of the
system at a reasonable cost and in a reasonable time
To establish a supportive environment
The Lifecycle Architecture milestone concludes the Elaboration phase,
establishing a managed baseline for the architecture of the system and enabling
the project team to scale during the Construction phase.
Elaboration: Know How to Build It
•Inception •Elaboration •Construction •Transition
29. Complete requirements and design model
Design, implement and test each component
– Prototype system and involve end users
– Incrementally evolve executable architecture to
complete system
Build daily or weekly with automated build process
Test each build
– Automate regression testing
– Load and stress test to ensure architectural integrity
Deliver fully functional software (beta release)
– Includes training material, user and deployment documentation
Produce release descriptions
Construction: Build The Product
•Inception •Elaboration •Construction •Transition
30. Construction phase objectives can be briefly summarized as follows:
To minimize development costs through optimization of resource utilization by
avoiding unnecessary scrap and rework and by achieving a degree of parallelism
in the work of development teams
To achieve adequate quality as rapidly as is practical
To achieve useful executable versions (alpha, beta, and so on) as rapidly as
practical
To complete the analysis, design, development, and testing of all required
functionality
To iteratively and incrementally develop a complete product that is ready to
transition to its user community
To decide if the software, the sites, and the users are ready for the deployment of
the solution.
The Construction phase concludes with the Initial Operational Capability
milestone, which determines whether the product is ready to be deployed into a
beta-test environment.
Construction: Build The Product
•Inception •Elaboration •Construction •Transition
31. Produce incremental ‘bug-fix’ releases
Update user manuals and deployment documentation
Update release descriptions
Execute cut-over
Conduct “post-mortem” project analysis
Transition: Deploy to End Users
•Inception •Elaboration •Construction •Transition
32. Following are the primary objectives of the Transition phase:
To validate the new system against user expectations (by beta testing)
To train the end users and maintainers
If applicable, to roll out the product to marketing, distribution, and sales teams
To fine-tune the product by engaging in bug-fixing and creating performance and
usability enhancements
To conclude the assessment of the deployment baseline against the complete
vision and the acceptance criteria for the product
To achieve user self-supportability
To achieve stakeholder concurrence that deployment baselines are complete and
are consistent with the evaluation criteria of the vision.
The Product Release milestone concludes this phase. A decision is made
whether the objectives of the project were met.
Transition: Deploy to End Users
•Inception •Elaboration •Construction •Transition
33. Iterative Development Phases
•Inception
•Time
•Elaboration •Construction •Transition
•Major Milestones
Inception: Understand what to build
– Vision, high-level requirements, business case
– Not detailed requirements
Elaboration: Understand how to build it
– Baseline architecture, most requirements detailed
– Not detailed design
Construction: Build the product
– Working product, system test complete
Transition: Validate solution
– Stakeholder acceptance
34. • In RUP, a discipline is defined as a
categorization of activities based on similarity of
concerns and cooperation of work effort.
• A discipline is a collection of activities that are
related to a major area of concern (or “a field of
study”) within the overall project.
• In RUP, an activity is a process element that
supports the nesting and logical grouping of
related process elements, such as a descriptor
and subactivities, thus forming breakdown
structures.
RUP Disciplines
35. • In the RUP, a discipline refers to a specific area of
concern (or a field of study, as mentioned earlier)
within software engineering.
• In addition, disciplines in RUP allow you to
govern the activities you perform within that
discipline.
• A discipline in RUP gives you all the guidance you
require to learn not only when to perform a
given activity but also how to perform it.
Therefore, disciplines in RUP allow you to bring
closely related activities under control.
RUP Disciplines (II)
36. The benefits provided by separating the RUP activities
into various disciplines are summarized as follows:
• Makes the activities easier to comprehend.
• Proves useful when customizing a given discipline
to meet the specific needs of the project or when
defining a set of organizational standard processes.
• Enables different roles to better and more effectively
appreciate their responsibilities (in terms of the
tasks/activities that they are responsible for) on a
given project.
• Allows Project Managers to more effectively monitor
and control these activities.
RUP Disciplines (III)
37. • A discipline in RUP is a collection of activities that are related to a
major area of concern or field of study.
• Each activity is further decomposed into subactivities or one or
many tasks.
• Tasks require an input artifact or artifacts for their successful
execution, and these in turn produce or refine some form of output
artifact(s).
• Note that these artifacts can include both document-based artifacts
and executables. Each task has an associated role (or roles)
responsible for performing that task.
• To provide additional support and guidance, each discipline in the
base RUP offers a set of standard template artifacts related to that
discipline.
• These artifacts, as well as the process, can be (and should be)
customized/tailored for a given project or organization
ORACLES
38. A Structured Process: Role, Artifact,
Activity
•Distribute Behavior•Find Design
•Classes
•Designer
•Use Case Realization
•Role •Activities
•Artifact •responsible for
39. Guidelines, Templates, Tool Mentors, …
•Distribute Behavior•Find Design
•Classes
•Designer
•Use Case Realization •Use Case Template
•Rose Tool Mentor•Design Guideline
•Role •Activities
•Artifact •responsible for
40. • RUP models the when as workflows, and each discipline in
RUP has a workflow. Like other workflows, a discipline’s workflow
is a semi-ordered sequence of activities performed by specific roles
to achieve a particular goal.
• This semi-ordered nature of discipline workflows emphasizes that
they cannot present the nuances of scheduling “real work,”
because they cannot depict the optionality of activities or iterative
nature of real projects.
• These workflows are part of RUP Framework, so, these constitutes
guidance on a rich set of software engineering principles.
• It is applicable to projects of different size and complexity, as well
as to different development environments and domains. This
means that no single project or organization will benefit from using
all of RUP.
• It is important to understand that the sequence of activities in
each of the workflows is based on best practices
Workflows
42. According with Project Management Institute (PMI)
• The project’s work breakdown structure (WBS)
provides the relationship among all the components
of the project and the project deliverables.
• WBS is a deliverable-oriented hierarchical
decomposition of the work to be executed by the
project team to accomplish the project objectives
and create the required deliverables.
• It organizes and defines the total scope of the
project. Each descending level represents an
increasingly detailed definition of the project work.
Workflow Breakdown Structure
43. • RUP adopts a slightly different view of WBS.
Discipline WBS in RUP represents the activities-
oriented hierarchical decomposition of the project
effort specific to the respective discipline.
• Each descending level represents an increasingly
detailed definition of the project work.
• In the RUP, the WBS provides mostly four
descending level of details.
• These levels include Discipline, Activity, Sub-
Activity/Task, and Step.
Workflow Breakdown Structure
44. • Activity is a process element that supports the
nesting and logical grouping of related process
elements such as descriptor and subactivities, thus
forming breakdown structures.
• Task is a unit of work that a role may be asked to
perform.
• Step is a content element used to organize tasks
into parts or subunits of work.
• Note that it is at the Task level that RUP
associates the roles and the artifacts produced,
modified, or used.
Workflow Breakdown Structure
47. RUP is Use-Case Driven Development
A use case describes complete and meaningful services that your
system offers to users and other systems
Use cases drive the work through each iteration
– Planning of iterations
– Creation and validation of the architecture
– Definition of test cases and procedures
– Design of user interfaces and creation of user documentation
•Use-Case Model
•Analysis & Design Model
•Implementation Model
•Test Model
•Requirements
•realized by
•implemented by
•verified by
•Analysis & Design
•Implementation
•Test
48. RUP is Use-Case Driven Development
•Problem
•Solution
Space
•Problem
Space
•Needs
•Features
•Software
•Requirements
•Test Scripts
•Design •User
Docs
•The
Product
to Be
Built
53. • Applying all of RUP will likely result in an
inefficient project environment, where teams will
struggle to keep focused on the important tasks and
struggle to find the right set of information.
• It is recommended that RUP be tailored to provide
an appropriate and customized process for
developing software.
• As an important component of tailoring the RUP
framework, these workflows should be customized to
suit project or organizational needs. This
customization might require redefining some of these
sequences
Tayloring
54. Factors that influence the configuring and tailoring of
RUP:
• Project complexity
• Organizational maturity
• Organization culture
• Regulatory compliance and policy requirements
• Development type
• Organization size
Tayloring (II)
55. Approaches for Adopting RUP
•Alternative 1: Use it as a knowledgebase
•Non-intrusive with minimal effort and risk
•No different than training, books, and magazines
•Alternative 2: Focused implementation aiming at fast
results
•Focused and incremental adoption with training and
mentoring aiming at changing behavior - takes time and
effort
•Focus on critical areas first, it is not an all or nothing
•Use mentors / consultants to accelerate results
•Adopting RUP is a continuum between alternative 1
and 2
Tayloring (III)
56. Common Mistakes Adopting RUP
• Not coupling process improvement with business
results
• Adopting too much of what is in RUP
• Customizing too much of RUP too early
• See
https://wiki.aston.ac.uk/foswiki/pub/DanCornford/Fin
alYearProjectResources/RUP_Guide.pdf and
www.x-tier.com/public/RUPUPIn10EasySteps.doc
for guides of RUP adoption
Tayloring (IV)
57. Now, process tayloring, process specification and
process adaptation can be done by the power of
model driven initiatives and tools for process
edition (Eclipse Process Framework and IBM
Rational Process Composer).
58. • In November 2000 the OMG proposed a new
approach to interoperability named MDA™ (Model-
Driven Architecture). MDA is one example of the
broader Model Driven Engineering (MDE) vision,
encompassing many popular current research
trends related to generative and transformational
techniques in software engineering, system
engineering, or data engineering.
• Considering models as first class entities and
any software artifact as a model or as a model
element is one of the basic principles of MDE.
Model-driven
Source: Bézivin, J. (2006). Model Driven Engineering: An Emerging Technical Space. Generative and
Transformational Techniques in Software Engineering. R. Lämmel, J. Saraiva and J. Visser, Springer Berlin /
Heidelberg. 4143: 36-64.
59. • The OMG MDA initial proposal may be defined as
the realization of MDE principles around a set of
OMG standards like MOF, XMI, OCL, UML, CWM,
and SPEM.
Model-driven (II)
Source: Bézivin, J. (2006). Model Driven Engineering: An Emerging Technical Space. Generative and
Transformational Techniques in Software Engineering. R. Lämmel, J. Saraiva and J. Visser, Springer Berlin /
Heidelberg. 4143: 36-64.
60. • The IBM manifesto makes the claim that MDA-based approaches
are founded on three ideas: Direct representation, Automation
and Standards.
• Direct representation allows a more direct coupling of problems to
solutions with the help of Domains Specific Languages (DSLs).
• Automations means that the facets represented in these DSLs are
intended to be processed by computer-based tools to bridge
the semantic gap between domain concepts and
implementation technologies and not only for mere
documentation.
• This should be complemented by the use of open standards that
will allow technical solutions to interoperate
Model-driven (III)
Source: Bézivin, J. (2006). Model Driven Engineering: An Emerging Technical Space. Generative and
Transformational Techniques in Software Engineering. R. Lämmel, J. Saraiva and J. Visser, Springer Berlin /
Heidelberg. 4143: 36-64.
61. Model-driven (IV)
Source: Bézivin, J. (2006). Model Driven Engineering: An Emerging Technical Space. Generative and
Transformational Techniques in Software Engineering. R. Lämmel, J. Saraiva and J. Visser, Springer Berlin /
Heidelberg. 4143: 36-64.
•http://www.omg.org/mda/
62. Relations between MD* Acronyms
Source: Jordi Cabot. Clarifying concepts: MBE vs MDE vs MDD vs MDA. Available in http://modeling-
languages.com/clarifying-concepts-mbe-vs-mde-vs-mdd-vs-mda/
63. MDA Consequences
•From:
http://www.omg.org/mof/
•Key: The MetaObject Facility
(MOF) Specification is the
foundation of OMG's
industry-standard
environment where models
can be exported from one
application, imported into
another, transported across
a network, stored in a
repository and then
retrieved, rendered into
different formats (including
XMI, OMG's XML-based
standard format for model
transmission and storage),
transformed, and used to
generate application code
65. MDA Consequences (II)
Source: http://www.jot.fm/issues/issue_2006_11/article4/
Note: XMI means XML Metadata Interchange
66. Source: Bézivin, J. and I. Kurtev Model-based Technology Integration with the Technical
Space Concept.
Key: the Technical spaces concept
metametamodel level
metamodel level
model level
Real life level
MDA
67. MDA & Software Process?
cd Logical Model
M3
M2
M1
M0
MetaObject Facility (MOF)
Software Process Engineering
Metamodel (SPEM) as a UML Profile
Template complete MOF-based
Metamodel M3
A defined process (RUP) from the
template M2
A specific customized implementation of
M1
Modeling Level
3: MetaObject
Facility
Modeling Level
2: Process
Metamodel
Modeling Level
1: Process Model
Modeling Level
0: Performing
process
Source: https://wiki.aston.ac.uk/foswiki/pub/DanCornford/FinalYearProjectResources/RUP_Guide.pdf
68. MOF
MDA & Software Process?
metametamodel level
metamodel level
model level
Real life level
SPEM
RUP SCRUM XP
Taylored Process
69. • A Metamodel is the construction of a collection of
"concepts" (things, terms, etc.) within a certain
domain.
• A model is an abstraction of phenomena in the real
world;
• A metamodel is yet another abstraction, highlighting
properties of the model itself.
• A model conforms to its metamodel in the way that
a computer program conforms to the grammar of
the programming language in which it is written.
Metamodel (from Wikipedia)
http://en.wikipedia.org/wiki/Metamodeling
70. • The Software and Systems Process Engineering
Meta-model (SPEM) is a process engineering
meta-model as well as conceptual framework, which
can provide the necessary concepts for modeling,
documenting, presenting, managing,
interchanging, and enacting development
methods and processes.
• An implementation of this meta-model would be
targeted at process engineers, project leads, project
and program managers who are responsible for
maintaining and implementing processes for their
development organizations or individual projects.
SPEM Metamodel
71. SPEM’s Advantages
•To provide a standardized representation and
managed libraries of reusable method content
•To support systematic development, management,
and growth of development processes
•To support deployment of just the method content
and process needed by defining configurations of
processes and method content
•To support the enactment of a process for
development projects
72. SPEM Introduction (I)
• Throughout the software industry there are a lot
of great ideas and knowledge available about
how to effectively develop software.
• Nowadays, development teams need and have
access to a wide range of information. Not only
do they need to acquire detailed information
about specific development technologies such as
Java, Java EE, Eclipse, SOA technologies, .NET,
as well as various development and tool
environments
73. SPEM Introduction (II)
They also need to figure out how to organize
their work along modern development best
practices such as agile, iterative, architecture-
centric, risk- and quality-driven software
development.
74. SPEM Introduction (III)
•Some problems development organizations
face when they leave their developers to find
such information for themselves are
• Team members will not have centralized and
easy access to the same body of information
when they need it, i.e., different developers
might rely on different sources and versions of
the same information
75. SPEM Introduction (IV)
•It’s difficult to combine and integrate content
and development processes that are made
available in their own proprietary format, as
every book and publication presents method
content and process using a different
representation and presentation style
•It’s hard to define an organized and
systematic development approach that is
right-sized to their needs, i.e., addresses their
specific culture, standardized practices, and
compliance requirements.
83. The SPEM 2.0 UML 2 Profile stereotypes defined in the
Process Structure package
84. The SPEM 2.0 UML 2 Profile stereotypes defined in the
Method Content package
85. The SPEM 2.0 UML 2 Profile stereotypes defined in the
Process Structure package
86. The SPEM 2.0 UML 2 Profile stereotypes defined in the
Process with Methods package
87. UMA (Unified Method Architecture)
•UMA is an architecture to conceive, specify, and
store method and process metadata.
•UMA clearly separates Method Content definitions
from their application in delivery processes. It does
this by defining the reusable core Method Content
in the form of general content descriptions and the
project-specific applications in the form of process
descriptions.
•A unified method architecture (UMA) meta-model
provides a language for describing method content
and processes.
89. Method Content and Process
are Separated
method = method content + process
Method content is the
description of work that can
be reused as key building
blocks. Method content
describes tasks, roles, work
products, guidelines, and so
on, that are involved in
completing work.
Processes are the order of
doing work. They provide the
order for the method content.
Processes will differ
depending on project type,
size, or other characteristics.
A Method provides both the
descriptions of work and the
order of work. A method is
end-to-end, and is usable on
a project. An example of a
method is the RUP
methodology.
90. Types of Method Content and Process
Process
Applies method content for assembly of
many different executable processes
Specific to the scale or context of project
(for example, develop from scratch versus
maintain existing system, or formal and high
ceremony versus agile and self-organizing)
Described with Breakdown Structures that
refer to Method Content elements
Two types of processes
Delivery Process: end-to-end
Capability Pattern: reusable
fragments (for example, the
Inception iteration, shown in the
image).
Method Content
Describes key reusable building blocks:
Roles, Work Products, Tasks, and
Guidance
Provides step-by-step guidelines by
which specific goals are approached
Provides general development
techniques
and practices, described independent of
lifecycle. For example, “Analyze Use
Case Behavior”, "Develop component
model“, and so on.
93. Content Elements
Role
• A role is defined as a set of related skills, competencies,
and responsibilities. The people or tools in the roles
perform tasks and produce work products. For some tasks
and work products, those in the roles are directly
responsible for performing the tasks and producing the
work products. For other tasks and work products, those in
the roles simply participate in accomplishing what’s
needed.
94. Content Elements
• Work Product
• Work products are produced, consumed, or
modified while a task is performed. Only one
designated role is responsible for each work
product.
95. Content Elements – Work
Product
Artifacts
• Artifacts are tangible and can be nested in other
artifacts. For example, a software development
plan is an artifact that contains the risk-list artifact
among others
96. Content Elements – Work
Product
Outcome
• An outcome is commonly intangible and not
reused, which could be a state or result. For
example, an outcome could be improved
performance or a competed tool installation
97. Content Elements – Work
Product
Deliverable
• A deliverable is intended to be value provided to
stakeholders internally or externally. A deliverable
consists of the other two work products: artifacts
and outcomes. Deliverables are intended to
package content from other work products to be
consumed, for example, by stakeholders.
98. Content Elements
Task
• A task is an action performed by roles, associated
with input and output (work products), and driven
by a goal. An example of a goal might be to
develop vision. The task describes the work to
be performed and commonly an optional set of
steps.
99. Content Elements
Task
• Tasks usually last between a few hours and a few
days and affect only a small number of work
products. Because of their granularity, tasks are
often repeated in iterations and are often too small
for planning purposes.
100. Content Elements
Step
• A step represents the most granular unit of work to be
performed. It has a name and a textual description. Steps
are useful for breaking down tasks into more granular
elements. They define tasks in greater detail and can
separate various aspects of the task. Even though steps
are typically conceptualized as being sequential, as part of
UMA, they are treated as optional and can be executed in
any order that works to complete the task. As a general
rule of thumb, steps may call upon the performing role to
think, perform, or review
101. Content Elements
Guidance
• The Guidance add more details to a certain
element in a particular situation. The type of
guidance determines the content of the element.
There is no limit on how many guidance elements
you can attach to other elements. You can also
associate one guidance element with another.
102. Content Elements - Guidance
Checklist
• A checklist allows you to specify a set of statements
that can be used to check the completion of a set of
activities but can also be attached to work products.
This guidance is especially useful for reviews and
status checks.
Concept
• A concept guidance provides more context to key
ideas used in the referenced element. For example,
a concept for discipline might describe the basic
principles, motivations, and advantages of grouping
elements by disciplines.
103. Content Elements - Guidance
Tool Mentor
• Tool mentors provide the technical and conceptual
details to the user concerning how to apply the tools
to the situation outlined in the process.
Whitepaper
• This guidance element connects externally published
papers to the process, providing a larger scope on
the same concepts, different perspectives, and
opinions. Whitepapers are commonly written and
published independently and appear isolated from
the process. Therefore, you can often add and
remove them without consequence.
104. Content Elements - Guidance
Guideline
• A guideline element supplies more in-depth
information about the referenced element, such as
how to execute steps or complete work products.
Guidelines are particularly useful for new users who
need more assistance to complete their work.
• Guidance is a generic name for all kinds of
optional elements attached to process or content
elements. A guideline is a specific instance or
example of it.
105. Content Elements - Guidance
Template
• Template guidance elements provide a predefined structure to
a work product. They are helpful for creating consistency in a
project through the use of similar work products.
Term Definition
• This guidance element defines and describes common
concepts and puts them in a glossary. The individual terms
can then be used in other content element descriptions to
provide guidance similar to an encyclopedia. The glossary is
automatically generated when the process is published and
term definitions are not attached to other content elements
like the rest of the guidance elements...
106. Content Elements - Guidance
Roadmap
• Roadmap guidance elements are associated with
activities to guide the user through a complex
process, providing a start-to-finish scenario
Supporting Material
• Any required guidance elements that do not fit the
definition of any of the other guidance elements can
be described as supporting material. No specific
intent is outlined other than the general purpose of
providing a kind of guidance that can not be specified
elsewhere.
107. Content Elements - Guidance
Examples
• Examples show a practical application of a work product or
task. For instance, a project plan template becomes more
descriptive when a real example of the artifact is
demonstrated. Examples provide a hands-on application of
other content elements.
Report
• Report guidance elements describe the standards for
predefined forms and layouts of information. They are often
used in combination with tool automation when the structure
and content of the generated report requires specification.
The report guidance also describes the information extracted
from work products.
108. Content Elements - Guidance
Estimation Consideration
• Each estimation consideration guidance offers additional
information about a specific estimation technique. It provides
sample situations in which the technique can be applied.
Estimation consideration guidance elements usually reference
other elements that require cost, schedule, or work-effort
estimation
Practice
• Practice guidance elements describe positive, proven
strategies that are applied in various situations. For example,
the practice of iterative development impacts many tasks,
work products, and roles and contributes to the overall
success of the project
109. Content Elements - Guidance
Reusable Asset
• Assets are useful elements that provide value and
quality. If a solution provides value in various
situations in a certain context, it can be treated as a
reusable asset. A reusable asset might be, for
example, a design pattern that can then be directly
linked to a tool of choice (such as IBM Rational
Software Architect)
111. Content Elements – Categories
Discipline
• Discipline categories aid in allocating certain content
elements (that is, tasks, capability patterns, and
guidance) to a certain area of concern.
Domain
• This category groups content elements based on
resources, timing, or relationship. Compared to
disciplines, domains can be broken down even
further, into subdomains, creating a domain
hierarchy. Even though domains often group content
elements from the same discipline, such groupings
are not limited to intradiscipline content.
112. Content Elements - Categories
Role Set
• Even though both roles are grouped into different
domains and disciplines, the roles are associated
with management. You can use the role set to
categorize these roles and group them as managers.
Tool Category
• In the tool category, tool mentors are usually bundled
together as a unit to provide one view of all the tool
mentors used.
113. Process Elements
•Process elements organize content elements
into activities and lifecycles and give the
content a sequential structure. These
elements help answer questions about when
content elements occur, either sequentially or
in parallel.
114. The advantage of separating the
process elements from the
content elements is that process
engineers can assemble
processes from existing content
elements based on the needs of a
particular project
115. Process Elements
Activities
• Method content (specifically tasks) is bundled into
activities, which group a unit of work. In contrast to
tasks, activities are not considered method
content because they are work breakdown
elements. Activities might contain other
activities.
Iteration
• The iteration process element allows process
engineers to group activities that are planned to be
repeated more than once. Iterations represent a
special form of activity.
116. Process Elements
Phase
• A phase element groups process elements into a
significant period in a project. Phases are often
related to different views or project perspectives.
They are a variation of an activity concept.
117. Process Elements
Capability Pattern
• Capability patterns are incomplete process fragments that can
contain activities and milestones. Grouping common process
elements into capability patterns enables process engineers
to reuse these process fragments and compose delivery
processes from them.
Delivery Process
• The intent of a delivery process is to publish and deploy what
is grouped so the user can eventually consume it. Delivery
processes are end-to-end project lifecycles assembled from a
set of activities, phases, iterations, capability patterns, and
milestones.
118. Process Elements
Milestone
• Milestones are decision points. They might follow an
activity, capability pattern, phase, or iteration to verify
a certain situation followed by a decision. Milestones
are often associated with metrics that compare a
plan with the actual result.
Process Package
• For organizational purposes, process packages
group process elements into folders.
119. Process Diagrams
Workflow Diagram
• is a tailored version of the UML activity diagram,
• can contain a start and end point, decision nodes, links,
activities, synchronization bars, task descriptors phases, and
milestones.
• The workflow diagram provides a high-level overview of the
activities and their sequence.
• The guards allow branching in certain situations, whereas the
synchronization bars demonstrate which activities are
performed in parallel.
• The user can drill down into each activity to retrieve an activity
detail diagram to get further details on the activity.
121. Process Diagrams
Activity Detail Diagram
• Gives a visual overview of the task descriptors within
an activity, the responsible role descriptors
associated with the task descriptors, and the input
and output work product descriptor.
• A descriptor is basically a reference object inside a
process that represents the occurrence of a method
content element, such as a task or work product
inside an activity. It has its own relationships and
documentation that defines the difference between
the default implementation and this particular
occurrence of the element in the process.
123. Process Diagrams
Work-Product Dependency Diagram
•The work-product dependency diagram
illustrates the relationships and dependencies
among various work products.
125. Now
IBM proposes the Rational Process Library, The industry’s
most robust collection of practices guidance
•Governance
•Governance
•Governance
•Governance•Governance
Customizable Process Library
Rational
Unified
Process
Process Design & Management
IBM
Practices
CMMI
GDD
SOA
Gov
ITUP
Tooling
Author
Manage
Re-use
Configure
Tailor
Publish
Reporting
Deploy
Estimate
Over 100 practices and processes
to leverage & customize…
IBM Rational Method
Composer v7.5
Agile Core
Governance and
Compliance
Quality Management
Requirements
Management
Change & Release
Management
Architecture Management
IBM Practices in key
solution areas