background preloader

Process

Facebook Twitter

Scrum in five minutes. Manifesto for Agile Software Development. Exploding Software-Engineering Myths. At Microsoft Research, there are computer scientists and mathematicians who live in a world of theory and abstractions. Then there is Nachi Nagappan, who was on loan to the Windows development group for a year while building a triage system for software bugs. For Nagappan, a senior researcher at Microsoft Research Redmond with the Empirical Software Engineering and Measurement Research Group (ESM), the ability to observe software-development processes firsthand is critical to his work. The ESM group studies large-scale software development and takes an empirical approach.

When Nagappan gets involved in hands-on projects with Microsoft development teams, it’s all part of ongoing research in his quest to validate conventional software-engineering wisdom. Nachi Nagappan “A big part of my learning curve when I joined Microsoft in 2005,” Nagappan says, “was getting familiar with how Microsoft does development. Code coverage is not indicative of usage. Has there been any feedback from Hoare? Second Edition of "Do It Yourself Agile" Available as Free Download. At the beginning of the month I released the first version of "Do It Yourself Agile. " The response was tremendous and I am very grateful to the many people that blogged and tweeted about it. I am also very thankful for all of the feedback and suggestions that I have received. In total, the book has now been downloaded more than 4,000 times. Here is the second version, which takes into account all of your feedback and also incorporates new sections based on recent blog posts. While I believe that an Agile coach, whether recruited internally or externally, is still the best, fastest, and least expensive (in terms of ROI) path to Agile success, not everyone can do that.

Let me know what you think. The book is freely downloadable, no strings attached. "Do it Yourself Agile" (pdf) 180+ pages "Do It Yourself Agile" - condensed web version. Asshole driven development. Some say it’s immaturity: that software is still a young industry and all the change is the path to some true fundamentals. Others say it’s because software people like making things up and can’t help themselves. Well I say this: if we’re going to have dozens of models we may as well have some that are honest, however cynical, to what’s really going on much of the time. (There is a happy list of these I’m sure, but this is the cynical one). Asshole Driven development (ADD) – Any team where the biggest jerk makes all the big decisions is asshole driven development. All wisdom, logic or process goes out the window when Mr. Asshole is in the room, doing whatever idiotic, selfish thing he thinks is best. There may rules and processes, but Mr. Cover Your Ass Engineering (CYAE) – The driving force behind most individual efforts is to make sure than when the shit hits the fan, they are not to blame.

I’m sure you’ve seen other unspoken methods at work – what are they? The Zen of Scrum 1.0. 10 Principles of Agile Project Time Management. The Definitive List of Software Development Methodologies. The nice thing about software development methodologies is that they are just like standards. There are so many to choose from! Come to think of it… some of them are standards (which more or less proves my point). Unfortunately, despite a lot of searching I haven’t found any page with a list of all major software development methods. So I decided to create one myself.

Here it is… and I hope you will let me know what you think of it. Terminology In the various descriptions of methods on Wikipedia I have noticed many different terms being used, like method, process, model, framework, etc.. Methodology (or method) – one specific collection of principles and/or practicesmethodology family – a set of alternative methods that exist alongside each otherframework – a skeleton (for methods) that must be customized/augmented before usemodel – a description (for methods) that must be implemented by a method, family or framework Methodology Leaders Get the book!

Management 3.0 Methodology Followers. Better Software Magazine: What's a Manager to Do? The decline and fall of agile. It's odd to talk about the decline and fall of the agile movement, especially now that it's so popular, but I actually think the agile movement has been in decline for several years now. The State of the Art I've seen a shift in my business over the last few years. In the beginning, people would call me to help them introduce Agile, and I would sell them a complete package that included agile planning, cross-functional teams, and agile engineering practices.

Now many people who call me already have Agile in place (they say), but they're struggling. Other consultants I've talked to report the same experience. The Role of Scrum Scrum is undeniably the winner of the agile method wars. But because Scrum works in short cycles and doesn't include any engineering practices, it's very easy for teams using Scrum to throw out design. What frustrates me the most is that this situation is entirely avoidable.

Scrum, Misapplied It's not entirely Scrum's fault. Scrum includes these other points. What is Agile? Introduction and Characteristics. | Agile Advice - Working With Agile Methods (Scrum, XP, Lean) The word “Agile” refers to a type of method for getting work done. It’s all about doing valuable work with speed and quality. An Agile team delivers finished work frequently while working at a sustainable pace. Agile process consists of short iterations of work that deliver small increments of potentially shippable customer value. Frequent delivery ensures visibility of the work of the team, as well as its needs and obstacles, to all stakeholders. Agile refers to a discipline defined as the middle way of excellence between chaos and bureaucracy. Agile also refers to the philosophy that humans do work in a complex world. Although Agile has emerged out of endemic crisis in the software development sector (but not exclusive to it!) Agile methods are made of processes, principles and tools.

