Geeks With Blogs
Brendon Page Dev stuff

I've started a lot of software projects in my career, so I didn't expect any surprises when I was involved in a new project at my new job (http://www.chillisoft.co.za). The existence of this blog post is a testament to how wrong I was. We went through a process that I've never experienced before. I found it very valuable so I thought I would share.


The Process


Hold a workshop with the team that is going to do the development. Discuss a set of key points, write the results on big pieces of paper then stick them up on the wall for the whole team to see.

It should be held in a relaxed environment where everyone feels comfortable. This will encourage all members of the team to engage and contribute to the process.

We held it in our chill room.


Working agreement


The team should make a list of things that they think are important to the development the project. Then as a team come to an agreement on them.

Anything can be put into a working agreement but try to keep it short, this will ensure that only the most important things make it onto the list. Long working agreements will just be ignored and neglected.

We decided that Sprint structure, board type, user stories and gate keepers were important to agree on.


What we are trying to achieve


Go through with the team exactly what it is that they are trying to achieve. It will help them identify with the project and enable them to be more focused and effective.

Again keep this list short and pertinent to the current iteration. While it is valuable for the team to know the end picture, the end picture will often change through the life time of the project.

For our project we were trying to test the viability of a concept by selecting a small set of functionality that would allow us to test some of the assumptions that we made.


Assumptions


Make a list of assumptions that you have made or are going to make around the project. Being able to verify assumptions and adjust as quickly as possible will often be the difference between success and failure of a project.

We made 2 assumptions on how users of our software would react to data presented to them. Their blurriness is shown in the last picture.


High Level Architecture


If any work has been done on high level architecture draw it up and share it with the team. This will be far more effective than everyone going off and individually reading a document. It also provides a forum for discussion and questions.

Our project is a multi-tiered app with a desktop client, azure worker role and azure web role.


Stick Em Up


Take everything that has been written onto the big sheets of paper and stick them up where the team can always see them. These are communication tools, if something needs to be discussed, discuss it around these oversized documents. If something changes, update them then and there.


Ready to Start


Your team should now know what they are trying to do and how they are going to do it. All important information is highly visible so that it remains in the front of everyone's minds as they march through the work.


Extras


It might be tempting to record everything digitally instead of using big pieces of paper. Resist this urge, those documents are destined for doom, they will fall into a share point or file server never to be seen again and they certainly won't be updated.

I've mentioned the 3 points that we went through for our project, Working Agreement, What we are trying to achieve and High Level architecture. Every project is different, don't let this list stop you from discussing other points if they are important to your project. I would however recommend always doing the first 3.

Finally, this process is about more than producing big pieces of paper containing important project information. It really brings a team together and gives them a sense of ownership.

Posted on Tuesday, September 10, 2013 4:33 PM software development , software development process , software process | Back to top


Comments on this post: A Great Way to Start a Software Project

# A Great Way to Start a Software Project
Requesting Gravatar...
It is an important information for me. Because I am software development fresher. Before read your post I afraid, but now I learn many things about software development projects.

shrink sleeve applicator
Left by jonesmartinn on Sep 11, 2013 10:34 AM

# re: A Great Way to Start a Software Project
Requesting Gravatar...
this article don't display correctly in browser. bu displayed correctly in my feed reader(inoreader.com). i want to share this excellent article but so i can't.
Left by huseyindotpw on Sep 11, 2013 2:20 PM

Your comment:
 (will show your gravatar)


Copyright © brendonpage | Powered by: GeeksWithBlogs.net