Skip Navigation Links

Classic stories of Project Management
Figure: Classic stories of Project Management

Software must help a business become more efficient and build better relationships with their clients. Clients also want software produced cost-effectively and quickly. Traditionally, software has been slow to build and difficult to change.

SSW's Rules to Better Project Management, (otherwise known as XPDM) built on eXtreme Programming, allows businesses to address their most important challenges first, and respond quickly to change. Our rules advocate software consultants working on-site, or on the phone, so long as there is close consultation with business users, with the goal to become integrated members of the clients team.

  1. Do you conduct a Specification Review?

    What is the step that the client will undertake after an initial meeting? We think it will be a "Specification Review". Generally a client wants to know if his idea will be $50K or $150K.

    A "Specification Review" is performed to determine the overall scope, feasibility, and ballpark of the project. We encourage you to also create a detailed "Release Plan" for the first 2 releases.

    eg. Mr Northwind learns that the idea he presented at the initial meeting will cost approximately $80K and he has to determine if that is feasible to his business or if he will remove some functionality.

    Have a frank & open interview style meeting with a data projector to get everything out on the table
    Figure: Have a frank & open interview style meeting with a data projector to get everything out on the table

    The Specification Review will be paid work and is conducted by two experienced developers at the client premises in close consultation with the client. The time allocated for a Spec Review is generally 1 - 5 days depending on initial expectations of the project. The rule of thumb is 1 - 2 days Spec Review per estimated month of project time. The purpose is to understand the whole project but, if the project is greater than six months, focus primarily on the first six months. The Spec Review is a process that will demonstrate to the client whether you have the commercial sense to understand their **business** and have the technical and management capacity to complete the project.

    Talk Business Process
    • Interview: During the Spec Review, obtain an overall 'outsiders' understanding of the business and project through an interview process with senior management, relevant business users and IT staff.
    • Review Documentation: Reviewing any documentation the client may already have. Remember clients are mostly looking to software consultants to assist them in solving business problems.
    • Technology: Warning: Detailed discussions about technology with the client, unless they have a specific business purpose, are unlikely to be useful. For example most clients won't be interested in a discussion about whether to use MVC or ASP.NET traditional at this stage.

    Do something valuable

    Most experts at software consulting will be able to provide a small improvement to the current system 'on the fly' during the Spec Review. This may be something as simple as adding an index to a table and thereby increasing the performance of a webpage.

    Use 'Corridor Conversations'

    Use corridor conversations to prevent nasty surprises
    Figure: Use corridor conversations to prevent nasty surprises

    While the information collected and the conclusions of the Spec Review are presented formally at the end of the Review it is important that the Project Manager convey key points to the client as they emerge through the course of the Review. The formal presentation is NOT the time to be presenting new information to the client. Formal meetings can have an Us vs Them feel. Addressing key potential sticking points of budget and technology informally during the course of the Spec Review relieves the potential for unwelcome surprises during the Spec Review presentation. Canvassing the issues beforehand in casual 'corridor conversations' clears the decks for an agreement, rather than increasing the risk of heated discussions if you surprise a client at a formal meeting. For example, telling the client that "building the cube will add around two months development time, shall we leave this out of the current scope, or do you want it in?" Remember, no politician challenging for the leadership ever calls a vote before he or she knows the numbers; you too will avoid presenting a solution at a meeting if you aren't convinced the client is already agreeable. Through the course of the Spec Review the client will by aware of at least the following:

    Budget ballpark indications expressed in terms of man months

    Each man month for senior software consultants is generally tens of thousands of dollars. Squibbling over $500 here or there in the ballpark phase is a level of detail neither side can be confident of. Clients needs to be realistic about what they get for their money.

    "We believe the solution will take approximately 180 hours which is $36,900+GST"
    Bad Example - Far too firm a price when you don't know any of the detail
    "Our projection is the project will take a minimum of 6 man months (around $200,000) to complete but this may change depending on what is finally agreed in the Specification. The price will vary depending on resources used. We propose to firm up a price for the first 3 releases and conduct a spec"
    Good Example - leaves some wriggle room at these initial phases

    Technology options

    At this stage you want to consider the most relevant technologies. For example SSW will likely pursue recent Microsoft technologies. Some clients might want to do their own research or need some time to think about their options before agreeing to newer technologies.

    Test Please

    The Project Manager must run a test please by other SSW Senior Architects and the Account Manager before anything is formally presented to the client.

  2. Do you create an Initial Release Plan and Ballpark?

    Remember, a batter aims to hit the ball way out of the ballpark. Don't set an indefensible boundary too early
    Figure: Remember, a batter aims to hit the ball way out of the ballpark. Don't set an indefensible boundary too early

    The Initial Release Plan is a summary of the work required to complete the clients project and provides a ballpark estimate. The Initial Release Plan will contain the following elements:

    • An architectural roadmap recommending technical solutions
    • Time allocated for further specification work both at the beginning (Release 1) and further down the line. At SSW we only create detailed specifications for 3 releases at a time
    • A breakdown of the required software application into its core components, likely to include the approximate number of main features (e.g. screens, reports or sitemap)
    • An integration plan
    • A deployment strategy
    • A 'future functionality' wish list - requiring the client to set the priorities for the project through defining what is in and out of scope
    • A detailed list of 'issues' associated with the existing system which impact future development and maintenance
    • Hardware and licensed software recommendations
    • A sample mock-up screen where the project is less than one month

    Sample Initial Release Plan

    1. Release 1 (1.5 man months) - Specification (mock up screens, customer stories/business rules) (Releases 2 - 4)
    2. Release 2 (1.5 man months) - Database schema design
    3. Release 3 (1.5 man months) - Development Module 1 Customers
    4. Release 4 (1.5 man months) - Development Module 2 Products
    5. Release 5 (1.5 man months) - Specification (mock up screens, customer stories/business rules) (Releases 6 - 8)
    6. Release 6 (1.5 man months) - Development Module 3 Orders
    7. Release 7 (1.5 man months) - Development Module 4 Suppliers
    8. Release 8 (1.5 man months) - Development Modules 5 Employees

    With the Initial Release Plan, the client can see whether SSW understands their business and the requirements for their software development project. The ballpark estimate allows them to decide whether the project is feasible for their budget and time-frame.

  3. Do you conduct an architecture and code review after every release?

    An internal architecture and code review is the application of the Test Please principle against the design phase. An architecture or code review conducted during every release, while adding a cost to the release for the time spent conducting the review, will minimise errors, both small and strategic, which will save costs for both the supplier and the client down the line.

    Schedule a 2 hour (2 architects x 2 hours) review during all releases. While it may not be so important to conduct a review in every development release, they are compulsory for a specification release and one will be held for every week of specification time.

    The following are items that are address in a architecture/code review:

    Background information/overview of the project

    • Current system
    • Objectives of the system
    • No. users (internal, external, edit, read only
    • Current technologies
    • Current environment (SOA, SOE)

    Points for discussion

    • Rich client
    • Web client
    • Smart client (any disconnected users?)
    • Technology choices
      • Persistance layer (SQL Server, Access, SQL Express, LINQ, netTiers)
      • Business layer
      • UI
      • Communications
      • Workflow
      • Integration - external systems
    • Requirements for 'package' software
      • PerformancePoint
      • Reporting Services
      • Accounting packages
      • SharePoint
    • Data migrations
    • Data reporting
    • User experience
    • Network
    • Responsibilities/players
    • Infrastructure
      • Network
      • Hardware
    • Deployment
      • Staged implementation
      • In parallel
      • Development/Test/Staging/Production
    • Disaster recovery
    • Change control/source control
    • Build Server
    • Performance
    • Scalability
    • Extensibility
    • Design patterns
    • Maintainability
    • Reliability (failover servers?)
    • 'Sellability' i.e. is the solution appropriate for the client?
  4. Do you effectively present the outcomes of the Specification Review?

    It's a lot easier to get a signature when you've got the right people in the room
    Figure: It's a lot easier to get a signature when you've got the right people in the room

    The findings of the Spec Review (the Initial Release Plan) will be presented at a meeting with the key decision makers of the project for review and acceptance, generally in the form of a PowerPoint presentation. It is important that all the required people are in a room together to review the Initial Release Plan.

    If you've run the Spec Review successfully the client will not be surprised by anything you present. This means discussions will focus on issues such as what particular requirements could be added into the scope in the first phase, or what releases can be completed by what date, rather than spending the meeting helping the client regain consciousness after they blacked out from seeing the price.

    The Spec Review presentation will be scheduled by the Project Manager or Account Manager for the afternoon of the final day of the Spec Review, or if the Spec Review is short (less than a week) in the week following. A proposal can sent following the conclusion of the Spec Review but at SSW we generally email the PowerPoint presentation to the client as we are already operating in a contractual relationship.

    Once again the presentation needs to pass a 'test please' from another SSW Senior Architect and Account Manager before the meeting takes place.

  5. Do you obtain approval for the Initial Release Plan and Ballpark?

    The client will already have entered a contractual relationship with SSW. It is not absolutely necessary to issue a new proposal for the commencement of Release 1. SSW is happy to commence working on Release 1 once the client has agreed to the Initial Release Plan. Agreement can be verbal with a confirming 'as per our conversation' email from the Project Manager.

  6. Do you do schedule further specifications and create a detailed release plan?

    Schedule time to dig a little deeper. There's always another layer to uncover
    Figure: Schedule time to dig a little deeper. There's always another layer to uncover

    More specs? How much is too much?

    An over simplified way of differentiating Agile methods from Waterfall methods is to say Agile does the least amount of preparation required to get something into production, while Waterfall does the most. Taking into account commercial realities SSW recommends an agile approach. But the question remains, for your specific project, how much of the whole project do you need to know in detail before you start coding?

    The answer varies from project to project and those with the responsibility to provide the answer are the architects on the project - subject to peer review. Having said that our standard is to schedule an entire Specification Release immediately following the Specification Review, with further required, depending on how much you achieve in each Specification Release. The general rule is every forth release is a Specification Release.

    What is a release?

    SSW develops software in Releases. A Release is a detailed task list of work items and their deliverable elements together with the time and cost estimates associated with those tasks. A Release is 2 - 3 duration weeks and has between 2 - 6 resources allocated depending on the project size and completion schedule.

    The term "release" implies the unit of work is delivered at its completion, but delivery can be either public (i.e. to the client) or private (i.e. just to the development/test environment). It is common for the first 2 - 3 releases (e.g. Specs & Database) to be private. Short release cycles ensure clients have continuous visibility on progress.

    The first Release for projects of greater than 1 month is a further period of specification and the creation of a detailed Release Plan for, generally, Releases 2 - 4.

    What's in a detailed release plan?

    A release plan is a list of the releases in the priority order in which they will be developed (as agreed with the client). The 'details' are a breakdown of all the tasks required to be performed in that release (including all the forms, functions, objects, stored procedures etc, possibly a few mock up screens, and importantly, the business rules/customer stories related to those tasks.

    To physically create release plans at SSW we use either eXtreme Emails! or TFS and MS Project. This makes constructing a release plan as easy as clicking a button!

    SSW offers four options for mockups.

  7. Do you know how to estimate a Release?

    Release contain two main classes of work: work items relating to the particular release (e.g. Create Customers.aspx) and work relating to all releases (e.g. management, administration, testing, software audit etc).

    Project specific work items many only make up between 25% and 50% of the total project time. Project Managers and developers will not think that the only work being charged on a project are coding tasks.

    General Project Costs

    Management costs can change depending on how much management the client requires. SSW will recommend a suitable level of management. 'Management', or to put it another way: 'accountability and transparency' has a cost.

    At SSW we add general project costs as a % of the work items generally in line with the following:

    • Unit tests: 20%
    • Testing: 10-20%
    • Fixes from testing: 10-20%
    • Software Audit: 4 hours per Release - usually conducted by two experienced architects
    • Fixes from the Software Audit: 5%
    • Project Administration: 5% - this includes items like stand up meetings, timesheets, standard updates
    • Project Management: at least 1 day per week per resource on the project (e.g. two developers full time requires a PM two days per week) UNLESS the client provides a full time Project Manager and takes full responsibility for all resources
    • Unknowns: 10%. While this is arbitrary it raises awareness for everybody that 'there are things we still don't know!'

    Project Specific Costs

    At SSW, estimates for a project will be done by a developer, checked by another developer, and finally triple checked by a project manager. While every project is different in some way, there are common elements. SSW has built an estimates calculator to assist in creating estimates.

    See the SSW Menu Estimates Calculator

    If the client requires a fixed price quotation a 20% premium is added to the estimates for the releases specified in the Specification Release only (i.e. a fixed price is not given on the entire project). Requests for variations to a fixed price contract must wait until the contract is completed. If development is based on a fixed price contract work is completed offsite only to facilitate project management and prevent unauthorized scope development.

  8. Do you obtain approval on the detailed Release Plan

    Each Release Plan is treated as a separate proposal and must be signed off after review by the client.

  9. Does your project manager coach the team on a daily, weekly and fortnightly basis?

    Does your project manager coach the team on a daily, weekly and fortnightly basis?
    Figure: Does your project manager coach the team on a daily, weekly and fortnightly basis?

    It's been called 'herding cats'. Managing both the client and the project team during the release development phase is critical. Keeping development of the release on track involves closely maintaining transparency on the important variables of project management: time, scope, budget and quality.

    Methods for managing the project team can be broken into daily, weekly and fortnightly activities.

    Daily

    Weekly

    Fortnightly

  10. Do you know how to complete a release?

    Completing the Release draws a line in the sand in the project, allowing for a review of performance thus far and confirmation to proceed to the next release. The process for completing a release is exactly the same as the fortnightly activities listed above EXCEPT you will not conduct an architectural review.

  11. Handover, support and warranty

    Implementing a Support plan

    Just like a car, applications need servicing and tuning every now and then to stay in top condition. They might need alterations to deal with new business problems, or just tuning to increase efficiency based on changing user patterns.

    Different clients need different levels of support. At SSW we offer a number of different support offerings.

    Important:
    When User Acceptance Testing(UAT) begins and there will be 30 days warranty period to test the application by the client and report any bugs back to us for free correction, after this warranty period, even bug fixing becomes chargeable. During the warranty period, all feedback from clients will be moved to next release unless they fall into the bug definition. After all reported critical bugs have been fixed, you may generate a release plan for the next release and ask for approval to start a new release.

    Warranty on a Fixed Price Contract

    The Project Manager will review the specification, check off and test all items. This will determine whether (in his opinion) all items have been completed in totality.

    The specification and project is handed over to a Tester (not a developer on the project) and the Tester reviews the specification, checking off and testing all items. He determines whether (in his opinion) all items have been completed in totality

    Bugs and enhancements are made if required

    When the Tester and the Project Manager are agreed that the project is completed: 

    • If a Client Review has been scheduled into the specification send an email using (at SSW we use ClientDiaryCategory "12 Fixed Price Handover (Review)")
    • If a Client Review has NOT been scheduled into the specification send an email (at SSW we useClientDiaryCategory "12 Fixed Price Handover (No Review)")

    Note: The warranty period pauses when the client reports a bug. The warranty period resumes when a new version is sent. For example, the client may report a bug on a Wednesday morning on "Day 18" of the warranty. The bug is fixed on Friday and a new version is sent late in the afternoon. The warranty period resumes on Monday morning, at "day 18". Therefore Wednesday through Friday were not included in the warranty.

    Note: There is no warranty on a time & materials contract

    Leaving Incomplete/Untested Work

    If, at the end of the day, work hasn't been fully tested, or is incomplete and you haven't been booked in for the next day, speak to the Company Champion that issues may arise and further work is likely to be required. After the conversation, email the Company Champion and CC your manager to confirm that further work is required.

Links

Acknowledgements

Adam Cogan
Ulysses Maclaren
Cameron Shaw
Justin King

Benefit from our knowledge and experience!

SSW is the industry leader in Custom Software Development, Software Auditing & Developer Training.

Call us on +61 2 9953 3000 or email us for a free consultation

What does it cost? I’m not in Australia. Can you still help?