background preloader

Good Agile, Bad Agile

Good Agile, Bad Agile
When I was growing up, cholesterol used to be bad for you. It was easy to remember. Fat, bad. Cholesterol bad. Salt, bad. Everything, bad. Up until maybe a year ago, I had a pretty one-dimensional view of so-called "Agile" programming, namely that it's an idiotic fad-diet of a marketing scam making the rounds as yet another technological virus implanting itself in naive programmers who've never read "No Silver Bullet", the kinds of programmers who buy extended warranties and self-help books and believe their bosses genuinely care about them as people, the kinds of programmers who attend conferences to make friends and who don't know how to avoid eye contact with leaflet-waving fanatics in airports and who believe writing shit on index cards will suddenly make software development easier. You know. But I've had a lot of opportunity to observe various flavors of Agile-ism in action lately, and I now think I was only about 90% right. No, just kidding. The Bad Kind Yeah. The Good Kind

http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html

Scrumming It "Making games is hard." - Microsoft XNA Product Unit Manager Boyd Multerer It's true: making games hard. When it comes to finding an effective management paradigm, the game industry is still young. Agile software development Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing,[1] cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.[2] Agile itself has never defined any specific methods to achieve this, but many have grown up as a result and have been recognized as being 'Agile'. The Manifesto for Agile Software Development,[3] also known as the Agile Manifesto, was first proclaimed in 2001, after "agile methodology" was originally introduced in the late 1980s and early 1990s. The manifesto came out of the DSDM Consortium in 1994, although its roots go back to the mid 1980s at DuPont and texts by James Martin[4] and James Kerr et al.[5] History[edit] Incremental software development methods trace back to 1957.[6] In 1974, E.

Scrum (development) Scrum is an iterative and incremental agile software development framework for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal", challenges assumptions of the "traditional, sequential approach" to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project. A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want and need (often called "requirements churn"), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. Later, Schwaber with others founded the Scrum Alliance and created the Certified Scrum Master programs and its derivatives.

Project Management Made Easy : D. Keith Robinson A few months ago I had an epiphany of sorts. I realized that I was pretty good at managing projects. Most of the projects that I manage come in on-time, on- or under-budget and with relatively few problems. More importantly the projects I manage usually leave everyone involved happy and feeling like they’d accomplished something. Now, don’t get me wrong, I’ve been managing projects for years and it’s not always been like that. I used to really hate managing projects, probably because I didn’t really know how and I made project management into something much more complicated than it is.

Plan of Action While I regularly change all other retrospective exercises, the action planning technique I’ve been using for the past two years has worked so well that I don’t want to change it. That has not always been the case. Action planning in my earlier retrospective often had some problems. Some of the action items were just good intentions without enough concrete details to make them actionable. The top 9+7 things every programmer or architect should know I recently finished 97 Things every programmer should know. Well to be completely honest I did skim over a couple of the 97, but all and all this was a very nice compilation of thoughts and topics about software development from very experienced authors. Well worth a read. Object Technology Jeff Sutherland: Agile Performance Reviews MEMO – June 1996 (updated Mar 1997 for IDX RISD, Feb 2000 for PatientKeeper, Nov 2006 for Scrum ) To: All Development Staff From: Jeff Sutherland VP Engineering, Individual SVP Engineering and CTO, IDX Systems CTO, PatientKeeper CEO, Scrum Inc. Chairman, Scrum Training Institute Subject: Performance Reviews

Agile Software Development: 10 Key Principles of Agile Software Development Agile is one of the big buzzwords of the IT development industry. But exactly what agile development? Put simply, agile development is a different way of managing IT development teams and projects. The use of the word agile in this context derives from the agile manifesto . A small group of people got together in 2001 to discuss their feelings that the traditional approach to managing software development projects was failing far too often, and there had to be a better way.

Object Technology Jeff Sutherland: Microsoft Vista: Scrum or Not Peter Krantz rants on Scrum, Lies, and Red Tape at the Microsoft Vista project (see below). He's in Stockholm and I'm on a SAS flight over Greenland returning from two weeks in Sweden and Denmark doing several ScrumMaster Certification Classes. While Microsoft adopted Scrum on many programs large and small, I'm not aware of the Windows Vista team using it. Scrum is built on truth, transparency, and trust and was designed to emulate the productivity of the Borland Quattro project where the each developer delivered 1000 lines of quality production C++ code per week.

Why Release Planning? I led a discussion at the Ottawa Agile and Scrum groups last week. I asked the group to come up with some reasons to do Release Planning. In essence, they represent the meta 'purposes' of release planning. Purposes that one's approach to Release Planning should try to optimize. The group came up with many good ideas, almost all of which I agreed with (if my opinion is useful).

Object Technology Jeff Sutherland: High Moon Wins Awards with Sc High Moon produced a great video on Scrum. Check it out! High Moon Studios, part of Vivendi Games, is a game developer currently working on titles for next-generation consoles. The company is founded by game veterans who are passionate about creating compelling, original entertainment experiences. High Moon is best known for Darkwatch (www.darkwatch.com), the hit console game based on original I.P. created by company founders. High Moon employs more than 100 people at a state-of-the-art game development facility based in San Diego County, California. The New Methodology In the past few years there's been a blossoming of a new style of software methodology - referred to as agile methods. Alternatively characterized as an antidote to bureaucracy or a license to hack they've stirred up interest all over the software landscape. In this essay I explore the reasons for agile methods, focusing not so much on their weight but on their adaptive nature and their people-first orientation. Probably the most noticeable change to software process thinking in the last few years has been the appearance of the word 'agile'.

The Future of Software Development In 1975, Frederick Brooks wrote a classic book on software project management called The Mythical Man-Month. In the book, he famously argued that adding more people to a development project will hinder rather than help to get things done faster. The reason is that having more people working on the project introduces a non-linear overhead in communication. Five years before Brooks' book, a software development methodology called the Waterfall Model was coined. This approach applied the insights from mature engineering disciplines (mechanical, civil, etc.) to software. The idea was to construct systems by first gathering requirements, then doing the design, then implementing it, then testing, and finally getting it out the door in one linear sequence.

Related: