Nov 17

 

University of Dundee

University of Dundee

Hard to believe that this is now week 9 of my penultimate semester/term at Dundee University, time has just flown in. While this is normally a good thing I am left realising that the available time to work on my honours project is deminishing rapidly. 

 

My honours project is focused around the management of software projects and teams across more than one methodology or management style. In-keeping with the theme of the project, I am working under an agile approach and will be utilising a number of aspects of Scrum (user stories, sprints, user-centred development, etc.) and because of this I am keen to enlist the support of the development community.

I am looking for open-minded people who will have a little bit of time going spare from January to April to play the part of the “customer” or “customers” in my project. My supervisors are keen to bring real people into the development and felt it would be a good to get some input from people involved in the software development process.

I am still in the planning stages of user involvement but I am aware of the need to start finding people willing to help out.

Ideally I am looking for managers a developers and designers in order to get a good spread of expertise and requirements although I am not expecting to get exactly what I am looking for.

More details of the project can be found on my Honours Project page.

Mar 02

Today saw the end of one of the largest pieces of on-going coursework we have done at university thus far. 6 people working together in a group for 6 weeks using a methodology that only 1 of them had any solid knowledge of at the beginning.  So, how did it go?

Putting aside the differences in experience and ability, pretty well. I find it hard at times to accept that I have an advantage over many of my peers in that I have more experience in development and methodologies. I read the articles and the books, I play with the tools and I learn very quickly.

It took time but the group really began to work closely together and especially in the 2nd sprint were able to work around tasks and keep things moving along. Communication became more free flowing and a bond formed that made working together much easier.

I think everyone has benefited from this project and has taken away something valuable from it. To get hands-on experience of both Agile and Waterfall approaches to software development before entering the industry is not something I would say is common and I think it has been a great opportunity for everyone.

I am not a fan of rigid designs and reports, they have their place but often they stifle productivity and creativity. Agile is growing and I am quite sure that at least once in their professional careers the other students will work in a team that uses an agile approach. By having this experience they will be more prepared for it.

I want to say well done to the team for this amazing effort, you all did well and hopefully you enjoyed it as much as I have.

I would like to say thank you to our Customer (although I doubt he will ever read this, doesn’t hurt to be courteous), Colin from Live and Lets Dive for presenting us with this challenge and for supporting the students.

And finally I would like to thank Janet for the hard work and effort she has put into this module in order to make this as enjoyable and as entertaining as it has been. Thanks Janet.

And so the end, well only of this project. The blog continues, university continues and my never diminishing quest for knowledge continues. If anyone outside of Dundee University has been reading this, I do hope it hasn’t bored you senseless or left you wondering “what on Earth?”.

Oh, and can I haz ur blocks?

Mar 02

Ahh, vast improvement on last sprint!

We met Janet (the Customer) and not only did we impress by asking if she would like coffee, we had refined our approach, presented what we had done and explained it clearly. Despite not having that much completed it actually look far more impressive than I thought it would.

As a team a lot of hours and work went into this second sprint and it was great to see that it had paid off and that most of the points that hurt us last time round had been resolved. We could have been more organised on what would be done in the theoretical third sprint but that really slipped our minds.

I am glad I threw in the little launcher application at the last possible minute, otherwise we would have needed a recompile mid demonstration, that would have been about as bad as showing raw XML or opening the sprint backlog spreadsheet (despite the fact I am quite proud of how I got that looking in the end, and thanks to Alan I learnt how you can restrict the values of a cell).

We did need to go back after the review and just tidy up a few loose ends for our coursework. Rory and Stacey made a really cool white box testing diagram, Alan and Paul finished up the black box testing and I sat and frantically collated all of our code, tests, backlog, etc.

I really enjoy the feeling of a team working together like that, even better against a deadline as it makes me work that bit harder.

So, as far as the review goes, amazing improvement and I really do hope everyone else feels the same.

Note to Janet:

This post and the one after it were written on Friday however I could not post them till Sunday evening.

Feb 28

I made a number of realisations today, let me list them:

  1. We really needed to sit down as a group and think long and hard about how those dive tables were going to be stored and also how we can access them with a computer.

    Why?: Everyone who has looked at those tables has a different picture in their head of how they are being computerised, we don’t seem to have a single solid idea of how this is going to work. For example the table columns that Stacey and Alan used are partially inappropriate for actually accessing the data using a computer. I actually wrote code today that looks up a column, goes down to find a cell with the required data in it and then comes back up again to reference another cell just to get the residual nitrogen. That is very bad design and the time it takes to process is actually noticeable!

  2. We underestimated the time that the computerisation of the tables would take.
  3. Complex tasks often require more complex approaches (or simple approaches that use what can be considdeed “complex” implementation from those who are unfamiliar with them).

    This is more a failing with me than anything else. Presenting the group with the knowledge on how they can access the dive tables and use that seemed simple to me, evidently this isn’t the case.

The entire team really had to pull together today in order to get this block cleared out, all of the pairs plugging away at tasks and programming to try and move forward. The end result was code that could look up the tables and it managed to perform one of the calculations however doing much more really required a re-design of the table structure and so we could not implement it in the time we had.

I do feel we have better prepared for tomorrow however, we know what we did wrong last time (and I sure wont be turning up late nor looking like I have been run over by a hummer a couple of times). In essence better but could still be improved further. But then that is part of what we do in life, continually try and improve ourselves.

Feb 27

I knew it was coming, and it happened today. I ended up driving the refactoring of the computerised dive tables, we needed to get things back on track and so Paul took the navigator seat and I hammered out the code. In actual fact what Stacey and Alan had created was on the right track but embedded all of the tables inside of a class which was going to get very messy indeed.

I shifted out the tables into a comma separated file and fixed the interface to access it, Paul was quite interested to learn some of the techniques I use although I did get the feeling I lost him in places. Under normal circumstances I would have navigated and let him drive, teaching him the parts he was unsure of but the rest of the user story was held up waiting for this as it is and so this is how we solved it.

There is still more to do but it should provide a base to continue on from.

We also had a meeting with Janet (the Product Owner) in order to resolve a couple of minor discrepancies on our acceptance tests. These were to do with values we had used previously being off slightly.