Tag: projects

  • Using Milestones For Project Communication and Success

    Using Milestones For Project Communication and Success

    One of the important parts of tracking project progress is defining milestones.  These are points during the project where the required tasks and the goals for time meet.  It only makes sense that the definition of milestones and how they are treated are an important part of project success.

    Defining Milestones Simplified

    Although these steps in the definition process are necessary, that does not mean they have to be complex.  Every project is different, but I have found these guidelines useful.  In fact, I use them every time we need to craft milestones.

    1. Milestones must have a deliverable

    Defining a deliverable for a milestone is rarely a problem.  However, I have seen vague descriptions like “complete the application UI” as the total of the objective.  This description is a start, but not truly definable.  Nor is there a deliverable mentioned.  We have to be able to say a milestone is complete (or not) without ambiguity.  This example is improved by including a UI demo to be delivered as part of the objective.

    2. The deliverable must be visible to the customer

    This point is often an issue during a project.  There will be a step that includes securing the site or building a backend database.  Unfortunately, the implementation does not have a visible result. That is not okay.  Find a way to craft the deliverable so that the customer can see that progress has been made.  The progress may be a login screen tied to an ACL or the result of some select statements to show default data in a database.  When in doubt, modify the milestones, so the “invisible” work is part of visible steps.

    3. Provide a Method For Feedback

    Milestones are more than just getting work done.  They are also an opportunity to gather customer feedback.  Use the milestone deliverables as a way to verify the implementation is still on track with the vision and goals of the client.  This option helps deliver a successful project instead of just delivering a project.

    Defining Milestones For Success

    We have already alluded to milestones being about more than progress.  They can also be designed to improve the chances of a successful project.  As mentioned earlier, the first step is to ensure that customer feedback is part of delivering any milestone.  This goal can be achieved through regular demos and review sessions that coincide with milestone deliverables.  I find that presenting milestone deliverables in some way is useful for drawing out feedback as well as a sort of test of the deliverables.  That extra look over the deliverable can be a sanity check well also revealing gaps.

    Scheduling the milestones in a way to reduce risk is recommended.  When the milestones that have the most risk are tackled early in a project, it allows for the less risky steps to be used to make up time.  Of course, that is not always possible.  In most cases, the work on challenging items early in a project is a way to bring up estimation issues and slippage sooner.

    Defining Milestones in a Vacuum

    We are not always a part of the project definition.  Thus, we run into those projects that are ill-defined and yet, we want to be successful.  In these cases, I find it is best to break the work you control (or are assigned) into milestones.  Your position in the team may not allow for customer feedback as part of milestone delivery.  However, you can usually find someone to which the deliverable can be presented.  Every little bit helps.

    Even the largest projects can be broken down into smaller “sub-projects.”  This step is where milestones come into play.  Thus, an over-whelming or “impossible” task becomes more manageable.  Since there are so many ways projects can go wrong we need to use tools like milestones to improve our chances for success wherever possible.

  • Key Attributes of A Good Team Lead

    Key Attributes of A Good Team Lead

    A good team lead is hard to find.  Unfortunately, it is a struggle required when building a team of almost any size.  The good news is that the traits that make a good lead are easy to spot.  Once you find someone that possesses these make sure you keep them happy.

    A Good Team Lead is a Communicator

    As obvious as this may seem, it is also the most critical trait.  A Lead communicates with customers, management, and staff.  Although the Lead may want to “work” more and “meet” less, communication is always a big piece of their daily tasks.  Communication is not limited to one channel such as email, phone calls, or in person meetings.  A good lead can communicate successfully in any medium.  Communication through various means is critical to success.  Those they communicate with will utilize all of these channels.  However, written communication is the most important.  A good lead will leave a paper trail of discussions and decisions.

    They Are Comfortable in Many Roles

    A Lead is asked to take on multiple roles.  They will handle customer interaction, but also help design a solution, implement, and test.  When you have a good team lead the group works better together and stays focused.  Thus, you need to ask a broad range of questions in an interview.  Find out how the candidate thinks, test their ability to react and switch gears.  When reviewing existing staff to move into a lead role, look for people that stretch out to other groups and interact with more than their peers.

    A Good Team Lead is a Team Player

    Anyone that s placed in a leadership role will potentially focus on their career rather than the group.  A good team lead cannot fall into this trap.  They need to do the things that keep the team focused and working towards a common goal.  There is also a bit of a cheerleader aspect to such a lead.  They keep up morale and look for solutions rather than blame or excuses.

    They Are in Synch with the Customer

    The factor that might be the most important is being on the same page as the client.  A good team lead has the customer’s best interests in mind and understands their priorities.  This is a crucial piece of all the other attributes of a good Lead.  This quality helps communication, direction, and team management.  When a team lead is no the same page as the customer, the likelihood of project success goes up.  Coincidently, the frustration levels of those involved in the project good down.  Agreement between the implementors (personified by the lead) and the customers reduces overall friction and reduces the likelihood of scope drift.

    There is more to a good team lead based on particular circumstances.  However, these attributes seem to be universal in my experience with people that have excelled in the role.

     

  • Using a Clickable Demo

    Using a Clickable Demo

    One of the challenges with any project is getting everyone on the same page.  Over the years I have found that the best tool to help solve this problem is a clickable demo.  The demo is so useful it is one of the first steps in a new project.  Creating the clickable demo can be simple and straightforward or a big effort in itself.  However, these actions make even a complex system easy to model.

    Go With the Flow

    An important part of a clickable demo is an example of the application flow.  When use cases are properly done, they should be a stepping stone to the application flow.  The use cases will not provide all of the details, but a good demo will address every user story.  The look and feel of the demo are not as important initially as the flow.  It should model how a user will progress through the application while providing a rough approximation of the data they will be presented.  General navigation should be worked in early on as well.

    Look For Important Details

    Some requirements are more important than others.  The requirements that a good clickable demo presents include those around data input and output or reporting.  When a customer is reviewing a clickable demo, they should be able to tie steps into current use cases.  This link is best accomplished by showing details around each step.

    For example, let’s consider an application that includes data entry and search for entered records.  A good clickable demo will show the input fields as close as possible to the end product.  This should be at least eighty percent of the requirements for data entry.  The search, in this case, should allow a search on enough of the data entry fields to be easy to find any given record.  A customer should be given an example of how difficult or easy the interface will be for regular usage.

    Leave Room For Discussion

    The purpose of this demo-based approach is to provide a focus point for customers.  Don’t be afraid to leave a few areas open for interpretation.  Also, avoid getting designed into a corner.  The demo is not production code so spending a lot of time on it may be a wasted effort.  As iterations of the demo are presented there will be areas that become concrete, but early on avoid lock-in where possible.

    The Danger of a Clickable Demo

    I started with a claim of this approach being perfect for any project.  That does not mean it is not without risks.  The most common issue with a demo of this type is that it is “too good.”  In this situation, a customer falls in love with the demo.  The result is not a criticism, but instead something along the lines of “when can we ship it?”  This tricky situation can be avoided by clearly stating smoke and mirrors and lacking functionality during the walk through.  Set the expectations early, and clearly, so there is not an underestimation of the effort required to make the demo fully functional.

    The problem with a vision is that it is not reality.  Thus, everyone is left to their interpretation of the goals.  Try a clickable demo next time to bring a vision into reality early in a project life-cycle.  It will make discussions of the vision much easier and will help avoid misunderstanding of conceptual features.