Przejdź do głównej zawartości

Posty

Wyświetlanie postów z styczeń, 2015

Practical Scrum Training (6) Discussion of Product Backlog (continued)

Let's consider the product backlog item related to the editing of data. Just this one more and then we'll jump straight into ordering the product backlog.

In order to correct the information about a person in the family tree as a family tree user, I want to be able to edit the data of a person I choose.

I didn't like this item from the start, because it seemed to me rather complicated to develop. When I think about it now, it doesn't seem that complicated. But for the purpose of training, I need to ask a question: can we do anything smaller, break it into smaller parts or do any other trick to achieve something similar quicker than if we were to develop it as is.

As always, there is something we can do. The aim here is correct data. If we add a new item that introduces deletion of people from the tree, it will be possible to delete a person with incorrect data and then add same person again, this time with good data. Maybe a little awkward to the user, but if we despera…

Practical Scrum Training (5) Discussion of Product Backlog (continued)

As promised in the previous post, we are going to discuss the product backlog item:
In order to secure integrity of family tree data as a family tree user, I want to have checks for all data I enter so that entering invalid data is not possible
Is this an easy one, or rather difficult and big? Maybe it's not super-difficult, but it is a large one, probably in the top three biggest items that we currently have in product backlog. How can we break it down?

First of all, let's realize which data needs to be checked. When adding a new person to the tree, we enter:
name and surname - these probably do not require any checksmother and father IDs - definitely needs checkingNow, depending on the order of the product backlog, we may or may not have additional attributes that need checking. If we deliver an increment with birth and death dates and gender attributes available for the user before we deliver this item, then this will open a whole new set of checks and the item will be even …

Practical Scrum Training (4) Discussion of Product Backlog

This post is a base for a discussion that could be held with a group of developers, facilitated by a trainer.

Let's look at our Product Backlog again and color the items that seem clear and straightforward green and those that require further discussion blue.
In order to add new people to the family tree efficienty as a family tree user, I want to be asked if I want to add another person right after I added the last oneIn order for the family tree to be easier to read as a family tree user, I want the graphical representation of the tree to present each generation in a different colorIn order to secure integrity of family tree data as a family tree user, I want to have checks for all data I enter so that entering invalid data is not possible In order to correct the information about a person in the family tree as a family tree user, I want to be able to edit the data of a person I chooseIn order to distinguish the gender of a person in the family tree as a family tree use…

Practical Scrum Training (3) Product Backlog

This post features the product backlog that will be used for the remaining parts of the training. It is deliberately not ordered and some of the items are written such that they can be good candidates for Product Backlog Refinement.
In order to add new people to the family tree efficienty as a family tree user, I want to be asked if I want to add another person right after I added the last oneIn order for the family tree to be easier to read as a family tree user, I want the graphical representation of the tree to present each generation in a different colorIn order to secure integrity of family tree data as a family tree user, I want to have checks for all data I enter so that entering invalid data is not possibleIn order to correct the information about a person in the family tree as a family tree user, I want to be able to edit the data of a person I chooseIn order to distinguish the gender of a person in the family tree as a family tree user, I want to be able to assign gender attr…

Practical Scrum Training (2) Basic functionality is ready

I completed what can be called a basic version of our family tree application. This is what the user can do with it:
add new people to the treeprint the tree in text modesave the tree as png file The program works from command line and can be started by typing:

$ python main.py

Prerequisities: there must be pydot and graphviz installed on the system to run the program.

The files:
https://drive.google.com/open?id=0BwKLVgwZWGw1UlRNbFJZV1ZPUnM&authuser=0https://drive.google.com/open?id=0BwKLVgwZWGw1UjhEM3NONHZRWlE&authuser=0https://drive.google.com/open?id=0BwKLVgwZWGw1SEY3QmMzUzdCczA&authuser=0 https://drive.google.com/open?id=0BwKLVgwZWGw1Z3FkNjU2MjFMaUU&authuser=0 The program has some shortcomings, for example it requires one to put the IDs of parents while adding a child, but in general it works fine. It can create a png picture like this one below.


This version is the baseline for the trainees to start. The backlog from which to work on extending the application will b…

Practical Scrum Training (1) Outline of the application

Next several posts will be devoted to the Practical Scrum Training I decided to develop. The basic idea for the application that will serve as an example will be this:

A desktop application capable of maintaining and presenting a family tree. The basic version of it (that students will be provided with at the start of the training) will most likely allowed just for:
entering individuals and defining their relationshipspresenting data (I'm not sure how, at the moment)persistently storing the data so that it can be loaded at next start of the application That's most likely all it will do. It will not be written with great care to the craftsmanship and that will be on purpose - it should be like any of these applications that you start working on when it has already been developed to some extent and your job is to extend it rather than develop it from scratch.

Practical Scrum training for Developers - a proposal - your feedback is welcome!

I have an idea of developing a practical Scrum training targeted at Developers that would use hands-on programming examples.

Most of Scrum games that I know of or experienced are metaphores, like building objects with Lego blocks, not real software development. I'm not saying these examples are bad, but there is definitely something lacking in terms of what Developers may practise at a training session.

My objectives for the training are:
develop an application and a rough product backlog that could be then refined and implemented during the training sessionfocus on breaking large user stories into smaller and smaller onesincorporate TDD as an XP practice The training would be done using Python.

Now, I need your feedback: do you think you would sign-up for such a training, if I had one ready? Would you want me to run this training for you? Do you also think that's something that is missing from regular Scrum training offer?

Please use comments or contact me directly with the fe…