Although Agile cannot force people to be truthful, it reveals the direct consequences of opacity in an organization, confronts it and challenges it to change. Agile prioritizes by value, not “dependency”. Future Directions for Agile. Software Engineering Institute | Carnegie Mellon. Agile Software: Business Impact and Business Benefits - 10x Software Development. Scrum Chickens and Pigs An interesting discussion came up on the Disciplined Agile Delivery discussion group on LinkedIn.

Scott Ambler asked the question, "Is the chicken and pig analogy disrespectful? " The chicken and pig analogy is common in scrum. In case you haven’t heard it, it’s based on an old joke: A... Posted on April 8, 2014 4:36:PM by Steve McConnell to 10x Software Development Estimation Types When I get asked for an estimate, my first response is not a cost, a date, or a functionality number.

User Stories Ain't Requirements Ain't isn't really a word but people use it, so does that make it de facto a word? 2013 ECSE Discussion Topics Posted I host an executive discussion group in the Seattle area called the Executive Council for Software Excellence (ECSE). Software Project Archaeology New White Papers Now Available We've recently posted more new white papers on our website. Construx Executive Summit 2012.

Evidence Based Scheduling. Evidence Based Scheduling by Joel Spolsky Friday, October 26, 2007 Software developers don’t really like to make schedules. Usually, they try to get away without one. “It’ll be done when it’s done!” They say, expecting that such a brave, funny zinger will reduce their boss to a fit of giggles, and in the ensuing joviality, the schedule will be forgotten. Most of the schedules you do see are halfhearted attempts. Hilarious! You want to be spending your time on things that get the most bang for the buck. Why won’t developers make schedules? Over the last year or so at Fog Creek we’ve been developing a system that’s so easy even our grouchiest developers are willing to go along with it. The steeper the curve, the more confident you are that the ship date is real.

Here’s how you do it. 1) Break ‘er down When I see a schedule measured in days, or even weeks, I know it’s not going to work. This forces you to actually figure out what you are going to do. 2) Track elapsed time You can’t, really. Next: Coding Horror: What is "Modern Software Development"? Joel Spolsky came up with a twelve-item checklist in August, 2000 that provides a rough measure of-- in his words-- "how good a software team is": Do you use source control? Can you make a build in one step? Do you make daily builds? Do you have a bug database? Do you fix bugs before writing new code? Steve McConnell enumerated Software's Ten Essentials in 1997, ten things that every software project should have: A product specificationA detailed user interface prototypeA realistic scheduleExplicit prioritiesActive risk managementA quality assurance planDetailed activity listsSoftware configuration managementSoftware architectureAn integration plan These are great lists.

The lists are still highly relevant and definitely worth revisiting today. So here's my question to you: what core set of practices constitutes modern software development in 2006? Coding Horror: Discipline Makes Strong Developers. Scott Koon recently wrote about the importance of discipline as a developer trait: Every month a new programming language or methodology appears, followed by devotees singing its praises from every corner of the Internet. All promising increases in productivity and quality. But there is one quality that all successful developers possess. One trait that will make or break every project. Discipline. An undisciplined developer will not be able to ship on time and will not write code that is easy to maintain. A disciplined developer will not only enable the success of a project, but will raise the level of productivity in others.

It's an interesting coincidence, because I recently gave a presentation to a group of developers on the topic of source control, and I found myself repeating that very same word throughout the presentation: discipline. And it doesn't matter what language you use, either. So I'm inclined to agree with Scott. Business of Software Blog: From project sluts to strawmen: An interview with Tim Lister. Tim Lister is a principal of Atlantic Systems Guild and co-author of the acclaimed books, Waltzing with Bears: Managing Software Project Risk, and Peopleware: Productive Projects and Teams. Freelance writer Bob Cramblitt spoke with Lister about the patterns that help determine software success or failure. Cramblitt: You’re working on a new book.

Tell us a bit about it. Lister: Actually I’m working on it with the five other principals of Atlantic Systems Guild. The book is tentatively titled Project Patterns: From Adrenalin Junkies to Template Zombies. It’s a series of nearly 100 short essays on project patterns for good and bad. Cramblitt: Let’s start with the bad ones. Lister: One is what we call Brownian Motion, based on the physics term defining a constant state of random motion. Another pattern is project sluts – organizations that can’t say no; they have far too many projects for the staff they have, and things never get done.

We also see a pattern called dead fish. IBM Rational Unified Process. The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003.[1] RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the unified process. History[edit] Philippe Kruchten, an experienced Rational technical representative was tasked with heading up the original RUP team.

This journey began with the creation of the Rational Objectory Process (ROP) in 1996, when Rational acquired the Objectory Process that had been written by Ivar Jacobson and company. This was renamed Rational Unified Process (RUP) in subsequent releases, in part to align the name with that of the Unified Modeling Language. In 1998 Rational Software added two new disciplines: The Making of a LEGO Brick.