{"id":12180,"date":"2016-04-10T10:33:52","date_gmt":"2016-04-10T07:33:52","guid":{"rendered":"https:\/\/mozaicworks.com\/?p=8923"},"modified":"2023-09-15T14:55:14","modified_gmt":"2023-09-15T11:55:14","slug":"agility-implies-craftsmanship","status":"publish","type":"post","link":"https:\/\/mozaicworks.com\/blog\/agility-implies-craftsmanship","title":{"rendered":"Agility implies Craft"},"content":{"rendered":"\n
This article was published first in Today Software Magazine, no 16.<\/a> Below it\u2019s the full version. <\/em>The authors are Alexandru Bolboaca<\/a> and Adrian Bolboaca.<\/a><\/em><\/p>\n\n\n\n In 2001, a group of people unpleased about the state of software development gathered in a mountain ski resort from Utah. One thing leading to another, they started discussing about the industrial methods applied at the time for managing programmers and about the so-called lightweight methods many of them used informally. The result of this meeting, as you probably know, was The Agile Manifesto.<\/p>\n\n\n\n The conversations about The Agile Manifesto focus usually on the content. But, what can we say about the authors?<\/p>\n\n\n\n The Authors of The Agile Manifesto <\/i><\/b><\/p>\n\n\n\n These are just a few of the names from the list of the authors. What we can observe is that each one of them had a solid base in programming, as well on very complex projects.<\/p>\n\n\n\n Scrum and Extreme Programming <\/i><\/b><\/p>\n\n\n\n Today agile is often considered a synonym of Scrum, being the most spread agile method. And this for a good reason: Scrum can improve the productivity of a team in a fundamental way. But if we were to compare Scrum with Extreme Programming, we will see something interesting.<\/p>\n\n\n\n The way to work in Scrum and XP is very similar. The roles and structure of a sprint are better defined in Scrum than XP. But the major difference between them consists of the fact tha XP required a set of technical practices, from collective code ownership, continuous integration, coding standards to pair programming, refactoring, TDD and simple design. The reason is simple and correct: Scrum wanted to combine the set of agile practices that can be applied to any type of knowledge work. This is why Scrum lets for the team to decide the practices they will use in order to deliver quality software during each sprint.<\/p>\n\n\n\n As Ken Schwaber said at the OpenAgile 2009 Bucharest Conference, “Scrum has its bases on craft”, may it be in software, marketing or creating a radio show. The set of technical practices changes depending on the type of work.<\/p>\n\n\n\n Why You Need Technical Practices <\/i><\/b><\/p>\n\n\n\n The companies that choose to adopt Scrum pass through a couple of stages. First of all the team is created. Then the plan and the current status are made visible. A few of things can happen from now on:<\/p>\n\n\n\n Here is how agility implies applying some practices like:<\/p>\n\n\n\n Even more, agility implies that all the members of a team, may they be testers, programmers, designers, business analysts continuously learn new methods to work better together, with respect to the impediments they meet. This thing implies either planning learning sessions during a spring or learning inside communities of practice.<\/p>\n\n\n\n Agility implies Craft\u00a0<\/i><\/b><\/p>\n\n\n\n This is software craft: the combination between the practices that help in a pragmatical way to bring faster and more efficiently business value and continuous personal development inside a community of people having the same values. Agility implies craft, because there is no other way.<\/p>\n\n\n\n Do not understand from here that the Scrum approach is wrong. Quite the opposite, it allows an incremental adoption of technical practices that are helpful in a given context. A situation where you need to release once every 6 months because the customers do not want more releases (typical examples being hospitals or banks) is very different from the situation when you need to 15 releases per day like the web applications for consumers often need.<\/p>\n\n\n\n The selection of technical practices depends fundamentally on wanted level of agility. Those that started on this road can find themselves or they can ask for help from an expert in order to learn faster.<\/p>\n\n\n\n Conclusion <\/i><\/b><\/p>\n\n\n\n In conclusion, the technical practices have been forever part of agile. Scrum eliminated them from the model, not because they are not useful, but because it wanted to be more generic and because it is based on the team to select the ones that make sense in the given context. But agility is impossible to reach without a set of technical practices on which one can add organization and finally business agility.<\/p>\n\n\n\n\n
\n
\n