Product Lifecycles
- 1. From Lust to Dust: A Product’s Life Cycle And the Roles that Make it All Worth It Jorge Boria
- 2. Our Purpose Tonight Answer the questions: What is Quality? How can quality be achieved? Is there more than development and maintenance? Does it matter who does what?
- 6. Subjectivity in Quality Quality is not an attribute of a product it is an attribute of the relationship between a product and the person that perceives that quality it can be good or bad it can be measured for a set of people a population segment under certain hypothesis of uniformity of criteria if quality would be objective there would be no competing products
- 8. Evolution of Quality For a new product, ‘quality’ might be novelty As the product ages, ‘quality’ turns into availability and dependability Even later in the product’s life, support can be ‘quality’
- 9. The Underlying Premise The quality of a product is preeminently influenced by the quality of the processes used to develop, acquire, and maintain it. you should already have the best available you should already have the best available PROCESS PEOPLE TECHNOLOGY
- 10. How to Produce From the previous: there should be no one-size fits all process processes should take into consideration the stage of development focus on processes to drive innovation are expensive and counterproductive in the late stages of a project too much focus on engineering and documentation can stifle creativity in the initial steps
- 13. 1: Pre-conceptual Stage Influences are already in place External conditions technology market needs Internal conditions skills cultural drives personal competencies of individuals, managers and line personnel
- 14. 2: Research and Development Light in product requirements Large in customer needs Exploratory Time bounded Agility is preferred over sound engineering ‘good enough’, proof of concept, prototype
- 15. 3: Initial Engineering Performed through a project Preferred firm product requirements Guided process Quality goals, time constrained Sound engineering is preferred over agility, still… Everyone expects the newcomer, no one is sure what it will look like, many expectations surround it, and it almost sure that it is going to keep us sleepless for many weeks after it arrives!
- 17. Change Adoption And Time Time Early Adopters 13.5% Early Majority 34% Late Majority 34% Laggards 16% Innovators 2.5% The Chasm
- 18. 4: Deployment Stage What is produced not always what is needed what they say, what they want, what they need; the requirements guessing game The product does not stand on its own Babbles when it wants to speak Has to be cleaned every few hours Expect Visionaries to Adopt
- 19. 5: Early Adoption Stage The inception stage, many things go wrong but are overlooked they will be soon solved Versions act up destroy your expectations need urgent corrective measures. Inception is a lot like adolescence.
- 20. 6: Institutionalization Users learn to trust it it is institutionalized into common use it has achieved maturity and reliability most changes are enhancements not difficult to implement adjustments to environmental changes
- 21. 7 Decay The product ages Many changes over long periods New technological developments The product is progressively less reliable harder and harder to maintain cannot be adjusted to the new technology people tend to work around it, instead of through it
- 22. A Pictorial View of The Life Cycle tentative use inception institutionalization decay childhood adolescence maturity old age CUSTOMER NEEDS CHANGE REQUESTS birth PROJECT ENGINEERING engineering of version 1.0 deployment new release new release new release new release new product quick fixes controlled changes INSTALLATION AND SUPPORT RESEARCH conception product TIME engineering of version 1.5 engineering of version 2.0 engineering of version 2.1 engineering of version n.57 engineering of version 1.0 of new product …
- 23. Development The process of producing new features for a product. it could be considered an addition to an existing product in iterative development, it is the way of the land
- 24. Maintenance The application to an existing product of Additions extensions to the product. Fixes changes done to the product to eliminate its defects. Adjustments changes done to the product to accommodate external changes Migrations induced by changes in the underlying technology platform.
- 25. Support and Maintenance Good practice: during support only do (quick) fixes create engineering projects for additions, adjustments, large clusters of fixes, migrations, Treat these activities as part of the normal development cycle for new versions.
- 26. Development and Maintenance From the above, development and maintenance do not define whether you are in Engineering or Support. you could conceivably do either in both CUSTOMER NEEDS CHANGE REQUESTS PROJECT ENGINEERING quick fixes controlled changes INSTALLATION AND SUPPORT
- 27. Controlled Changes If a customer requests a change, it can be rejected be postponed be introduced immediately as a quick fix be added to the next release as a feature be introduced immediately AND added to the next release as a feature the team has to carefully merge changes in the current version with their work
- 30. Roles in Engineering and Support Research and Exploration focus on innovation Engineering focus on quality and costs Quick Fixes immediate response
- 31. Comparing Roles Customer Loyalty Product Version Set of Inspirational Ideas, Prototype Outcome Patch’n’go Sequential or Spiral Evolutionary, Iterative Working Paradigm Variable Fixed Sunken Costs Very Lax Strict Lax Control Reaction Time Discipline Individual exploration Ruling Principles Problem Patcher (on-the-fly fixes) Problem Solver (applied creativity) Creative (a solution in search of a problem) Personnel Characteristics Customer Satisfaction Quality and Personal Pride Spontaneity and Inspiration Guiding Force IMPLEMENTATION AND SUPPORT ENGINEERING RESEARCH AND EXPLORATION FEATURE ROLE
- 32. Kano’s Model of Customer Satisfaction Satisfied Customer Unsatisfied Customer Satisfied Requirement Unsatisfied Requirement Obligatory requirements implicit self evident not expressed obvious Linear Requirements expressed specific measurable technical Attractive requirements not expressed tailored to the customer cause delight cost of entry commodity differentiators
- 33. Without Creativity (R&E) Your product is not valuable Your cost of entry is very high You are stuck with faster – cheaper – better You better have LOTS of quality
- 34. Without Engineering Your product will have many defects Your support costs will go up these are variable costs! they depend on the number of customers, not just the defects Your competitiveness will erode quickly You will probably stumble with the chasm
- 35. Final Conclusion If you want to control maintenance and support costs, the only variable costs in all three modes Focus on the engineering role: focus on quality increments fixed costs lowers variable costs of the support role Counter intuitively, focusing on quality will raise productivity, it eliminates costly rework.
- 36. Bad Software Engineering Focus on Delivery Date Low Quality Rework Late Delivery Vicious Cycle ©2007-2009 . worse practices bad practices defects
- 37. Good Software Engineering Focus on Quality Good Quality Little Rework Timely Delivery Virtuous Cycle ©2007-2009 . best practices good products better practices
Editor's Notes
- This model, used by many, and discussed recently by Geoffrey Moore, shows an adoption curve that is a member of the “normal curve family.” The early and late majority generally fall within one standard deviation of the mean, with early adopters and laggards at two standard deviations, and a population of innovators at about 3 standard deviations. Appealing to different groups requires different tactics and timing. Innovators – ready to try anything; use them for concept exploration Early adopters –tolerant of change and revisions; use them for pilots and champions Early majority – practical people; want to see evidence this is useful; get them the results of the pilots and management support Late majority – they want to wait until the change is an established standard, management push and rewards may be necessary Laggards – want nothing to do with the new approach; will avoid as long as they can; don’t focus here The chasms shown here is one of two pointed out by Moore. There is also a smaller chasm between the early and late majority, reflecting the different approach to these two groups. However, the one between early adopters and early majority is more significant – those to the left are able to handle revolutionary change, while those to the right need evolutionary change.
- Role 1: Research and Exploration Ideas that end up in a product are often initially created by a group that is guided by spontaneity and inspiration [Olso93]. This group works best following an evolutionary model, that is, building bits and pieces and tying them together into a less than completely coherent work product, often called a “proof of concept.” The emphasis of such a group lies in innovation. Exploration (of new technologies and ways to apply it) and redoing are encouraged. Control is lax, although these groups usually work under a fixed budget. Whatever they turn out is usually well received. The goals are set in long term visions. The costs incurred in research are sunken costs to the company, that is, they are incurred without immediate accountability. Role 2: Engineering The economic viability of a software product lies in its quality and in its development costs. If quality is low, the product is not viable (see role 3 for an explanation.) If the development costs are too high, there might not be enough market to compensate these costs. When people work in this role they should be less concerned about innovation and more about quality. This role is best managed through a well defined process model, in which a requirements-gathering phase precedes the design phase, that in turn precedes the implementation phase. (Although this so-called “waterfall model” is strictly sequential, it is seldom the case that the developers “run” the activities in such clear-cut order. They usually go back and forth from requirements to design. They might even move forward to implement a little, then back to gathering requirements. However, the nature of each activity and where each belongs in a documentation scheme should be kept clear at all times.) Exploration is discouraged and rework is considered a necessary evil. Control is strict, and budgetary constraints are strongly tied to project management. Goals are now midterm, counted in the order of months, not years. The costs of activities performed in this role are fixed, but not sunken. A product is expected as an outcome, and the costs of the product are indirectly (as we shall see when we look at Role 3) dependent on the expenses of the phase. Role 3: Quick Fixes Under this role, only urgent patches are tackled. Larger fixes and enhancements are then rewoven into the fabric of the product through newer versions developed in an iteration of role 2 (version n, n>1.0). In role 3, the process changes to “fix and ship,” the emphasis at this time residing in immediate response. Exploration and redoing are now punished, because otherwise control is even less attainable. The lack of control tied to this role is linked to the fact that the costs for the role are a function of the quality of the product. Products with poor quality are harder to maintain and enhance, incrementing the costs of repair. This is truly bad, since now these costs are variable costs, a function of both the number of problems found during operation and the number of corresponding calls received.