Volunteer Opportunity – Software Tester 9 March 2009
Posted by Paul in agile, do-it, technical, v-base.Tags: agile, agile software testing, opportunity, software testing, software testing volunteer, volunteering, volunteers, youthnet
3 comments
Software Tester for YouthNet (volunteer, remote/on-site, min 6 hours/week)
YouthNet is developing the latest version of our V-Base software, version 3. V-Base is the UK’s leading software for volunteering management. Developed by YouthNet in partnership with volunteering agencies, V-Base is a Windows based, easy to learn and use application. It has a range of tools to help you manage your volunteering programme and is the only software that enables you to post your opportunities directly to the do-it.org.uk database of volunteering opportunities.
We are looking for a Volunteer Software Tester, responsible for improving the quality assurance of V-Base 3. This opportunity is open to people who are looking for a way into or have an interest in software testing.
(more…)
Before we started with Agile 20 November 2008
Posted by Olivier Van Acker in agile.Tags: agile, decline, goodpractice, jamesshore
add a comment
As a response on the (excellent) post of James Shore on the decline and fall of agile, where he discusses why agile often fails when implemented, I responded with what we did before we really started implementing agile; here is my response on his blog:
Very good post, although I would suggest also to focus on how to measure good engineering practices. In the project I currently work on (my job is to implement/streamline development processes) I’ve installed several tools which auto generates lots of reports for our scrum master so she has a lot of tools the measure to the quality of the development process.
And before I even try to implement ‘Agile’ in a software project a want these questions asked and answered:
* Does it compile?
Does it compile on a non developer machine? Do the latest changes compile?
A: Continuous Integration
* Does it run?
Can we execute a recent version of the application without having to wait for a developer to build it, also valid for non gui back end apps!
A: Daily builds
A: Release candidates
* Is it tested?
A: Unit tests
A: Integration tests
A: QA team
A: Hallway usability testing
A: Code coverage reports
* Who changed what and when?
A: Version control
A: Issue tracking
* Did we produce source code daily?
My main goal when I have to start a project: produce code on a daily basis, get the momentum/routine right
(instead of having meetings on a daily basis
)
A: Version control reports
* Second opinion?
A: Code reviews
Not of everything, just the areas where unit tests fail regulary
* Can we track bugs?
* Is it documented?
Not in a word processor document, but one liners in the code do wonders
I call this my ‘extended sprint zero’, first good and disciplined engineering before we start implementing fancy development process theories
Olivier
Agile development experiences 26 June 2008
Posted by spacebaboon in agile, do-it, technical, v-base.Tags: agile, confluence, do-it, do-it.org.uk, jira, Planning, project management, scrum, teamcity, v-base
add a comment
I’ve been a developer at YouthNet for over 6 years now, and have written much of the code behind the do-it.org.uk website, as well as our other sites, TheSite.org and youthnet.org.
One of the challenges and opportunities of V-Base 3 is greatly improving and expanding how the V-Base client communicates and interacts with the central database and website. We can send much more data in both directions to make V-Base more interactive with the website and volunteers’ profiles, to allow data sharing, and much more.
So I joined the V-Base 3 team a couple of months ago, to work on this area, and it’s been a very interesting time so far!
One of the things about working on one website for a long time is that the work tends to be small and bitty: change the look and feel of a section, add some new functionality to a profile page, that kind of thing. They normally last a couple of weeks, and will just be me working on it, or one other developer at most.
So to work on a very long term project – by the December release it’ll have been in full time development for over 2 years, and the team has grown to 9 people now. This is a first on anything like this scale for YouthNet, and the team have adopted the Agile methodology, a very modern approach to software development.
So, how does Agile compare to what I’ve done before? Is it the revolutionary improvement some say, or more a fashion statement, as others comment?
Things I like:
communication is important anywhere in development, and more so the bigger the team size and project complexity. This is important in Agile, we make a point of a short meeting every day where everyone says what they’ve done, what they are doing and any problems they’re having. I find this really useful, as I know what everyone else is doing, how their progress is going, and lets everyone else offer ideas to the others’ problems.
we’re using modern web-based project management, code building and information sharing tools:
JIRA for project management, work planning and bug tracking.
Confluence as a Wiki, to store and share all the details of our work. This is such an improvement on a local area network full of MS Word documents!
TeamCity for continuous integration, a central place the code is built and tested, great when several developers are working on the same code base.
Good and flexible working conditions. We’re all hard working, the daily standups mean you can’t get away with sitting in a corner and doing nothing but play Scrabulous for weeks. But one of the Agile tenets is that you work your set hours, and not a minute more. I’ve worked in places where the week or two before a big release, half the team is still there at 10pm every night. A happy, relaxed team is going to work better. We’re also using a VPN and Remote Desktop and IRC to be able to work from home occasionally.
Flat structure, design by meritocracy. We don’t have a complex structure of bosses dictating your every move. Whoever knows something the best can take responsibility and do it.
Iterative development. Rather than working out every detail at the start, building a huge timeline and enbarking on months of coding, the work is split out into short stretches, usually a week or two, where you decide which chunks of work need doing, and then code those. at the end of the iteration, you have a review, to see how it went, and what could be done better next time. while this means more deadlines, they’re not as deadly as when you’ve been at it for 6 months and still have half to do.
Things I don’t like:
There’s a lack of planning and design work at the start, compared to the development I’m used to. The attitude seems to be that you just go and do something, and if it’s wrong, then you refactor it based on the knowledge you gained from it, so your next effort will be closer to what’s needed. While this is a nice way to work, it’s not as effective as taking much more time at the start and getting it right first time, and a lot of time is wasted.
It’s very hard to estimate the time scale of a complex project. When you lay out everything at the start, and work out exactly what has to happen, then you can get an idea of how long it’ll take. but if you just iterate until it’s done, any estimate more than a year ahead seems a stab in the dark. Again, as a developer, it’s nice to work in this way, but it must drive management crazy!
Conclusions:
Despite its name, Agile is much stricter and has more rules than how I’ve been working here previously. You must have stand up meetings every day, you must log all your user stories and progress in JIRA, you must make sure the build compiles with every commit, etc. But this is actually a good thing, they all help, especially in a large team on a long project.
It’s not suitable everywhere, if I go back to the bitty, single-developer work after this, Agile wouldn’t be suitable – the rules and practices would be an unnecessary overhead.
Agile isn’t really anything new, and didn’t come out of nowhere. It’s a collection of sensible and practical ideas that software developers have figured out through experience over the last few decades, brought together and given a name – rebranded, if you like. And as such, it’s very easy to pick up and use. Some of the ideas and technologies I’ve used before, and some are new to me, but they really work well together when working on a big project like V-Base 3. If I work on any large projects after this, I’ll fight to use Agile.
So I’m definitely a fan, if not quite a rabid, flag-waving convert
V-Base 3 joined by a new member 10 June 2008
Posted by Camille in agile, do-it, v-base.Tags: agile, Planning, tracking
add a comment
You might have read Olivier’s post on the joy of recruiting for a new developer.
Sofia joined and not long after her we had another addition to the team. Although the recruitment process was less difficult, we had to define a list of criteria and go through loads of websites. After eliminating unsuccessful candidates, we eventually set our eyes on this particular …. White Board! … aka The Tasks Board.
The Tasks Board has been part of the team for a couple of iterations now and its role is to offer an overview of the tasks to be undertaken during the iteration and to follow our progress as we’re going through. How does it work?
We divide the board in 5 columns and although cards in column 1 won’t move (so that we can identify in a glance the theme the iteration is going to focus on), the tasks cards will progress from columns 2 to 5.
- Story/Area : each user story / area of work we decide to commit to for this iteration
- Tasks/To do: each user story / area is broken down into all the tasks that need to be done in order for it to be completed. One card is written for each task.
- In progress: once a developer picks a task and starts to work on it, the task card is moved from “To do” to “In progress”
- Verify: once the task is completed by the developer it’s moved to “Verify” in order to be QA’d/ tested. If the test is satisfactory, it goes to the next column, Done, otherwise it goes back to “To do”
- Done: eventually, all the tasks that were in “To do” will end up in “Done” by the end of the iteration.
Tasks Board really is a part of the team as we have to roll it (I forgot to say that the Tasks Board is on wheels) from our main working area to the area we gather in for our daily Stand Up Meetings (SUMs). Occasionally one of us might be not being able to attend the SUM but Tasks Board is always there (annual leave: 0, sicky: 0)
So, what are the benefits of having Task Board on board ???
- Everybody from Developers, to Product Owner, QA person or Tracker can have an idea of what people are talking about when they say what they are doing during the SUM,
- We are working in a more transparent environment as everybody in the office can see what we are up to for an iteration and how we are progressing,
- And most of all there is a huge sense of satisfaction when all (most of) the cards are progressing through the columns to ends up in the “Done” one by the end of the iteration.
Finally, Tasks Board is very versatile and that’s a good thing as you can find one that fits your needs. It can even be an opportunity for some DIY-team building.
For more examples of Tasks Board: http://www.informativeworkspace.org/walls.php
don’t forget to wipe 18 March 2008
Posted by Tracey in Uncategorized.Tags: agile, environment, tools
add a comment
just ordered some wipe-clean whiteboards. one of the downsides about working in an open-plan office next to a window is the lack of wall space. an agile project needs to surround itself with visual information… burn-down charts, ladders of story cards and preferably big white spaces for scrawling diagrams on etc etc.
one of the books i’m reading says:
“Try to have at least 24 linear feet of whiteboard space, magnetic if possible. You can never have too many whiteboards.”
personally i’d like a whole room (more about my ideal agile workspace later.)
we do have a great big mega whiteboard but it’s stuck to a wall in a different part of our offices. the new ones are free-standing, so we can wheel them around as needed.
mmmm wheelie whiteboards… how exciting is my life?
Yoga is not the path to Agility, Planning Poker is 6 March 2008
Posted by Camille in Uncategorized.Tags: agile, estimates, Planning
add a comment
Becoming Agile is not an overnight process. That’s at least one thing that Yogi Masters and Scrum Masters will agree on. Yoga was not the path to Agility for us. Our approach was somewhat more intellectual: learning from our successes and errors and undertaking training.
So here we were, back to the classroom.
I had the chance to attend an“Agile Estimating and Planning” course with Mike Cohn as an instructor. We looked at various approaches to estimating and went through techniques for deriving estimates as well as when and how to re-estimate.
One of these techniques is “Planning Poker” and the rules are very simple: (more…)
Agile Planning 29 February 2008
Posted by Camille in Uncategorized.Tags: agile, Planning
add a comment
Before going further into the arcane art of Agile planning, I think I should explain what my role is. As the project Tracker, I have to measure the team’s progress within and across the iterations (each iteration is 4 weeks long). Using these metrics, I’m working with the Product Owner (Tracey), to refine the release plan she defined.
A release plan is a high level plan that covers 6 to 12 iterations and details the features that will be developed and released within that time frame.
My role is to calculate how much we’ve done within the past iterations, then taking into account the resources we have available, try to define how much can realistically be accomplished by what date.
Bearing in mind that change is our -and all Agile teams’ – middle name
, the release plan is always subject to revision, depending on the customer’s priorities and how those change as we work towards completion of the project.
It sounds a bit scary to try to define a plan in this type of environment but luckily there are some techniques we can use to help us adjust our estimates.
But that’s another story.
hello volunteering world! 27 February 2008
Posted by Tracey in Uncategorized.Tags: agile, team
add a comment
hello! bonjour! goeie dag! howzit!
today our v-base development blog is born. we’ve been talking about this for so long i can’t remember who came up with the original idea. anyway, we’re finally here. one of our aims for the first part of 2008 is to raise awareness/visibility of the work we’re doing. we’re so much in the thick of this project that it’s easy to forget that other people (outside of youthnet’s senior management team) might be interested in what we’re up to.
well, i can tell you that we’ve been busy. boy, have we been busy. since starting to put together the development team halfway through 2007, a lot has happened. our team has shrunk… grown… shrunk… grown again. technologies have been chosen… discarded… new technologies chosen. change is our team’s middle name. one of the reasons that we chose an agile approach for development was that we recognise that change is unavoidable and wanted to give ourselves a framework within which we can adapt and manoeuvre when new circumstances arise, without it chucking us completely off course. so far so good, though like every software project, just when you think the path has cleared, someone scatters marbles across it.
we’ll doubtless be talking quite a bit about agile on here. and technology. and volunteering. and possibly what we had for lunch. you’ll get to meet the team and if you stick around, knowing an awful lot more about our project than you’d hoped (or wanted) to. feel free to join in.
lots of volunteering love from team v-base 3
(tracey, camille, olivier, baazi, martin, paul)
