The Latest
Iterations[article] 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. |
||
Social Network Analysis within Agile Teams[article] 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. |
||
Silver Bullets, Theory, and Agility[article] 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. |
||
Writing Shippable Code (Part Two)[article] 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. |
||
Transitioning to Agile in the Middle of a Project[article] 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. |
||
The New Challenge in Agile Adoption[article] 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. |
||
Seven Agile Coach Failure Modes[article] 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 Tester Who Came In from the Cold[magazine] Traditionally, relationships between testing and coding teams often bordered on frosty. But the wall has started to come down, especially in organizations that have embraced agile principles, values, and practices. |
||
A Gram of Prevention[magazine] Following an "I-click-therefore-I-Program" methodology does not lead to quality software. Good code can and should evolve from clear, up-front descriptions of the solution to the problem at hand. |
||
When Coders Control Companies[magazine] Software developers are not typically at the top of the organizational chart. Yet in some cases, developers are able to wield their knowledge and control of the code to hold management hostage to the developers’ own agenda. How can you avoid being taken hostage and losing control of your company and its software? |
||
The One-Hour Regression Test[magazine] If a customer asked you to demonstrate to him, within an hour, that your newest software is ready for use, what tests would you run? Are these the same tests that you are now performing in your first hour of regression testing? They should be. |
||
Tale of a Yo-Yo Manager[magazine] There is much more to empowering your team than simply stating "You're empowered." Consider the three Ws of empowerment: "what," "when," and "why" when creating boundaries that define which decisions are the team's and which need management approval. |
||
Got You Covered[magazine] Excellent testing starts by questioning the mission. So, the first step when we are seeking to evaluate or enhance the quality of our test coverage is to determine for whom or what we're determining coverage. |
||
Passing the Buck[magazine] One way object-oriented systems address the maintenance problem is by using "implementation hiding." Clients of an object shouldn't be dependent on its inner workings--they should only have to know how to talk to it. |
||
Scenario-Based Software Architecture Reviews: A Quality Process[presentation] Quality attributes--performance, scalability, availability, maintainability, etc.-are often referred to as the non-functional requirements. |
Kevin Bodie, Pitney Bowes Inc
|