3. Dealing Effec;vely with So.ware Following are a set of personal opinions and understandings about so.ware development and so.ware engineering profession. The purpose of this presenta;on is just sharing those not convincing you or changing your mind. DISCLAIMER
out “what” and “how” • To improve the System • To release func;onality incrementally • To gradually add parts to the System when “what” and “how” are known From Jeff PaPon : hPp://www.agileproductdesign.com/blog/dont_know_what_i_want.html ITERATIVE INCREMENTAL
crea;on (itera;ve + incremental) System “Specs” Architecture So#ware System Emergence is the key characteris;c of complex systems. Idea Need Problem Inten;onal Emergent
detail What How What How What How User System Component What How What How What How Domain Team Individuals MulCple Levels of IteraCmental Cycles MulCple Disciplines
Delivering “Working” So.ware – Measure of Progress = Working So.ware • Each Cycle Embraces the Change naturally Inten;on Working So.ware IT1 IT2 Feedback Team Cycles or Sprints (1-‐4 weeks) Value Driven Synthesis • New Features • Changes • Enhancements Adapt IT3 • New Features • Changes • Enhancements Feedback Adapt Feedback Adapt Incremental + Itera;ve Development Cycles = IteraCmental Cycles Individuals Cycles (minutes, hours, day)
Leffingwell Fixed Scope Time Resources Time Scope Plan Driven Value Driven The Plan creates cost/ schedule es1mates feature intent & commitment to deliver the max value Resources Fixed EsCmated IntenConal & Max Possible
Domain Experts Ux Designers Business Analysts Product Managers Developers Testers System Engineers Deployment Engineers Architects Human Factors Users Foster Open Communica;ons and Collabora;ons
is caused by the problem to be solved, and nothing can remove it. Represents the difficulty inherent in any problem. Accidental complexity grows from the things we feel we must build to mi;gate essen;al complexity. Relates to problems that we create on our own and which can be fixed. *By Neal Ford in “97 things every architect should know”.
so.ware by doing it and helping others do it. Through this work we have come to value: Individuals and interacCons over processes and tools Working so#ware over comprehensive documenta;on Customer collaboraCon over contract nego;a;on Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the le. more hPp://agilemanifesto.org/
we are raising the bar of professional so.ware development by prac;cing it and helping others learn the cra.. Through this work we have come to value: That is, in pursuit of the items on the le. we have found the items on the right to be indispensable. Not only working so.ware, but also well-‐cra#ed so#ware Not only responding to change, but also steadily adding value Not only individuals and interac;ons, but also a community of professionals Not only customer collabora;on, but also producCve partnerships hPp://manifesto.so.warecra.smanship.org/