Using the anniversary - just in August, 10 years ago was published
[1] The Agile Manifesto once again, now in the summer lull, I propose to load myself with a little Agile for the future (when the deadlines go, there will be no time for that).
Namely, see and read the reports from the AgileDays-2011 conference held in Moscow. Further, there will be a small explanation of why these materials are interesting, watchable and readable, as well as an annotated thematic classification of reports, with links to materials - videos, slides, reviews, etc.
1 Why is this interesting?
Although the topic is no longer new, now you can just celebrate the anniversary - Agile Manifesto hit a dozen, “promotion to the masses” is still ongoing. And if earlier the struggle was on the front of corporate development, in the style of “Agile vs. Some Waterfall Unified Process "and there he carried more likely to get rid of unnecessary regulations and senseless labor, now he has reached the widest masses (website development, start-ups).
')
And here, competing with the “methodologies” of “Bardak and Chaos”, “Code & Fix (?)”, And instead of deliverance brings some strange rituals, very similar to the management cargo cult, which meets, let's say, a very skeptical reception from developers . Here and
children's teasers , and even "anti-manifesto" (
[1] ,
[2] ). It is fashionable to even accuse Agile of an epic Nokia Fail.
Personally, I think that in development, development is constantly going on (see, for example, “
Cultures of software projects ”), user needs are growing in a race with the technical capabilities of developers, inside development, especially depending on the type of project, the importance of roles and specializations is changing: “developers”, “Managers”, “testers”, “analysts”, “usability” and “sales”. And we must understand how to balance all this. And I already got an old rhetorical button accordion, that “there is no silver bullet” among the development methodologies. Of course not! There are a lot of interesting, effective practices in the development, analysis and organization, there is reflection, when, where and how it works. And all this happens under the label “Agile”, probably because it is easier to unite under the obvious values ​​of the
Agile Manifesto , than under the certification of some
Process Management Institute .
And precisely because everything is dynamic and heterogeneous, the “cabinet path” - “reading N books”, is not very effective. It is easier to learn very simple rules and terminology of the most common Agile processes - SCRUM and Kanban, it will take a few hours, and then look at what real, non-inventive problems other developers have and how they solve them. And instead of reading a book that a “combat” developer or PM is unlikely to write (most likely it will be a western coach in a belated and curved translation), watch and listen to the fresh experience of teams of different types, understand that “it’s not for us to work will be ", and" it is necessary here and now, otherwise these fellow competitors will tear us ".
At Moscow
AgileDays-2011 gathered real, practicing managers and developers. And the reports were both on the “humanitarian” topic of management and other process organization, and on the technical topics of effective design, development and testing.
Of course, it is also useful to communicate personally, but now the summer lull after the past
AgileCamp ,
Agile Base Camp , and you can slowly, combining with a passive rest to watch and reflect on the video from the reports.
Next, I will say a few words why our video is worthy of viewing, and then I will offer a thematic classification.
2 Why is this video necessary or at least you can watch?
It’s no secret that three years ago they waited for video recordings from any IT conference, hoping to “visit remotely” while watching the video. Recently, however, conference videos are often showered with tomatoes (here's an
example ).
Indeed, a muddy picture laid out on the web (on some low-resolution video hosting service) is in no way capable of transmitting the video part of a speech, unless it consists of monosyllabic two-color slogans. The latter is often OK for “humanitarian” reports (“management”, “motivation”, “communication”), but something non-trivial — code, schemes, models, screencasts and videos — cannot be transmitted.
And in general, the idea that the operator controls your attention on videotapes is deeply flawed, came from cinema-television, where they learn to constantly change plans with a popcorn audience: “speaker's close-up,” “speaker from afar”, “stage interior”, “Close-up hall”, “girl operator”, and sometimes, occasionally, deign to remove the screen.
But then it’s not a series, not a relaxer - on the contrary, you need an active perception, only the viewer himself decides whether he needs to “eat” the scheme on the screen, listening to the speaker, or everything is clear on the scheme, and it’s time to follow for the gesticulation of the author explaining nontrivial moments. Of course, sometimes it is advised to find slides and try to flip through them in parallel, but this is stressful and there are a lot of things unimaginable through slides - live demos, live coding.
Adds suffering and unprocessed sound, especially if you have to listen to those who spoke without a microphone. The human ear is very sensitive, and quickly adapts to any volume - from rumble to a whisper, but microphones cannot do this, and when you have to listen, constantly adjusting the volume - so that you can hear the speaker and questions from the floor without a microphone.
In the mind, you need to record and screen, and the speaker (well, or a debating participant from the audience), and sound, and process it all, clear noise (dynamic compression of sound), reduce, and synchronously mount to get truly valuable "canned food".
Such a video, you can be happy to watch, get the effect of presence, and even more!
After all, the beholder has authority over the video:
- You can repeat the incomprehensible
- Squander trivial
- Speed ​​up or slow down performance. For example, in VLC, by pressing the “]” key a couple of times, even the most boring and stuttering speaker will start burning like Steve Ballmer (yes, I looked at many reports at the “150%” speed). Conversely, you can slow down (in VLC this is “[”) and disassemble an incomprehensible point.
- You can carefully consider the screen or vice versa, concentrate on the expressive, much explanatory, gestures of the speaker.
- In such a record, even slide show presentations that are not readable even from the third row, or presentations on a black background, which were made by the proud man who decided to be like Steve Jobs (it is impossible to watch them in the darkened hall) are impossible to watch.
But such an installation is not a trivial, usually manual work, and when professionals take it, they take a lot of it. And that, as a rule, is not very good. So, during AgileDays-2011, we attended to this issue and learned how to do it relatively quickly and efficiently. High-resolution web videos (1280 Ă— 720), where there is always a screen with precision up to a peekel, a presenter or a hall, depending on the activity of the latter, a marker board, if the presenter was still trying to draw something on it.
So, if you are interested in the topic of the report, it is highly likely that you will not have a look at it. The video is also published in the web version, in order to watch the beginning, to get acquainted, and even to watch it to the end (only it is impossible to speed it up :(), and there are links to download original video files to watch actively, with rewind or acceleration.
Of the minuses, it must be admitted that the work of videographers was not always successful - the fact is that we decided to shoot a video shortly before the conference began, and our employees were operators after a half-hour training the day before the conference. It turned out such Agile-cross-functionality, not perfect, but on time and cheap!
And besides the video, additional materials are also published,
- as from the speakers themselves: annotations, slides,
- and very important thing - reviews from the audience.
So you have the opportunity in a minute, looking at the annotation, and reviews from the other side of the barricades, to understand what to expect from the report, and in general, whether to look at it.
And finally - for each author of the report, a link is given to his profile in the IT professional network, i.e. If you are interested, in a couple of clicks you can:
- See "who are all these people", can you trust their opinion.
- Contact the author, ask questions, thank, or express disagreement.
3 Report Topics
Since the conference has already passed, the grid program no longer has any value, and readers are interested in a brief guide, classifying speeches with a very brief review, in order to immediately see if it makes sense to dig further - read the abstract, review, watch or download the video.
Such a somewhat subjective guidebook, I will offer below. Almost
[2] All reports are classified, plus brief, in a twitter-style abstract. By the way, I made up my impressions about the reports only by watching the video, because at the conference itself I was so loaded with organizational questions that I was not on almost any report.
3.1 Getting Started
In this block, I collected introductory training reports, however, the level was not quite childish, so even if you heard about Agile / Lean / TOC, it would be quite useful to watch.
- “ For those who are in the tank - what is Agile ” was conceived as a quick educational program for new people in Agile, and as an alternative to the opening report by Henrik Kniberga. The program committee thought that those who are “in the subject line” will necessarily go to the “guru”, and the rest should be “introduced to the subject”. However, unexpectedly, a full room filled the people with a report, of which “not in the subject line” was the whole person, three, so the educational program turned out to be quite deep, not ashamed to see, even if you are a practitioner. Can you recommend to those whom you would like to be interested in Agile-values ​​- new employees, old managers and young HR-sham ...
- “ Lean Software Development ” and “ Applying Lean Principles across the Enterprise ” are best viewed as a block, and in this sequence is an introduction to the new-fashioned [3] production culture of " lean production ", in application to the development of software. In a certain sense, Agile is a special case of implementing a more global LEAN approach, with which you can aim at such tasks as reforming and optimizing the entire company (and not just introducing Agile in one of the divisions).
- “The flexible theory of constraints ” is an overview story about the “ Theory of Constraints ”, another management philosophy, in a sense complementary to LEAN.
3.2 Managerial
3.2.1 Process
- “ What does“ Done! ”Mean - use the practice of Definition of Done ? - why should DoD be? Because only due to such rigid elements it is possible to build flexible processes. Without the introduction of the binary state of tasks, it is meaningless to consider any metrics (“100 tasks are ready for 99%”), to evaluate, predict and correct something. "If you do not have a DoD, then you have anything, but not a SCRUM." What DoD should be, how to formulate it for tasks of different levels, where to store, etc.
- “ Retrospectives. We set up our development process ”- retrospectives are one of the oldest and most effective methods for improving any process, they are not only in programming, but also in production, and even in the army (“ retrospective after a fight ”). But how to make them interesting and effective so that they do not turn into a “tick event” and vice versa so that active criticism does not lead to the collapse of the team, which, apart from simple facts, can be fixed (can emotions?), How can this not be lost data. By the way, all this can be interesting not only in connection with Agile, but also to those who are interested in brainstorming practices.
- “ I'm going on the instruments! Practical tips on visualization of work ”- by name and annotation, something appears about visualized metrics, but the report is a bit more general. The fact that there is an important problem of a common understanding (process, expected result, time), and usually everyone gives advice on speeding up communication (“you need to communicate more”), at the same time, the correct visualization will make everything (process, artifacts, requirements) transparent and it will be much more effective.
- “ Lean Startup is a systematic approach to the development of new products ”, a little confusing to the name, because when I say the word “Lean”, for example, I immediately see a slow and methodical optimization of a huge moss-covered company. There is also a conversation about the priorities of values ​​in startups, for example, that startups do not need to save on trifles, drive the ideal code and worry about technical / organizational scaling, but look for potential buyers. And in general, a report on sales and promotion.
3.2.2 Evaluations and Planning
Although in Agile all approaches to planning are made as simple and reliable as possible (as a rule, “greedy algorithms”, prioritization of tasks, etc.), the difficulties remain. After all, you need to plan at different levels (bugs, tasks, story, marketing features, release, etc.) and different consumers (developers, marketers, customers, users). But planning is impossible without assessments, and although not everyone believes in the “You Can't Manage What You Don't Measure” mantra, there are also discussed reliable metrics that can be obtained cheaply and without “side effects” on the object being measured.
- “ Three-tier planning in Agile ” - planning experience at the “quarter → Release → Sprint” levels and the fight against tekhnodolgami and changing requirements.
- “ Agile fixed cost is real! »- what to do when the most inconvenient for Agile-development case: the customer who is willing to pay only a fixed price and for a certain amount. Unfortunately, nothing magical, basically, how to insure yourself against risks, how to document it (“change request only for some big money”), etc.
- " Preliminary assessment and planning of Agile projects " - A look at the Agile experienced oldschool manager, a lot of diverse personal experience on large and long-lived projects (not only planning and evaluation). Everything is under the motto “It’s better to get on the adult rake twice than once on the children’s one” (this is about the Agile & FixedPrice case, developing the theme “ Fixed-cost Agile is real! ”).
- “ Agile Distribution Risk Score - plan distribution consciously ” - “distribution” is another well-known disadvantage for Agile development (for anyone, but especially for Agile). But how awkward is that? Does it make sense to "send to the aid" of the distributed team another "one detachment", or will it finally drop the efficiency? It offers an empirically developed formula in dozens of projects.
- “ Release Planning in Rapid Development Methodologies ” is the insider experience of release management from such large companies as Amazon and Microsoft.
3.2.3 Motivation
The work in the “I am the boss, you are a fool” bastard style ”in Agile, where delegation and self-organization is maximized, is impossible, therefore, it is very important: motivation, leadership, and the selection of the right people.
- “ Everyone likes change, but nobody likes to be changed ” - Report (in English, without translation!) About making changes from the guru-agile. The importance of personal leadership in making changes, how to determine the true goal and choose specific steps leading to it.
- “The culture of leadership in Agile ” is leadership, as a new type of management, in place of the usual hierarchical-directive. The manager should be a charismatic leader and a patient teacher, and even "responsible for those who tamed" - after all, even delegation does not relieve responsibility!
- “ Still, programmers are kids! “- Integration (according to Adizes) and People Management are very similar to raising children, and modern (specifically advanced!) Views on child development provide the key to understanding and effective team management. “Freedom and Mentoring” instead of “Nanny that corrupts a team.”
- “ In search of a flexible developer ” - The right choice is an alternative to the torment in bringing up an effective team player. What qualities do you want from candidates, which is really important and cannot be repaired after purchase? And how to organize this input "culling"?
3.2.4 Experience
Positive and negative experience of different companies and projects.
- “ Elemental Agile in the corporate environment ” - as it is inside the Embarcader (by the way, they are Delphi mainteners). A little messy, "about everything", a bunch of different cases.
- "The principles of Lean and the development of an outsourcing company " - they have a happy situation, so many new projects that they have to optimize their launch and overclocking. Marya Ivanovna, all your problems ...
- “ Extreme agile - everyone dances ” - “SCRUM chaos”! All involved in product development, including marketers, analysts, usabilityists, in one team! Moreover, in one room! All 18 people! The product (SAAS-accounting) is very interesting.
- "The legacy of Captain Flint - the difficulties and mistakes of Scrum implementation on the example of the company Promedici " - here, that very example of negative experience, not to say that Agile, like dolphins [4] , save all drowning. Immediately, everything was started long ago, and the introduction of SCRUM turned out to be euthanasia. "A terrible end is better than horror without end."
- “ Kanban vs Scrum - whose Kung Fu is Stronger ” - If SCRUM is too hard for you and overloaded with rituals, then it is better not to castrate it to death, complexing from the fact that you are “not a real SCRUM”, but go directly to a full-fledged Kanban ( three rules!).
- “ Jam session ” - free discussion of the topics “Introduction of TDD”, “Agile and state customer”, “Electronic scrum-board”, “Long boring Daily Scrum team of 18 people” (guess who ^ ^ _ ^).
Separately, I highlight as many as three reports on SCRUM in Luxoft:
3.3 Technical
Now about the technical reports. In my opinion, they are mainly focused on the so-called "corporate development", with bold databases, rashyasistoy "business logic", driving money, goods, and in general everything that was not hidden, and thousands of molds, which are bound to doomed business users. However, there were reports from the gaming industry and even from embedded applications.
3.3.1 Architecture
- “ Architecture in Agile - rethinking the idea of ​​modularity and component (Andrey Bibichev, AgileDays-2011) ” - The best technical report of the conference, the quintessence of two decades of experience from the coolest of my familiar developers. In essence, what should be the correct OOP.
- “ The system model is the architecture for Agile development (Maxim Tsepkov, AgileDays-2011) ” - The successful experience of the so-called “model-oriented” system engineering, when instead of the business logic spread in the code, the current model of the subject area and the mechanisms for its implementation are clearly distinguished. Here, for the accounting domain, it was possible to come up with a compact and complete model, represented in special diagrams (“chart of accounts”). It is directly designed and modified over time together with the customer, and a special interpreter of this model (“accounting machine”) guarantees inerrancy.
- “ Domain Driven Design in the Development of Distributed Applications (Nikolai Grebnev, AgileDays-2011) ”. Domain Driven Design is just one of the areas of “model-oriented development” that is popular among corporate .NET developers. However, with this approach to the development of distributed applications, a lot of difficulties arise, and this report was about that.
- “ Everything is in your hands - to be ready for changes in database systems (Andrey Sovtsov, AgileDays-2011) ” - The manufacturer of tools for working with relational DBMS recalls that since ancient times, the skeleton of information systems (as well as the architecture and model) were relational databases, and that the right work tools (ER / studio, DB Aristan, Performing center, DB optimizer, Change manager) will greatly facilitate the development of your information system.
- “ The engineering decision making model is the key to answering technical questions (Evgeny Krivosheev, AgileDays-2011) ” - “What is good and what is bad in design, analytics and documentation”. Initially, the report was even called defiantly simple - “42,” hinting that this is the final answer to all these questions.
3.3.2 Development
- “ In pursuit of quality. Code Review (AgileDays-2011) ”- Incendiary show, something between a pair of entertainers (“ Hello Bim! Hello Bom! ”) And a sermon among infidels from two well-known evangelists of the practice of extreme programming.
- “ Continuous integration in database development (Vladimir Bakhov, AgileDays-2011) ” - Rather not about Continuous Integration , but about a set of practices for conducting, testing, and deploying relational DBMS.
- “ Practice of“ Extreme Programming ”in an offshore project (Sergey Andrzheevsky, AgileDays-2011) ” is a good story about eXtreme Programming based on your experience. For SCRUM / Kanban things are very common, at least in your personal life, at least in construction, and XP are just programmer practices. And even if not to apply, then at least to know about them is necessary.
- “ Templates“ Asynchronous Filter ”and“ HasValue ”in the development of desktop applications (Oleg Klinchaev, AgileDays-2011) ” - How to unleash the cunning logic of data-overloaded “business forms”? About this approach additional abstractions "HasValue" from the developers of GWT. And how to make these forms
comfortable , well, at least not hanging? Asynchrony! Working examples are shown live.
3.3.3 Testing
- “ Testing of firmware: an alternative to the classic TDD (Dmitry Ovechkin, AgileDays-2011) ” - in development for devices, if there is no simulator and before launching each binary, you need to reinstall the assembly on a small flash memory - there is no place for classic unit tests. But the device (as opposed to a complex GUI), has clear interfaces, and using them you can write a bunch of cheap and flexible scripted automated tests.
- “ Why I don’t like cucumbers and fitness - the pros and cons of BDD and ATDD (Alexey Barantsev, AgileDays-2011) ” - Attack to the Fitnesse and Cucumber tools, which seem to make life easier for testers (and fire many of them), but in practice as a “guinea pig” - does not make life easier for customer analysts, and does not replace testers. Not only the report is interesting, but a heated discussion afterwards - there were many actively dissenting people in the hall who had successful experience in using these tools.
- “ As a service department not to become a bottleneck (Yulya Nechaeva, AgileDays-2011) ” - Agile-accepted that testers are inside teams, and individual “testing department” or “documentation department” are classic antipatterns, “how to create a deadlock from scratch "(No one in the hall, for example, this was not). Well, what about those who still have it? ("... We ourselves know that she has no solution," said Junta, immediately bristling. "We want to know how to solve it. ©").Useful practices - how to test before development, how to beat the weaknesses of developers, to wrap assemblies with bugs back as quickly as possible, etc. And by the way, only at a non-tester conference one can hear the truth from the tester that “testing is not self-sufficient”.
3.4 Blitz reports
I will single out the blitz reports. For those who are used to the shortness of YouTube-videos, 8-10 minute reports, which can be viewed in one breath.- “ Poisson burning of the deadlines (Andrey Bibichev, AgileDays-2011) ” - Best (IMHO) blitz report. Why is everyone wrong in the estimates? Why do scores need to be multiplied by PI? Strict mathematics will prove that you are not guilty of disrupting the deadlines! (Close to Black Swan, for those in the know).
- « Agile. ( , AgileDays-2011) » — « , … Agile, , … Agile Lean…». , «» «RUP/CMMI 5 /SixSigma»,
, - - . - « Agile — ( , AgileDays-2011) » — « SCRUM — !»© , , , — . → … → → -15, +→, +, .
- « . ( , AgileDays-2011) » — - , epic fail, . — « », , customer satisfaction .
- « Agile ( , AgileDays-2011) » — , — . (« »), , «»: , .
- « ? Agile ! ( , AgileDays-2011) » — , Agile :
«CMMI»- , — , . , «Agile-» , (« - ..»), . - « DISC Agile ( , AgileDays-2011) » — Yet Another ( MBTI/-///...) DISC- , , ( …), , , - — . , SCRUM-.
- ↑ 2001 , Software Development Magazine
- ↑ Video was not preserved from several reports; I could not watch them and therefore did not include them in this classification. But they can be found in the category , see slides or reviews.
- ↑ Newly fashioned of course with us. In the world it is already a classic.
- ↑ Obviously, only those they push towards the coast tell about “rescuing dolphins”