Join us on 4 June as we come together with project professionals, sustainability leaders, and volunteer voices from around the world for a special World Environment Day event focused on the future of project leadership.
Conscious unbossing as a professional’s career choice and conscious unbossing as a leadership philosophy not only have no intersection, but can be detrimental in implementation. When does it become reckless leadership?
Thinking about volunteering? A longtime practitioner reflects on her 33-year journey that began after attending her first conference in 1992. Through her many roles, she gained invaluable skills, friendships, and opportunities, and encourages others to make a meaningful impact.
Long ago, software applications were developed--to solve a problem or to automate a procedure--by a small team localized within a department. Over the years that has changed. Today the applications are bigger with multifaceted features and capabilities. They are built using a variety of technologies, frameworks and tools. They are developed and used under constantly changing environment.
The development teams also consist of many architects, analysts, programmers, testers and users spread across multiple organization and regions. They operate under tighter budgetary constraints and face escalating internal and external competition, and increasingly sophisticated user requirements.
Added to all this is increased maintenance, which is the biggest contributor to the total application development cost. Barry Boehm--the creator of COCOMO model for software development estimation--says that maintenance consumes 70 percent of total cost and development consumes 30 percent for low-dependability software. Even though most of the maintenance costs occur later in the lifecycle of the software and would be discounted more heavily than development cost, the maintenance constitutes a significant part of application development. Only a small part of maintenance deals with fixing bugs. The majority of effort is spent on incorporating new features in the application and extending it to do new things.
All this makes application development more challenging as the complexities of developing, operating and maintaining an application are increasing. It also means that more application development teams are doing the activities that software product development groups execute to manage a product development lifecycle. They are dealing with many market pressures similar to the ones faced by product development teams.
Critical Time-to-Market
Time-to-market is critical for products. At times, product development teams have to go at all-out speed to develop a product when there is a clear race with competition. Software applications are sponsored by business users who operate under a continuously evolving market and compete with external entities. At times, software teams also have to go at all-out speed either to build a new application or to add a new feature to an existing application so that their sponsors are able to react to competitive pressures.
Many times, product releases need to be timed so as to hit a certain launch window, like for seasonal products or for products tied to an annual trade show, which means that the schedule variations have to be minimized. If the product misses the window, then it is rendered useless. Many times application development teams also may need to minimize schedule variation rather than achieve fastest cycle time to meet a launch window, like adding a regulatory reporting feature to an order management system before its date of filing to a government agency. If the sponsors are not able to produce the report before the filing date, then the new reporting feature will be useless.
Ever Present Change
Product development needs to be flexible so as to respond to the changing requirements of technologies, market and customers. During the course of design and development, many stages and activities like focus groups, product demos, beta releases, product trials, etc., allow product teams to understand the changing requirements and adapt.
Change is constant for software applications, too. Not all requirements are known upfront and many are changed during the development or after the release. User interface may not be efficient, or some other unforeseen thing may come up that affects the application’s development, release or operation. Not only do requirements change, but the teams also change due to employee turnover and reassignment.
The bottom line is that application development also needs to be flexible to adapt to the changing environment. The designs need to be flexible to incorporate modifications and enhancements, the processes need to facilitate flexibility and the project plans and management need to have the ability to allow for changes.
Flexible Development Approach
Traditional approaches to product development are not designed to deal with constant changes and many of today’s complexities. The flexible product development approach, on the other hand, recognizes that change is quite likely during the development, and hence incorporates activities to address change.
Flexible product development is the ability to bring products to market with a minimum of disruption when markets, customers, technologies or management direction changes rapidly. For example, in traditional project management the project plan is the roadmap and the project is judged relative to how well it follows the plan. If there is a change, then manager needs to take corrective action, which--as defined by the PMBOK Guide--is “documented direction for executing the project work to bring expected future performance of the project work in line with the project management plan.”
However, the environmental changes may invalidate the project management plan and it may not be a reliable roadmap. The flexible product management acknowledges that in such cases the plan could be as likely to be wrong as the project work.
Flexible Application Development
There are a variety of tools and techniques that aide the flexible development. Many of these are used by application development teams in some shape or form. They need to be incorporated in the design, development and management processes formally and monitored with measurable metrics. The functional and technical areas most likely to be impacted by the changes should be identified earlier in the project. Various alternatives need to be identified that would isolate and encapsulate change to localized part of the application. The impact of change would be minimized if the decisions are delayed to their last responsible moment.
Tools used by the flexible development approach are also applicable for application development. Theses include modular architecture, front-loaded prototyping and testing techniques, frequent feedback from customers, set-based design, close-knit project teams, linked decisions, framing decisions and anticipating the information needed to make them, and rolling-wave project planning.
The nearest relative to flexible product development is agile software development. The agile methodologies--based upon the four tenets of the Agile Manifesto--are much more attuned to the flexible software development than traditional methodologies. The agile manifesto calls for responding over following a plan and customer collaboration over contract negotiation. Following these two allows the development to be cheaper, faster and the resultant application to meet the customer requirements better.
Managing software application development lifecycle is becoming more challenging as the environmental complexities are increasing and the change has become a norm. A flexible project management approach designed to embrace change would be more useful than the traditional project management approach, which insists upon following the original plans. Product development teams are using flexible development to embrace and adapt to constant change. They measure progress by delivering values and not by adherence to the original plan. In the final analysis, value delivered is more useful to the user than a list of completed product requirements.
ADVERTISEMENTS
"My sole inspiration is a telephone call from a producer."