One of my many responsibilities at work as part of my role as Java Practice Lead is the hiring of Java programmers, developers, and architects in collaboration with human resources. Recently I have been adjusting our hiring process and clarifying the roles and people involved. I am always juggling a multitude of requests and demands [...]
Posts in category 'management'
As a scrum master or technical lead do you find yourself frittering away your time staring at the spreadsheet (or other tool) you use to track progress of the team? Do you keep studying the velocity and burndown or keep tweaking the numbers or formulas? I have heard of this becoming a chronic problem for [...]
I believe there are two primary flaws in focusing on plans. The first flaw is the assumption that following the plan will achieve the goal. Sure, the plan is assembled with the intent of meeting the objectives, but what guarantee is there that this will actually happen? The second flaw is putting one’s primary attention [...]
- Add Comment
- No Comments
- Permalink
I describe in my prior article how formal audits suffer from a number of drawbacks, and hopefully I have alerted you to the potential harm they can do. But some audits are necessary or can be helpful. So how do you detect when audits are causing you harm? Here are ten specific warning signs you [...]
- Add Comment
- No Comments
- Permalink
In heavily-regulated or bureaucratic environments formal audits are a common occurrence. Such audits typically consist of an auditor external to the team or organization who analyzes historical evidence of the work done to find non-conformities with respect to the documented process being audited. To those with a bureaucratic mindset process and audits are the answer [...]
- Add Comment
- No Comments
- Permalink
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 [...]
- 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
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 [...]
- 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 [...]