Early implementations of Agile focused on brand new or newer product-lines. More recently, Agile is gaining acceptance in the legacy product space where the project teams are moving away from their company's traditional (a.k.a., waterfall) methodology and moving toward an Agile approach. In these cases, the project team that begins to use Agile methods are typically inheriting an existing infrastructure that was constructed for a phased (a.k.a., waterfall) approach.
Iteration is at the heart of agile development practices. In an agile project you do something, measure your progress, and then use the feedback from the measurement to figure out what to do next. This cycle allows you to follow the Agile Manifesto value Responding to change over following a plan by providing for points in time where you can measure your progress at the project level. Whether your approach to agile is project-focused like Scrum or development-focused, like extreme programming, iteration is what drives an agile project.
It is possible to apply techniques borrowed from social network analysis) to software development teams. Once revealed, social networks can be actively or passively stimulated for the benefit of team formation and cohesion. Agile principles incorporate social network stimulation on an almost subliminal level; this is one of the reasons why agile principles work.
Software isn't hard, thinking is hard!
"The essence of a software entity is a construct of interlocking concepts ... I believe the hard part of building software to be the specification, design, and testing of this conceptual construct ..."
Frederick P. Brooks Jr.
Brooks suggests that the creation of a conceptual construct is the "irreducible essence" of software. Four properties contribute to the difficulty of creating such a construct: complexity, conformity, changeability, and invisibility.
The first part of this article introduced the concept that developing a complex software system was like going on a journey. I contrasted how we plan our journeys through the use of route planning systems against that of an agile journey which is more like using a GPS in our car. I also introduced the idea that we only know when we have reached our journeys end (being completely done) when we have demonstrated that we have fully satisfied the expectations of the customer, our criteria for a successful outcome and that we can use this thinking throughout our project so that each iteration delivers software which can achieve a successful customer outcome.
Every team transitions to agile in different ways, and this column is one of those stories. But what makes this one different is that the main character, a project manager, is transitioning her team to agile in the middle of a project. From this story, Johanna Rothman details a potential survival guide for any project manager and team embarking on the same journey.
Agile Coaches have a big job.
"Support the team but not too much and not too little."
"Be available but don't be overbearing."
"Offer ideas but don't get too involved."
"Coach, don't manage."
All this advice can be confusing, even contradictory. No wonder Agile Coaches fall into less-than-desirable behaviors as they try out new things to help teams. The problem is that these behaviors can subtly undermine a team's ability to organize, improve and, eventually, reach high-performance. That's why they are called failure modes.
The good news is: Agile is going mainstream; it is not some fad nor is it just for unwashed coders. Managers get it. The not so good news is: this means the approach to introducing Agile needs to change.
Agile Software Development started at the code face. Kent Beck's original Extreme Programming had little - if anything - to say about the wider organization and the role of management. Developers could - and did - just adopt practices like test driven development and stand-up meetings.
This paper reveals the correlation between testing productivity and testing quality. It also explains why it is important to establish the correlation between these two factors.
This paper discusses how data integrity should secure the customer's data and/or processes against unauthorized access. This paper also details how to adopt strong security standards based on the customer and end user's security policy.
Recommended Web Seminars
Agile Connection is one of the growing communities of the TechWell network.
|Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery. Join the conversation now!|