preload
Jan 28

I have now completed reading the “Succeeding With Agile – Software Development Using Scrum” book written by Mike Cohn. In this book Mike Cohn is walking you through the world of Scrum step by step. Each parts and chapters in the book are addressing important subjects when using Scrum in software development. Each chapter contains one or several “Things to try now” sections. This way you are encouraged to stop and actually try what you are reading about in your own organization or projects. I really liked these sections, although I didn’t try them all they made me stop and think for a moment before continue reading.

The book is well written with a lot of real life examples and the graphs and images makes reading the book even more enjoyable. The book consists of five parts, 22 chapters and 475 pages. One thing that struck me while reading the book was that I was amazed by all the numbers and facts Mike Cohn had gathered for this book, must have spent a large amount of time just researching and collecting facts for the book.

Part 1 – Getting Started

  • Why becoming agile is hard (but worth it)
  • ADAPTing to Scrum
  • Patterns for adopting Scrum
  • Iterating toward agility
  • Your first projects

Continue reading »

Tagged with:
May 27

I have just completed reading Agile Principles, Patterns and Practices in C# by Robert C. Martin and Micah Martin. I learned a lot while reading this book, particularly about patterns. This book contains a lot of information with its’ 38 chapters and 700 pages, but it is written in a easy to read language and have plenty of figures and code examples. I think that everyone involved in software development will benefit from reading this book, particularly developers and solution architects.

Section 1 in this book focuses on agile development covering practices, Extreme programming, planning, testing, refactoring and a case study.

Section 2 is about agile design with principles and UML diagrams. Principles taught: The Single Responsibility Principle, The Open/Closed Principle, The Liskov Substitution Principle, The Dependency-Inversion Principle and the Interface Segregation Principle.

Section 3 is a case study where patterns are taught through a Payroll case. Patterns: Command, Template method, Strategy, Facade, Mediator, Singleton, Monostate and Null Object. This section also explains how create simple use cases from user stories, find underlying abstractions and implement the use cases.

Continue reading »

Tagged with:
Sep 08

scrum sprint cycleThis is a follow up on a post I wrote earlier about how I like to use Scrum and ScrumWorks for my projects. After writing that post I have had some good discussions on how to manage bug fixing in a Scrum sprint. A good friend and former colleague of mine wrote a good post on how they achieve this in mBricks using JIRA and GreenHopper.

The last months I have been handling bug fixes and rapidly incoming change orders in ScrumWorks and this have been (in my opinion) a great success.

The first thing I did was to create two new releases in my uncommitted backlog. One called Bugfix and the other called ChangeOrder.

For each bug report I added the bug as a new backlog item under the Bugfix release and estimated it by detailing the backlog item with all tasks that needed to be done to fix the bug. When I added a new bug I also prioritized this bug against the already existing backlog items under the bugfix release.

Continue reading »

Tagged with:
May 20

I have earlier written a post about writing use cases for agile (Scrum) projects, this is a follow up about writing user stories. Do you find it strange that I first wrote about use cases and later are writing about user stories? Well… to be honest with you we started with writing use cases and then later found that this was insufficient and we needed to break the use cases down to short user stories (post-it format).

By doing so you are able to focus on exactly what the user need/want without going into details on how this should be done. We came up with the following template for user stories (I’m saying we because I did this together with a colleague of mine. You can read his blog at www.agilemobility.net).

user story template

Actor: The owner of the user story (often a user). It’s very easy to end up using the name user for the actor but I would recommend to be more specific. By using specific actors it’s easier to understand and set the user story in context with the system.

Continue reading »

Tagged with:
Apr 20

CSM

I have believed in using Scrum as a software development methodology since I first were introduced to Scrum back in 2005/2006. After a while I took the ScrumMaster certification (CSM) and started using Scrum as the preferred development methodology. During this time Scrum was getting very popular i Norway. It had become a buzz word and projects were either using Scrum or talking about using Scrum.

The majority of projects that I have been involved in after 2006 have been using Scrum or at least been highly influenced by Scrum. During this period of time I have found my preferred way of using this methodology. In this post I will talk about how I like to use the tools provided by Scrum. This is not a guide on how to use Scrum but more me telling what works for me.

Scrum

Licenced under Creative Commons Attribution 2.5 by Mountain Goat Software

The image above shows the Scrum life cycle:

Continue reading »

Tagged with:
Mar 13

strekmann1Today I started writing use cases for a software development project that are using Scrum. I have written plenty use cases for projects earlier so I thought that this would be a nice task to do on a Friday. I grabbed a good cup of coffee, sat down, listened to Me first and the gimme gimmes on my headset and started writing.

Suddenly I started thinking; this can not be in the spirit of agile development. I had started writing very detailed use cases with a lot of text and description. I turned to my colleague sitting beside me, he’s found of agile development and we often discuss the subject, and asked him what he thought about the use case I had started writing. Then the discussion on how to write use cases for agile projects started…

I really enjoy discussing subjects like this (hopefully my colleague enjoys it too). Learning by discussing is in my opinion the best way to learn or maybe learning by failing is even better, but that’s more painful. OK, anyhow let’s get back to the use case.

He suggested writing really small use cases with as little description as possible: Continue reading »

Tagged with:
Mar 09

Martin_MECH.qxdAfter participating in a project with focus on architecture, patterns and clean code I got a revelation: Clean code principles should be used in every software development project. I also started feeling that using clean code principles is not only a good tool but it’s a matter of taking pride in what you do. Who wants to deliver code that is unstructured and hard to read and understand?

During this project I also read a very good book about clean code: Clean Code – A Handbook of Agile Software Craftmanship, written by Robert C. Martin

This book starts with the basics; code formatting and using meaningful names, and continues with unit testing and concurrency.

The book is written with Java programming language in mind but the content can easily be adapted to other programming languages.

Continue reading »

Tagged with:
Subscribe to my feeds Follow me on Twitter
DZone MVB