There is an interesting relationship between having predictable estimates for project management and using a thorough definition of done.
Achieving the full definition of done for a feature or release (often called being done-done) is surprisingly difficult. You may have heard the anecdotal rule of thumb that it takes 80% of the time to achieve 80% [...]
Posts in category 'Management'
- Add Comment
- No Comments
- Permalink
I have written previously about the importance of having a definition of done that the team understands and adheres to. At the level of features (use cases, user stories, etc.) a comprehensive definition of done will often consist of a number of items, some involving non-developer roles such as tester, business analyst, and architect. Tracking [...]
- Add Comment
- No Comments
- Permalink
My previous article discussed the importance of defining success as it relates to software projects and products. Now I want to look at some typical definitions of success and identify problems or short-comings with these definitions. From this analysis I aim to point the way towards a better definition of what success entails.
Typical Definitions [...]
- Add Comment
- No Comments
- Permalink
Can you define what makes a successful software development project or product? Do you know the criteria by which your current assignment will be judged a success? Does everyone associated with the project or product share the same definition? Defining what it means to be successful may seem obvious or trivial, but I expect that [...]
- Add Comment
- No Comments
- Permalink
Whether you are working on a small task or a large project, do you and your team have a clear understanding of what it takes to complete a piece of work? The Scrum method of software development calls this Definition of Done and touts this as a critical practice for high-performing teams. While I have [...]
- Add Comment
- No Comments
- Permalink
The goal of quality assurance (QA) activities is to ensure that a particular work product is of sufficient quality. Work product most typically refers to the software making up the system, but can also be applied to related documentation (requirements or design) or even processes. Two common methods for doing QA are reviews and testing, [...]
- Add Comment
- No Comments
- Permalink
I recently read an interesting research paper titled Metrics and Laws of Software Evolution – The Nineties View by Lehman et al in the 1997 proceedings of the Software Metrics Symposium that discusses eight laws of software evolution. One set of graphs within the paper jumped out at me: they show the incremental growth of two systems over a series of releases. The graphs shared a common pattern: releases with higher than average incremental growth tended to alternate with one or more releases with lower than average growth. What are the implications of this commonly observed behavior for developing and using software? How can we use this pattern to our advantage? Read on to see my answers to these questions.
- Add Comment
- No Comments
- Permalink
Working as a software developer offers many challenges ranging from tracking down an elusive defect in third-party software to trying to determine what a client really wants. Perhaps the most difficult challenge, however, is succeeding as an oracle who can accurately divine the future – more commonly referred to as creating an estimate. A layperson [...]
- Add Comment
- No Comments
- Permalink
How can organizations change? Given my interest in perpetual learning and continuous improvement, I find this an interesting question whether you are talking about a small team or an international corporation. While organizations can slowly evolve by accident, significant transformational change only happens due to focused and deliberate effort. The people responsible for championing this [...]
- Add Comment
- No Comments
- Permalink
I recently attended a presentation titled “Are You Silver Bullet Proof?” at the ICE Technology Conference by Sharon Stanbury and Joni Mines of the City of Edmonton. As non-I.T. people, they revealed an interesting perspective on how enterprise I.T. departments and the business should work together. They started by introducing two myths concerning I.T.:
Myth [...]
There are several strategies for producing software releases. One approach is to release by schedule – the software ships on a fixed date defined well in advance. Another method is to release based on budget – the work stops once the money available is exhausted. I believe, however, that the best strategy in general is [...]
I recently attended a three day course on ITIL Service Management and wanted to share what I learned and what my impressions of ITIL were.
ITIL – Information Technology Infrastructure Library – is a library of books that defines a framework of processes for IT and provides guidance regarding their implementation. ITIL was created by the [...]
- Add Comment
- No Comments
- Permalink
In order to work effectively with coworkers and clients, you need to understand their viewpoint. Over the last few years, I have discovered that a person’s approach to rules such as processes or standards is an important element in understanding and predicting how they will operate in the workplace. One reason this is a useful [...]
I recently attended two seminars at the ICE 2006 Technology Conference in Edmonton thanks to my employer CGI. I enjoyed both presentations and regret not attending more. I was able to pull some useful tips and ideas from each seminar that resonated with me.
The first session was Lessons for Risk Management Taken from the [...]
- Add Comment
- No Comments
- Permalink
I have recently experienced two episodes of ‘crunch mode’ – the flurry of activity prior to deploying new functionality into production. The crunch happens because there is insufficient time to do everything that needs to be done. To compensate, people work longer or take shortcuts like skipping thorough testing. The result is often a higher [...]
My article on Understanding Project Schedules discussed four factors of project schedules: time, resources, scope, and quality. Time is often the factor of greatest interest to project stakeholders such as customers or management. They often ask when the project will be finished. I refer to this as elapsed time – the passage of days on [...]
Project schedules are obviously important for project managers and team leads. They are often asked questions like “When will this project be finished?”, with a typical follow-up question of “Can it be done sooner?”. So one key responsibility of project managers is to create and maintain the project schedule. Does this mean that software developers [...]
- Add Comment
- No Comments
- Permalink
This is a software organizational / project management pattern that I have come across many times but never seen written, so here it is.
Context: You are managing a team (four or more people). The primary goal of your team is to develop new software functionality (either by creating a new product or enhancing an existing [...]
I recently read the book Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency. My previous post on Working Smarter, Not Harder already discussed the main premise of the book. However, DeMarco writes compelling arguments on other issues, one of which is overtime.
Much analysis has been done to determine the correlation between software [...]