Showing posts with label project management. Show all posts
Showing posts with label project management. Show all posts

Wednesday, 22 September 2010

Agile, project management and software testing in Fall issue of Methods & Tools

Methods & Tools – the free e-magazine for software developers, testers and project managers – has just published its Fall 2010 issue with the following articles:
* Distributed Teams and Agile – Managing Global Agile Projects
* Decomposition of Projects: How to Design Small Incremental Steps
* Source Code Analysis in Agile Projects
* The Core Protocols, an Experience Report, Part 2 – Tools for High Performance Teams
* tinyPM – Agile project management
* Junit – open source Java unit testing
* Bromine – open source Web testing
* Agilefant – open source Agile project management
* SoapUI – open source Web testing

Download 70 pages of software development knowledge

Monday, 19 January 2009

From Finger in the Air Estimating to Finger Pointing Tracking

As Giovanni Asproni says it “estimation is a fundamental activity of every project”. Or at least it should be. The meaning of “estimation” varies however often for the different participants to software development projects. For the customer, “estimation” means an almost accurate amount of money he will spend and time it will need before he gets what he wants. For the project manager, it is an early commitment to the customer and from the developer to do something for a deadline. For the developer, it is the amount of time that he thinks he could do the stuff, if everything goes right.

The experienced developer will often add a 50% cushion to his estimates, knowing that not everything goes right. You can have an additional meaning in the case of outsourcing. For the salesperson, the estimation is the maximum price he can ask, while still having a lot of chances to sign a deal. A lot of young engineers will remind with astonishment hearing in a pre-sales meeting a salesperson answering to the customer that everything he wants is indeed possible… and for a cheap price too ;o)

For a developer, estimation is often equaled to fixing deadlines. He could then feel trapped by the original commitment that created expectations for management and customers. Customers have often two fixed expectations: delivery date and functionalities. Therefore, the effort is the only variable left to adjust the project activity. You can often witness a poor transition from estimation to planning with project managers that dream to have a baby in one month, if only they could manage a team of nine women. Because initial expectations cannot be achieved in many projects, the finger in the air used for estimating get then pointed downwards for blaming people: first from customers to project managers, then from project managers to developers. So print Giovanni’s article and give it to your customer before your next project planning meeting.

Tuesday, 6 January 2009

Winter 2008 Issue of Methods & Tools

Methods & Tools is a free e-newsletter for software developers, testers and project managers. Winter 2008 issue’s content:

* Fingers in the Air: a Gentle Introduction to Software Estimation

* Behavior Driven Database Design

* Optimizing the Contribution of Testing to Project Success

* Service Components and Compositions

45 pages of software development knowledge that you can download from http://www.methodsandtools.com/mt/download.php?winter08

Wednesday, 10 December 2008

My 10 Favorites Agile Project Management Articles

This is a (personal) list of articles dealing with agile project management that I like. I have chosen to include material that is longer than the usual (short) blog posting. I encourage readers to give more objectivity to this subjective set by submitting in the comments what they preferred ;o)

Agile, Multidisciplinary Teamwork by Gautam Ghosh

The Agile Customer’s Toolkit by Tom Poppendieck

Bridging Agile and Traditional Development Methods: A Project Management Perspective by Paul E. McMahon

Managing the Work in an Agile Project by Dan Rawsthorne

A Governance Model for Incremental, Concurrent, or Agile Projects by Alistair Cockburn

Measuring Integrated Progress on Agile Software Development Projects by Tamara Sulaiman & Hubert Smits

Visualizing Agile Projects using Kanban Boards by Kenji Hiranabe

The Pomodoro Technique (The Pomodoro) by Francesco Cirillo

Agile Fixed Price Projects part 1: “The Price Is Right” by Pascal Van Cauwenberghe
Agile Fixed Price Projects part 2: “Do you want agility with that?”

The Need for Agile Project Management by Mike Cohn and Ken Schwaber

Additional agile project management article resources

Agile Alliance Library
Scrum Alliance Library

Agile Journal
DZone Agile Zone
InfoQ Agile Section
Methods & Tools Articles Archive
Mountain Goat Articles
Software Development Articles, Agile Section

Friday, 12 September 2008

More than 500 Links in SoftDevLinks.com

SoftDevLinks.com is a new general directory for software developers, testers and managers. Launched in June, it has achieved in September more than 500 links. If you have a blog, a web site, distribute a tool or work a consulting company related to software development, do not hesitate to add (for free) your links in this directory.

http://www.softdevlinks.com/

Tuesday, 22 April 2008

Managing Iterative Software Development Projects

As agile software development approaches are more and more adopted in software development organizations, the title of this book from Kurt Bittner and Ian Spence seems to be right on the target. The book contains two major parts. The first gives an overview of iterative project management. It defines the concepts, discuss controlling and gives tips to assess your readiness for iterative project management. The second is a more detailed walk-through to the planning and management of iterations at different levels. It provides also information on how to assess the results of iterations, discuss the relation between iterative project management and project scales. The last chapter is dedicated to the information needed to start your first iterative project. Finally, appendices provide material on use case development (the topic of a former book from the same authors), templates, checklists and an example of 50 pages.

