Quality Assurance and Project Management:

documentation

Aug 17 2009   1:00PM GMT

Dear software developer – what is your mileage?



Posted by: Jaideep
developer, software development, documentation, planning, software requirement, software testing

I have two sets of developers. Both bunches contain quite considerable number of developers. Let us call it first set of developers and second set of developers. Both sets have their own unique way of functioning and performing.

First set of developers work randomly with no documentation, no fixed plan in place. The requirements come invariably from different directions and as soon as a new requirement comes, the developer changes the priority of his tasks based on the influence of the requirement generator. In this manner after sometime the developer loses his track of what elements he has addressed or fixed and which are pending as there is no systematic way of recording requirements and their completion track.

Second set of developers works absolutely in different manner. They record all the requirements in one place, prioritize them, maintain software version control, mark each requirement as completed only after their satisfaction and testing and reassess their requirements at each day end. This way they never lose control and are absolutely clear on what is balance and estimated time required.

Surprisingly first set of developers spend more time at work place but product less result as compared to second set of developers.

Let us compare this with two similar cars with their fuel tank full. First car is driven randomly on road for whole day without any specific purpose and exhausts its fuel at the end of the day. Second car driver is sensible in planning his route before starting his journey, reaching back early in the evening, finishing more tasks with still some considerable fuel left in his tank.

Jun 29 2009   10:00AM GMT

Outsource in a software project without losing control over it



Posted by: Jaideep
Software Project, Project Management, outsourcing, requirement analysis, requirement gathering, requirement freezing, software design, software development, software testing, documentation, project implementation, training, handholding, post implementation, Project Planning, project control, project execution, project component, project phase, project offload, project outsource

We learnt in earlier two posts about the strategic decision of a management to outsource a complete project or part(s) of a project depending on certain factors, and the factors respectively. In this post let us see at the various components of a project that are most widely outsourced or otherwise we can say these are the components of a project which can be outsourced. It is very less often that a project awarded to a company is totally outsourced.

We are talking about outsourcing an activity of a software project. The most important components of a software project can be listed as:
Requirement analysis, gathering and freezing
Design, development and testing
Documentation
Implementation, training and hand-holding
Post implementation support

These can further be broken into various sub-components under each component thereby creating a tree like structure to have a bird’s eye view of any project. Planning and execution for each phase or component comes next with control everywhere.

Outsourcing mainly is the resultant of constraints in an organization.


Feb 23 2009   10:43AM GMT

Top 15 Pain Areas in a Software Project Lifecycle



Posted by: Jaideep
Software Project Lifecycle, pain areas of a software project, Software Project, customer requirements, software project management, software metrics, Methodology and Standards, documentation, Customer requirements understanding, Measurement of Overrun, Project Status review, Role clarity, Risk analysis, Team building, Project Repository, Learning from Past, Post implementation support, Quality – man, methods, approach and deliverables, Version Control

Following are the top 15 pain areas of a software project. All points listed below appear somewhere or the other in a software project lifecycle. The ratio of pain from a particular below listed item may vary from project to project within an organization, and also from organization to organization. So although the hierarchy may vary, the pain areas somehow remain the same. A lack in addressing any one of the issue listed below may call for a big hiccup in the smooth running and closure of a project. The project size (and in turn the time and team size also) will vary depending on customer and customer requirements. Although all points listed below are self explanatory, but the understanding and perception may vary from individual to individual.

In that respect, I would like to take each of the points below one by one in my forthcoming blogs to explain how much impact each of the instrument listed below will have on the project and how to overcome this pain not only for that projects but for all the projects in that organization to come in future. The most important activity for each individual is, now, to re-arrange the points (with any additions/ or replacements) according to the ratio of pain it is giving, and then learn how to convert that pain into pleasure once for all (in my future blogs for the later part!)

  • 1. Methodology and Standards
    2. Documentation
    3. Customer requirements understanding
    4. Measurement of Overrun is in money terms immaterial of time overrun (time is not measured in terms of money)
    5. Frequent Status review in a forum
    6. Status of project movement is person based
    7. Role clarity to project manager and team on site
    8. Risk analysis
    9. Team building
    10. Customer clarity in terms of milestones and payments
    11. Project Repository
    12. Learning from Past
    13. Post implementation support
    14. Quality – man, methods, approach and deliverables
    15. Version Control

  • Jan 12 2009   10:04AM GMT

    Top 5 Quality killers in a software product



    Posted by: Jaideep
    software quality assurance, software testing, documentation, Project Management, software, Development, software quality, Quality Assurance, SDLC, business management, software development, Project Lifecycle, software requirement, business requirements, Project Development, customer requirements, defect free software

    In software development project what matters most is the timely accurate delivery that gives the benefit of defect free product, customer satisfaction, profits, market edge, growth, motivation across the organization etc. All this is not easy to achieve having so many enemies in and outside the organizations that mars the development progress or a sub-standard product. These negative factors or enemies lead to a low in quality product that faces a tough time at customer end resulting in rejection. To name top 5 quality killers in a software product, I would list them as below:
    5. Requirements: customer requirements or product requirements is the foundation of software. Any sort of compromise in this would lead definitely to a disastrous product.

    4. Management: Intensity of management’s involvement in the product development throughout spells out the success or failure of a product.

    3. Documentation: Development plays an important role during a product lifecycle and so does the documentation.

    2. Customer Involvement: The involvement of key users at all levels of development and implementation is quite crucial.

    1. Testing: ‘When’ to involve the ‘testing’ team defines the earlier successful completion of a project.