Yesterday I got to hear two experience reports on our Agile/Scrum pilot projects from two peer managers who aren’t exactly strong proponents of Agile. I assume this is happening more places now that Agile is moving beyond the early adopters. Anway onto the experience reports. From a web development manager:
- The idea of less useless documentation was really appealing, and he found it to work well in practice.
- Collocation worked really well as the team all gained a sense of camaraderie.
- Refactoring can get out of control. On this project they went from iBATIS to Hibernate to SDO to Hibernate in the course of three Sprints. Partially this was because they got bad advice from some consultants on using SDO for all projects.
- It seemed like even though it was an Agile project you still ended up with a lot of slack. Developers would have to wait at times for business requirements. QA would be waiting for things to test as the developers were coding. (We haven’t used something like Fitnesse for acceptence testing yet, and we’re still adopting from very siloed team roles.)
- As a resource manager sometimes it’s hard to juggle your resources when some of them are on an Agile project.
From a mainframe manager: (Yes, we are crazy enough to try something like Scrum on a traditional mainframe project.)
- Starting off he admitted he is heavily biased against all methodologies Agile or not because he doesn’t believe they work. He came out into the workplace when James Martin was selling his Information Engineering Methodology as the way to do perfect projects.
- His developers hated collocation at first since they didn’t want to move out of their cubes. Within a few weeks though they all agreed that collocation had worked really well and they actually really liked it.
- From the manager’s perspective since the product owners are more involved they’re not constantly dropping into his office to talk over things which has been a relief.
- He hates the 30 day iterations. He thought that iterations should just be planned around how long it took to completely code something. Say a three week iteration followed by a two week iteration and then a five week iteration to deliver a project. (Sort of blows the rhythm idea out of the water, but could work in something like Crystal if everyone agreed to the try the flucuating iteration lengths.)
iBATIS, the SQL based ORM will finally be getting a book length treatment. It’s a pretty simple mapping framework that relies on good old SQL. We’ve used iBATIS frequently in the past several years and we continue to use it for connecting to our legacy system over using Hibernate.
Our issue is that we use a JDBC driver to connect to our legacy system, that behind the scenes is really not a relational database at all. In order to do anything but queries we have to wrap the call in a stored procedure syntax since it’s really calling programs on the mainframe and not accessing the persistence store directly. With iBATIS being SQL based we just have to setup the mapping file from the input and output parameters.
Bruce Eckel has posted a short post on 7 questions to ask an interviewer:
- If I want to buy something like a book or a tool, how does the process work (how hard is it?). What’s the cost limit before the approval must go up the management chain?
In my group the process is simple, if it might make you more productive and costs $500 or less we’ll just order it. If it’s a bit more you might need to make a bit of an argument for it. And books, well if you need them we’ll order it today. The signature limit for a line manager in our shop is a few thousand dollars.
- What’s the noise level like during the day?
Fairly normal corporate shop with cubicles. Noise abatement comes down to coming in a little early, staying a little late, and probably wearing headphones some of the time. We’re moving to a new building so things may improve.
- How many meetings am I expected to attend, and how long do they usually last?
One 30 minute or less team meeting per week. A one-on-one meeting for 30 minutes per week. Probably a daily standup 15 minutes per day on your project plus a full planning day once every 30 days. Plus any meeting you agree to as a team on that project. Anything other than that is an exception. I can’t protect my developers from an occasional ‘All Hands’ meeting or HR session, but I will push back to not have them attend no value meetings.
So for an average developer on a Scrum project a total of 2.25 hours of meetings per week.
- Is there a dress code?
Yes, business casual with the typical Friday more casual. Your manager will probably always wear a tie, but that’s how you can tell him apart.
- Can I work from home sometimes?
Certainly, but we do believe in collaboration so you can’t hide out at home.
- Does it matter when I work, as long as I come to meetings?
Nope, if you can get your work done and make meetings you can work all the odd hours you want.
- How many projects have succeeded/failed in the last five years? To what do you attribute the failures?
Maybe 50 successful projects and two big death march failures. The death marches both started out with almost no requirements, then a overly complex architecture was setup to solve the poorly defined problem. So the failures were both a lack of requirements or decisions on what the client wanted and an over-engineered solution. Adopting Scrum especially for high profile large projects makes this possibility much less likely going forward, but no promises.
One of our developers came across a strange fix to an error message we kept getting in Websphere Portal Search 220.127.116.11. The error message was along the lines:
Didn't find SeedList in HTML, not a SeedList URL
You might try adding a little known property to portal search:
HTTP_NON_APPL_MAX_BODY_SIZE_MB = 4
The parameter is supposed to set the maximum size of any page that it will search. It defaults to a measly 0.2MB. You would think that the portal server would just truncate anything longer, but maybe not. Anyway some badly designed HTML can climb over 200K pretty easily especially something generated by an application with lots of results. Speculation is that maybe large pages cause problems with the spider.
Anyway worth a try if you’re beating your head against the wall with this strange error. It worked in our shop even if it isn’t totally logical.
One of the small podcast I’ve followed for at least a year now is Python 411. I haven’t actually coded in Python for years, but the host, Ron Stephens is just so excited about the topic that I still find I enjoy it. Passion is important.
My python story is simple, I picked it up around 1997 or 1998 specifically because Google was using it and I thought at the time they looked like a great company to work for. Unfortunately I never moved to the Bay area and pursued it before I had a whole family to consider. Professionally I used python for some customization work with Infoseek’s UltraSeek product.