Pages

2008-09-28

Scrum - can it really be useful for short duration gigs?

Scrum as invoked by pioneers like Ken Schwaber is super useful on projects that extend into multiple months with several layers of use cases, controls, and middle and backend tier work. However, with short duration projects, the concept of the sprint and the backlog are difficult to quantify and certainly even more painful to institute in the org without two things - a strong Technical Team Lead (TTL) resource to guide the project team and an easy to use Scrum subset that works for your environment. If you're a UX centric shop or perhaps a pure development shop and you're plugging into a 3rd party's software project, it can get a bit trickier. Despite the burdens, the key is to be sure that you act with the team and moderate these scrums. They should happen at the beginning of the work day, and if you have a global team, you should consider scrumming at the beginning of your local team's day and at the beginning of the remote team's day to assure that progress is being made and that blocks are removed immediately. Quality increases by about 200% if you have the means to supply a TTL to oversee the local team and a TTL to oversee the remote team. Of course, be sure that only one of them acts as the primary and makes all technical decisions for the project. Moderation of the scrum is not the simplest task, and I must say that getting the project team to feel comfortable during these short meetings is vital. Ask them a) what they have done since the last scrum?, b) what do you plan to do between now and the next scrum?, and c) what impedes you from performing your work as effectively as possible? Time limit should be <15 min for this meeting and everyone must be present. Scrumming has side benefits as well - it helps everyone see the estimation process on the execution side, it helps team members realize time spent across various tasks to better produce estimates in the future, and it makes everyone accountable when the PM employs Scrum correctly. Not to say that Scrum has any written rule outside of its core foundation, but it can turn into unnecessary noise for the project team if executed improperly.

2008-09-10

Strategic or tactical as a PM? Part I

I seem to have read a lot lately on the topic of strategy and tactical planning as it pertains to a Project Manager. I've certainly got some opinions on this topic. First, for software development projects that are of short duration, regardless of the scope of work, it is paramount that the Project Manager fully understands the client's expectations beyond the functional and delivery requirements - tactical planning outside of the execution environment is really key. Being involved in the business development process at the correct moment is of vital significance to me. I need to know what the driving forces are for the client, what personalities exist with the various stakeholders, what are the measurable success factors, what influences your key stakeholders, and most importantly, what are we really trying to solve. The solution itself should be in liquid form during this stage of the client onboarding process, and as a PM, you can help shape this. I'm of the mind that there is a very narrow line between the presales phase and the delivery phase of the project for the typical PM who manages short duration, high visibility projects. If you produce contracts, charters, or SOW's like I do, you know how critical it is to be a collaborative member of this presales phase. Becomming removed or left out of this process not only greatly increases risk for the project you're about to undertake and manage, but it also tends to bring on dismay and distrust from the clients when questions and comments are raised that were already answered, but not documented anywhere for you and/or didn't make it into the SOW.

As for strategic involvement for the Project Manager, I like to consider reorganizing chaos across the organization an eventful way to share the wealth of your position. I'll continue my thoughts on this piece in Part II.

When to sell the design concept and the UI?

Software often gets into a rut in two key areas focused around the UX layer - this is entirely true across .Net 3 and its subset Silverlight that utilize the power of xaml. First, an interface designer shouldn't be caught up on the nuances of window chrome, positioning of elements, or refinements to gradients, flashiness, or hotness when first designing visuals for the project. Ideally, the resource is able to stay well clear of refined comps and focus purely on color palettes through mood boards and simple mockups that combine logical layout with some loose styles. Of course, this requires a decent set of wireframes that should be constructed by the Information Architect type resource along with Use Cases if needed. Building Use Cases may not be required if you're facelifting an app. Along these lines, the wireframes should by no means impose look/feel, composition, or layout since this can often lead to the removal of creativity for the Interface Designer - if this does happen, it can lead to poor design. The Information Architect and the Interface Designer should be locked at the hips at this point, each making recommendations on the business sense and creativity/innovation of the visuals.

Mockups should be very loose - I think of
Kathy Sierra's older article on "How 'done' something looks should match how 'done' something is" as a great reference at this point. I particularly love the Napkin look & feel - it just feels so relevant to me. You can't sell the entire screen at once, and it certainly shouldn't be expected to rise from the ether. Several concepts could be presented this way each of which has its own good and bad. I guess I'd say distilling the design down slowly is much more efficient and innovative and will prove the power of this notion with clients. Since the goal is not to stray too far from the approved concepts and interim milestones are met. And just because you have a wireframe doesn't mean that budget should not be available to combine visuals with business value and innovation. I think this is too often forgotten, since a highly polished comp lends folks to believe that you're "nearly done", right?

Another critical point that is an entirely huge topic is that of technical feasibility of a said design - in WPF, Silverlight, assuming you're going for a pure xaml UX layer, you've got to assure that the designer either works inside of Expression Designer, or is mated to a technical engineer or Integrator type resource that can validate a designed UI can be realized inside of xaml...

In summary, selling the concepts of the app's interface should only happen through quick and dirty mockups that take the wireframes to the next level. Once approved, iconography and a fleshed out interface should lead to some early comps that don't go too deep in visual beauty. Experimenting with the animation side of things for the chosen interface should happen in small, self contained little motion tests to prove or disprove the visual concepts. This can get very expensive if not managed tightly though. Only those concepts that are chosen should lead into solutions that get plugged into the UX layer. In the case of using xaml, you should make the determination at kickoff on the UX integration strategy to be used.

Under promise and over deliver seems so obvious here, but it's a double edge sword - are we selling the power of the platform through stunning visuals or are we trying to test the waters and get buy in on the design direction, or are we trying to refine the interface...know where you are in the process and have a workflow that makes sense for your team. As a PM, you have to stick to it, and keep iterations to a minimum to stay whole. It feels like I could go on forever on this topic...another time.