Geeks With Blogs

News
View Szymon Kobalczyk's profile on LinkedIn

Szymon Kobalczyk's Blog A Developer's Notebook

Today for me was a day of learning. It started morning, when I attended a free seminar from Microsoft on SQL Server 2005 Intelligence. We went through Analysis Service, Integration Services, Data Mining and Reporting Services. It was first opportunity for me to actually work with SQL Server 2005 and, although I’m not much a database guy, but I really liked it. I’ve already installed the trial version and I’m going try out some of the things I’ve learned. So if you have a chance to attend one of these you really should. Next one will be on ASP.NET 2.0 including migrating from PHP to ASP.NET.

In the evening, I went to the first meeting of the Polish Agile User Group. Unfortunately it was at the same time with the monthly meeting of Cracow’s .NET Developers Group so once again I didn’t had a chance to take a look at VSTS. But the speaker today was Erik Meade from ObjectMentor (founder of JUnit.org) so I didn’t want to miss it.

Erik did an “Intro to Agile” presentation and it was really what the title said. He started with explaining what were the problems with old (waterfall) processes. Then he talked about changing requirements and presented some studies on projects done by DoD using such processes:

  • Project failures: 46% never went to production, while 20% required rework to meet the requirements,
  • Project usage: 45% of built functionally was never used, and only 20% of it was actually used,
  • Code waste: only 5-15% of produced code was ever used.

He concluded with following symptoms of bad process:

  • Producing the wrong product,
  • Producing a product of poor quality,
  • Being late,
  • Working 80 hours a week,
  • Broken commitments,
  • Lost of goodwill.

Software development should focus on following qualities: it should be right, fast, cheap and done. The goal here is to pick the process that will optimize all four of these qualities.

This lead to introducing many new methodologies such as: Extreme Programming, Scrum, Crystal, Feature-Driven Development, Rational Unified Process, and DSDM. At one point all these people met together, looked for common aspects in their methodologies came, and put it in words as the Agile Manifesto:

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
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 left more.


These values can be achieved by following Agile Principles:


Principles behind the Agile Manifesto

We follow these principles:

  • Our highest priority is to satisfy the customer through early and continuous delivery
    of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • Business people and developers must work together daily throughout the project.
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity--the art of maximizing the amount of work not done--is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

Four knobs of project management are:

  • Changing schedule. This is best done early in the process, not two weeks before deadline when marketing was working for a year and all customers are waiting for the product.

  • Adding stuff. It’s risky, because first 1-3 months new staff is only liability, and in many cases it takes a year to learn the project to the level as the people who worked there from the beginning.

  • Lowering quality. Do more features in less time. This leads to working overtime,  which introduces messes, and messes take time to work around, so in the end it makes us go slower. Only way to go fast is to keep the quality as high as possible.

  • Controlling scope. You can cut out some features. But only when they aren’t already implemented. Therefore you should always start with most important features. Ask customers to prioritize what’s really important.

Erik also talked a bit of his favorite methodology, Extreme Programming.

I didn’t learn anything new actually, but it was good to go over this material once again to remind myself some of the principles. For all who want to get into this, I strongly recommend the book Agile and Iterative Development: A Manager's Guide by Craig Larman.

The audience was quite big (I think around 70 people) most of them developers, some students and only few managers. Erik is great speaker and I enjoyed being there.  I hope this initiative will spin off and the meetings will be held on regular basis.

Posted on Thursday, May 18, 2006 8:14 PM Development | Back to top


Comments on this post: Learning SQL 2005 BI and Agile the same day

# re: Learning SQL 2005 BI and Agile the same day
Requesting Gravatar...
John,
Thanks for interest and sorry for keeping you waiting. I know I promissed to release it a while ago. Last few weeks I was really busy at work, and the task itself wasn't as easy as expected. Primarly because the new version uses built-in ASP.NET 2.0 features for managing membership and user profiles so I would need to recreate them somehow in my code. Drop me your email if you like to get this in it's current state (most parts work but some don't).

Left by Szymon on May 20, 2006 6:06 AM

# re: Learning SQL 2005 BI and Agile the same day
Requesting Gravatar...
Hi,
I am too interested in your Pet Shop 4. The new ASP features for Security are really great, and if your interested in seeing a working application of them, try www.deklarit.com. Their WindowsForms App builder uses CAB and Enterprise Lib extensively, and includes security implementations. They also have their own version of the PetShop database design which is interesting in its own right.

Cheers
John (a different one)
Left by JohnR on Jun 13, 2006 2:43 PM

Your comment:
 (will show your gravatar)


Copyright © Szymon Kobalczyk | Powered by: GeeksWithBlogs.net