The process behind the book is widely based on the RUP approach; thus practitioners of a “pure” agile approach could be disoriented by the content. However, this book contains very valuable and pragmatic material about managing iterative project management that could be used in any iterative context. It will also provide good transition information towards an iterative process for project managers that operate in a more traditional organization. With 600 pages, it is a not an easy book that is quickly digested. It will nevertheless helps you to improve you grasp on iterative project management, whether you read the book sequentially or you pick sections according to your current project management questions.

Get more details on this book or buy it on amazon.com
Get more details on this book or buy it on amazon.co.uk

Thursday, 17 April 2008

More than 1000 articles in Software Development Articles Directory

The Software Development Article Directory has now more than 1000 articles in its database. This directory references knowledge-providing articles related to all software development activities (programming, testing, configuration management, process and project management) selected from the best sources on the web.

Some of the last interesting additions to the directory are
* Must-have tools for HTML, JavaScript and AJAX development and debugging
Use the best open source tools to work with Web pages, scripts, and styles, and make development of new sites and pages easy.

* Schedule Adherence: A Useful Measure for Project Management
This article utilizes the new practice of Earned Schedule (ES) to discuss a proposed measure for further enhancing the practice of EVM. The measure, Schedule Adherence, provides additional early warning information to project managers, thereby enabling improved decision making and enhancing the probability of project success.

* Focus on Value: How to create value-driven user stories
Agile has a tool that can help organizations re-focus on return on investment: value-driven user stories. Value-driven user stories are created specifically to link features with their users and the value the features have for their users. They can be created from a list of high-level features or a list of values and users centered on a general idea.

Monday, 31 March 2008

Wise Iteration

A you move ahead, keep in mind the following:

* Never confuse the map with the journey - The project plan is only an outline (and a guess at that), so you should believe the team’s results and not the plans. Remember, it is the achievement of the objectives that is important, not the production of artifacts or the completion of activities. Be careful not to confuse the ends (objectives) with the means (artifacts and activities).
* Adopt the attitude that continuous planning is a good thing - In every iteration, expect your plans to change (albeit in small ways if your planning is effective). Don’t fall into the trap of thinking that the plan is infallible.
* Mature your process alongside your team - Tune the working practices alongside the plans, adapt your team’s skills as necessary to improve over time.
* Be prepared to cut your losses - Canceling bad projects early is success because you save time, money and resources that can be applied to better opportunities.
* Be honest - Without objectivity and honesty, the project team is set up for failure, even if developing iteratively.

Source: “Managing Iterative Software Development Projects”, Kurt Bittner, Ian Spence, Addisson Wesley.

Transitioning from a traditional approach to iterative software development is more a change of mind than a schedule adjustment. So try to be honest… or at least as honest as you can be ;o)

Wednesday, 3 October 2007

A "Bones" Approach for Dead Projects

Rest In Peace (from Latin requiescat in pace) is a sentence that typically appears on christian tombstones. Software development projects have usually the same destiny. Once they are finished, often the best thing that will happen is a little celebration for the project team. Nobody will formally look back at a project to understand what went well or wrong and why those things happen, so that this project can actually rest in peace and lessons learned could be used for the next projects. There is however an activity to analyze project after their completion. It is called "post mortem" analysis (so the RIP reference is not far) or "retrospective" in the agile approach. If you have not heard about this practice or never performed such activity, you should not be ashamed. I have never seen its implementation in my software development life. Even in the last Agile survey published by Version One, where a large majority of respondents are using an agile approach, only 39% of the participants are using this practice. Why?

The first explanation is that time is a rare resource in software development organizations. It is often associated to money in budget-driven companies. As there is a sense of urgency, people try to use their available time for the more essential (for them) activities. It is sometimes already difficult to justify taking some time to think before coding, that trying to have time to think after coding could seems an utopia. It is also difficult to tell as a project leader that you will spend some man/days after the project's completion to think about what went wrong. Are you not supposed to do things right in the first time?

Our difficulty to create a context for constructive criticism is another issue faced when you try to institute some "post mortem" reflections. This is mainly due to the difficulty to separate the problems from the people that are associated to them. This is an important issue in organizations where professional excellence is a driver for monetary gains and career evolution. Will you speak openly about project problems if part of your (or your colleague) salary is a bonus linked to achieving certain professional goals? Maybe not...

There are however techniques that could help you to profit from lessons learned without creating personal issues, so that your past projects could really rest in peace and everybody could improve from a shared experience. You will find more resources about post-mortem or retrospectives for software development projects in the following articles:

* Refactoring Your Development Process with Retrospectives by Rachel Davies (HTML)

* Retrospective Agility by Tim MacKinnon in Objective View issue #8 (PDF)

* Plan of Action by Bas Vodde (HTML)

* Project "Post Mortem" Review Questions by Michael Greer (HTML)

* A Review of Small and Large Post-Mortem Analysis Methods by Mauri Myllyaho1 et al. (PDF)

Thursday, 28 June 2007

700th Software Development Article

The Software Development Article Directory has just registered its 700th article with "What Have the Romans Ever Done for Us?" ;o) This article is an interesting digression of the differences between software development and software engineering that evolves in a comparison of the agile and planned approaches to software development using the differences between the Greek and Roman civilisations.

Friday, 23 February 2007

Project Management Simpler Life

We all do projects and know their problems. With these Project Management Proverbs compiled and some written by Mike Harding Roberts, you can provide additional philosophy to this activity or at least add some humour in your PowerPoint presentations ;o)