Project Management

Disciplined Agile

by , , , , , ,
This blog contains details about various aspects of PMI's Disciplined Agile (DA) tool kit, including new and upcoming topics.

About this Blog

RSS

View Posts By:

Tatsiana Balshakova
Mark Lines
Mike Griffiths
James Trott
Bjorn Gustafsson
Curtis Hibbs
Scott Ambler

Past Contributors:

Joshua Barnes
Michael Richardson
Daniel Gagnon
Valentin Tudor Mocanu
Kashmir Birk
Glen Little
Klaus Boedker

Recent Posts

DA 5.6 is released

Disciplined Agile 5.5 Released

Choose Your WoW! Second Edition Is Now Available

Requisite Agility applied in Project Management

Disciplined Agile and PMBoK Guide 7th Edition

Categories

#ChoiceIsGood, #ChooseYourWoW, #ConsumableSolution, #ContinuousImprovement, #CoreAgilePractices, #experiment, #Experimentation, #GuidedContinuousImprovement, #Kaizen, #LifeCycles, #ProcessImprovement, #TealOrganizations, Adoption, agile, agile adoption, Agile Alliance, Agile Business Analyst, Agile certification, agile data, agile governance, agile lifecycle, agile metrics, agile principles, agile transformation, Agile2018, Agile2019, Agile20Reflect, AgileData, Analogy, announcement, Architecture, architecture, architecture owner, Articles and publications, Asset Management, Atari, Backlog, Barclays, being agile, benefits, bi, blades, book, Branching strategies, Browser, Business Agility, business intelligence, business operations, capex, Case Study, Certification, certification, charity, Choose your WoW, CMMI, cmmi, Coaching, Collaboration, Communications Management, Compliance, Compliancy, Conference, Construction, Construction phase, Context, Continuous Improvement, coordination, COVID-19, Culture, culture, Cutter, DA, DAD, DAD Book, DAD discussions, DAD press, DAD roles, DAD supporters, DAD webcast, DADay2019, Data Management, database, dependencies, Deployment, Development Strategies, DevOps, disaster, Discipline, discipline, Disciplined Agile, disciplined agile delivery, disciplined agile delivery blog, Disciplined Agile Enterprise, disciplined devops, Documentation, Domain complexity, dw, DW/BI, Energy Healing, Enterprise Agile, Enterprise Architecture, Enterprise Awareness, enterprise awareness, Essence, estimation, Evolving DA, Executive, Experiment, facilitation, FailureBow, feedback-cycle, finance, Financial, FLEX, Flow, foundation layer, Funding, GCI, GDD, Geographic Distribution, gladwell, global development, Goal-Driven, goal-driven, goals, Governance, GQM, Guideline, Hybrid, Improvement, inception, Inception phase, India, information technology, infosec, Introduction, iterations, Kanban, large teams, layer, lean, Lean Startup, learning, Legal Project Management, LeSS, Lifecycle, lifecycle, Manifesto, mark lines, marketing, MBI, Metaphor, Metrics, metrics, mindset, Miscellaneous, MVP, News, News and events, Non-Functional Requirements, non-functional requirements, Non-solo development, offshoring, Operations, opex, Organization, Outsourcing, outsourcing, paired programming, pairing, paper, People, People Management, phases, Philosophies, Planning, PMBoK, PMI, PMI and DA, PMI Chapter, Portfolio Management, post-format-quote, Practices, practices, Principle, Process, process improvement, process tailoring, Product Management, product owner, Product Owners, productivity, Program Management, Project Management, project-initiation, Promise, Quality, quality, rational unified process, Refactoring, Reiki, Release Management, release management, Remote Training, Remote Work, repeatability, requirements, Requirements Management, research&development, responsibilities, retrospectives, Reuse, Reuse Engineering, ride for heart, rights, Risk Management, Risk Management, Risk management, Roles, RUP, SAFe, sales, Scaling, scaling, scaling agile, Scheduled Workshops, SCM, scorecard, Scrum, ScrumMaster, SDLC, Security, security, self-organization, SEMAT, serial, skill, solutions software consumable shippable, Stakeholder Management, strategy, Support, Surveys, Teal organizations, team development, Team Lead, team lead, Teams, Technical Debt, Teleconferencing, Terminology, terraforming, test strategy, testing, time tracking, Tool kit, Toolkit, tools, traditional, Transformation, Transition iteration, transition phase, Uncategorized, Upmentors, Using PMI Standards, value stream, velocity, vendor management, Virtual Training, Workflow, workflow, workspaces

Date

Viewing Posts by Scott Ambler

Recovery Testing

Categories: agile, quality, testing, DevOps, Scrum

linkedin twitter facebook Request to reuse this  

Tester - canstockphoto10102295 - small

by Danial Schwartz

In Disciplined Agile Delivery (DAD), testing is so important we do it all the way through the lifecycle. One approach that your team will need to consider performing is recovery testing, which is used to see the ability of a system to handle faults. If a fault occurs, does the system keep working and does not stop? In case of a fault can the system recover within a specified period of time? In the event of a critical failure will damage such as physical, economical, health related, etc., result or not?

Recovery testing constitutes of making the system fail; then the results of system recovery are observed. The efficiency of the system to return to normal and the time it takes to do so are examined. The disturbances which can result in failure and need to be checked vary from product to product and from industry to industry.

Consider the healthcare industry and medical devices. When products are developed for the health care industry they have to be in strict accordance with FDA guidelines. They also have to adhere to the guidelines provided by the company for which the product is being made. When recovery tests are made they naturally have to comply with these strict rules. The tests require validation and so does the environment in which they are to be carried out.

The Defense Industry consists of complex systems embedded within one another. The interlink of the systems requires recovery testing which takes into account how different systems affect one another. Since the industry has to deal with harsh environmental variables, these have to be replicated for recovery testing. Doing so is no easy task.

Cloud applications are increasing in popularity. They are part of cloud systems. The cloud systems, in turn, are made up of commodity machines. This allows taking advantage of economies of scale. But this results in needing to use complex software which makes recovery testing quite a challenge.

Before a recovery test can be carried out, the software recovery tester has to make sure that recovery analysis has been undertaken. A fail over test is designed. The fail over test serves to determine that if a given threshold is reached, can the system allocate extra resources. It also serves to show if, in case of critical failure, a system can distribute resources and continue to operate or recover within a specified time.

Consider the example of a server which is reachable but it is not responding as one would expect it to. This is the fail-over cause. The result of this, known as the possible impact, could be a crash. The severity of the impact is medium to high. To simulate this one could initiate wrong responses on the server side.

Another example of a fail-over cause is a power supply failure. If the failure was in the auxiliary power source its possible impact could be a complete shutdown. This is critical. To simulate this the system could be subjected to a change in power strength or the power cord could simply be unplugged.

A low impact severity example includes a DB overload. This could result in slow response time. It could also result in information not being fetched from the DB leading to an error. Using appropriate tools a load test could be created to simulate this scenario.

At times a service might stop posing a low to high impact severity depending on the service which stopped. There might not be any possible impact or an application might stop working. To simulate this one could stop the service manually to see the possible impact.

The tester also has to ensure that the test plan and test environment are prepared, information is backed up, the recovery panel has been provided education and a record is kept of the techniques used for recovery.

Use of resources and having to deal with unpredictable possibilities makes recovery testing a daunting task, but its benefits are worth the trouble.  First, recovery testing improves the system quality. It removes risk since one knows that in case of a failure the system will continue to work.  Second, recovery testing results in a staff which is educated to perform recovery failure when need arise.  Third, recovery testing also fixes problems and mistakes in a system before it has to go live.  Finally, recovery testing shows how important recovery is and raises awareness of the fact that long term business continuity relies heavily on recovery management.

In conclusion, recovery testing is used to see how a system behaves when failure occurs. Recovery testing can be a tedious process but shows the efficiency of a recovery plan, educates the staff on how to deal with faults and failures which occur in systems, highlights the importance of recovery at times of crisis to members of the IT and business organizations, and shows how important it is to the long term success of a business to have a recovery strategy in case of a disaster.

 

About the Author

Danial Schwartz is a content strategist who sheds light on various engaging and informative topics related to the health IT and Q&A industry. His belief in technology, compliance and cost reduction have opened new horizons for people in the health care industry. He is passionate about topics such as Affordable Care Act, EHR,testing, test automation, and privacy and security of data.

 

Related Resources

Posted by Scott Ambler on: February 22, 2016 11:56 AM | Permalink | Comments (0)

Why should organizations be interested in Disciplined Agile certification?

Categories: agile, People, Scrum, certification

linkedin twitter facebook Request to reuse this  

Team

Disciplined Agile certification is for agile professionals working in enterprise-class settings such as banks, insurance companies, retailers, and government agencies. You’re not working in ideal situations – you have legacy cultures, legacy systems, and legacy processes to overcome – but that doesn’t mean you can’t make things better. You take pride in your work and you want to create environments where you can be effective, and you can do that by adopting Disciplined Agile strategies.

For organizations the primary value of disciplined agile certifications are that they indicate that people have gained a certain level of knowledge and in some cases expertise in Disciplined Agile methods.  Our principled approach to Disciplined Agile certification results in respected certifications that you can trust.  There are several benefits of Disciplined Agile certification for organizations:

  • It is meaningful. Disciplined Agile certification has to be earned. It is an indication that your people have a comprehensive understanding of enterprise-class development, and not just cargo cult agile.
  • It forms the basis of measurable skills assessment. Because the certifications build upon each other you can use them as a measure of how well agile skills and knowledge are spreading through your organization.
  • It’s trustworthy. Because Disciplined Agile certification is externally managed it is difficult for teams to game the numbers, unlike the self-assessment approach that is becoming all too common.

 

The Disciplined Agile Certification Program

The Disciplined Agile Certification program has three main certifications for practitioners – Certified Disciplined Agilist (CDA)Certified Disciplined Agile Practitioner (CDAP), and Certified Disciplined Agile Coach (CDAC) – that build upon each other. There is an additional designation, Disciplined Agilist (DA) and a fifth designation for trainers, Certified Disciplined Agile Instructor (CDAI).

Certified Disciplined Agilist (CDA): Shu (Beginner)

cdaInfoLarge

This certification indicates that the holder has comprehensive knowledge of how the Disciplined Agile solution delivery process works from beginning to end. To earn this Shu-level certification you need to pass a comprehensive test. It typically takes between 10 and 15 hours of classroom or reading time to prepare for the test. The primary benefits of this certification are that it:

  • Indicates that you have an understanding of how agile solution delivery works in enterprise-class settings;
  • Is a meaningful certification that sets you apart from the multitude of “certified masters”;
  • Shows that you have the desire to go beyond “cargo cult agile”;
  • Directs you down a path that reflects the realities faced by agile teams working in enterprise-class settings, enabling you to recognize and avoid the time consuming pitfalls common to Scrum teams.

Certified Disciplined Agile Practitioner (CDAP): Ha (Intermediate)

Certified Disciplined Agile Practitioner (CDAP)

This certification indicates that the holder has comprehensive knowledge of how the Disciplined Agile solution delivery process works from beginning to end and has experience applying agile strategies in practice. To earn this certification you must have earned the CDA first, have at least two years of agile work experience (you are required to provide references), and you have passed the CDAP test. The primary benefits of this certification are that it shows you’re:

  • Proficient at agile development and on the path towards mastery;
  • Ready to start helping others learn, potentially in a junior coaching role supervised by someone more experienced, such as a CDAC.

Certified Disciplined Agile Coach (CDAC): Ri (Expert)

Certified Disciplined Agile Coach (CDAC)

This certification indicates that the holder has comprehensive knowledge of how the Disciplined Agile solution delivery process works from beginning to end, has experience applying it in practice, and has proven giveback to the community. To earn this certification you must have earned the CDAP first, have at least five years of agile work experience (you are required to provide references), and have gone through a board-level interview. The primary benefit of this certification is that it shows you’re qualified to coach agile delivery teams. Effective coaches must have deep knowledge in what they are coaching people in, and that requires proven experience.

 

Retention

To retain your certification you should be dedicated to continuous learning of agile strategies in general, and in Disciplined Agile (DA) strategies in particular. Once someone is certified there are no direct membership dues. For CDA’s to retain their certification level they must take and pass the CDA test every two years. Having said that, at the two year point a practicing CDA is eligible to apply to become a CDAP anyway. Anyone with a CDAP will need to either pass the CDAP test every two years, or if they are qualified to apply for and become a CDAC. CDACs must provide proof of continuing give back to the DA community.

Further Reading

Posted by Scott Ambler on: February 16, 2016 08:37 PM | Permalink | Comments (0)

Why should you become certified in Disciplined Agile?

linkedin twitter facebook Request to reuse this  

Certified

Are you tired of being embarrassed when you tell people what agile certifications you have? Are you tired of dancing around what little you had to do to “earn” your certification or what little knowledge about agile that effort actually imparted? Are you tired of explaining that you got certified only because it looks good on your resume, when in fact it only looks good to organizations that really don’t know what they’re asking for?  If you answered yes to any of those questions, it’s time to up your game.

Disciplined Agile certification takes a principled approach that provides real value to practitioners. Disciplined Agile certifications are respected because they are earned. There are several benefits of Disciplined Agile certification for practitioners:

  • Increase your knowledge.  Disciplined Agile certification requires you to have a comprehensive understanding of Disciplined Agile Delivery, which in turn describes how all aspects of agile principles and practices fit together in an enterprise-class environment.
  • Improve your employability.  Disciplined Agile certification indicates to employers that you’re dedicated to improving your knowledge and skills, a clear sign of professionalism.
  • Improve your career options.  Disciplined Agile certification can help you gain that new position or role as the result of your increased knowledge base and desire to improve.

Disciplined Agile Certification is for agile professionals working in enterprise-class settings such as banks, insurance companies, retailers, and government agencies. You’re not working in ideal situations – you have legacy cultures, legacy systems, and legacy processes to overcome – but that doesn’t mean you can’t make things better. You take pride in your work and you want to create environments where you can be effective, and you can do that by adopting Disciplined Agile strategies.

 

The Disciplined Agile Certification Program

The Disciplined Agile Certification program has three main certifications for practitioners – Certified Disciplined Agilist (CDA), Certified Disciplined Agile Practitioner (CDAP), and Certified Disciplined Agile Coach (CDAC) – that build upon each other. There is an additional designation, Disciplined Agilist (DA) and a fifth designation for trainers, Certified Disciplined Agile Instructor (CDAI).

 

Certified Disciplined Agilist (CDA): Shu (Beginner)

cdaInfoLarge

This certification indicates that the holder has comprehensive knowledge of how the Disciplined Agile solution delivery process works from beginning to end. To earn this Shu-level certification you need to pass a comprehensive test. It typically takes between 10 and 15 hours of classroom or reading time to prepare for the test. The primary benefits of this certification are that it:

  • Shows that you have an understanding of how agile solution delivery works in enterprise-class settings;
  • Is a meaningful certification that sets you apart from the multitude of “certified masters”;
  • Indicates that you have the desire to go beyond “cargo cult agile”;
  • Directs you down a path that reflects the realities faced by agile teams working in enterprise-class settings, enabling you to recognize and avoid the time consuming pitfalls common to Scrum teams.

 

Certified Disciplined Agile Practitioner (CDAP): Ha (Intermediate)

Certified Disciplined Agile Practitioner (CDAP)

This certification indicates that the holder has comprehensive knowledge of how the Disciplined Agile solution delivery process works from beginning to end and has experience applying agile strategies in practice. To earn this certification you must have earned the CDA first, have at least two years of agile work experience (you are required to provide references), and you have passed the CDAP test. The primary benefits of this certification are that it shows you’re:

  • Proficient at agile development and on the path towards mastery;
  • Ready to start helping others learn, potentially in a junior coaching role supervised by someone more experienced, such as a CDAC.

 

Certified Disciplined Agile Coach (CDAC): Ri (Expert)

Certified Disciplined Agile Coach (CDAC)

This certification indicates that the holder has comprehensive knowledge of how the Disciplined Agile solution delivery process works from beginning to end, has experience applying it in practice, and has proven giveback to the community. To earn this certification you must have earned the CDAP first, have at least five years of agile work experience (you are required to provide references), and have gone through a board-level interview. The primary benefit of this certification is that it shows you’re qualified to coach agile delivery teams. Effective coaches must have deep knowledge in what they are coaching people in, and that requires proven experience.

 

Retention

To retain your certification you should be dedicated to continuous learning of agile strategies in general, and in Disciplined Agile (DA) strategies in particular. Once someone is certified there are no direct membership dues. For CDA’s to retain their certification level they must take and pass the CDA test every two years. Having said that, at the two year point a practicing CDA is eligible to apply to become a CDAP anyway. Anyone with a CDAP will need to either pass the CDAP test every two years, or if they are qualified to apply for and become a CDAC. CDACs must provide proof of continuing give back to the DA community.

 

Further Reading

 

Posted by Scott Ambler on: February 09, 2016 02:14 PM | Permalink | Comments (0)

Should Software Architects Write Code?

linkedin twitter facebook Request to reuse this  

Source code
One of the age-old debates in the software world is whether software architects need to write code.  We suspect that as an industry we’ll never reach consensus on this topic. Here are our thoughts on the subject.

Short Answer:

Hell yes!

Detailed Answer:

In the following table we list the advantages, disadvantages, and considerations (when does the strategy makes sense) to compare whether a software architect should write code or not.  You may recognize this approach from our book Disciplined Agile Delivery.

Strategy Advantages Disadvantages Considerations
Software architects also develop
  • Helps to keep the architects grounded
  • Developers are more likely to respect the architects and follow their advice
  • Architects are able to create working examples of their strategies, increasing the usefulness to developers
  • More people with architecture skills are needed to support your development teams (arguably a good thing)
  • Apply when you have an ample supply of people with architecture skills, or at least are willing to invest in developing sufficient people
  • Apply when it is critical that developers build well-architected solutions
Software architects don’t develop
  • Architects can focus on architecture
  • Architects can support multiple delivery teams
  • Developers are far less likely to follow the advice of such architects, effectively forgoing any benefit the architects could have brought to your organization
  • The architects are forced to create less-effective artifacts such as white papers and models, as compared with working reference architectures, due to lack of coding skills
  • When you have very few people in your organization with architecture skills
  • The software architects should pair with others so as to transfer their architecture skills to them, thereby growing the pool of software architects and thus making it more viable to allow the software architects to code

In the Disciplined Agile (DA) toolkit we’ve made it very clear that we expect Architecture Owners to be actively involved with the development of the solution.  On Disciplined Agile teams the Architecture Owner is effectively a team member with additional responsibilities around leading the team through architecture decisions, in coaching them on architecture skills, and in working closely with your Enterprise Architecture team (if any) to ensure their development team understands and is working towards your organization’s technical roadmap.

We’re often told that it isn’t realistic to expect architects to write code.  Invariably this is coming from people who are currently working in traditional IT organizations that have very well-defined roles, IT organizations that more often than not are struggling to be effective.  Our response is always the same – Really?  Are development teams following your architectural strategy?  Are they eager to work with you, or are they forced to work with you?  This generally leads to a discussion that reveals that things aren’t going so well for these architects in practice, and sometimes leads to a positive discussion as to how we can move towards a more effective approach for them.  They kind of approach described in the Disciplined Agile (DA) toolkit.

 

Additional Reading:

 

Posted by Scott Ambler on: February 08, 2016 11:00 AM | Permalink | Comments (0)

Agile Data Warehousing Q&A

Categories: agile, Scrum, Kanban, lean, DW/BI

linkedin twitter facebook Request to reuse this  

Database - canstockphoto9755692 - Small

On Tuesday, February 26th I ran a webcast entitled Disciplined Agile Data Warehousing/Business Intelligence.  During the webcast we received several very good questions, some of which we had time for and some of which we didn’t get to.  Regardless, we’ve decided to answer all of them here in this blog.  In a few cases we’ve had to reword the questions to correct spelling or grammar mistakes and in a few cases we combined questions because they were effectively the same.  We have organized the questions and answers into the following categories:

  1. Start here
  2. Vertical slides of DW/BI functionality
  3. Architecture and design
  4. Refactoring databases
  5. Other development practices
  6. Miscellaneous
  7. Where can we learn more?

Start Here

Where can we download the slides?

  1. A PDF of the slide deck can be found on Slideshare.net.
  2. The recording of the presentation can be found on the DAC webinars page.
  3. We have also created a Disciplined Agile DW/BI poster that you can download from the DAC posters page.

Vertical Slices of DW/BI Functionality

How do we start with high-risk, vertical slices?

Disciplined Agile teams take a risk-value approach to prioritizing their work, an extension to Scrum’s value-driven approach.  The basic idea is that disciplined agile teams will implement the highest-risk requirements first so as to prove the architecture with working code early in the lifecycle.  This strategy works quite well for DW/BI solutions, just like any other type of solution.  To do so, you need to understand the risks that your team faces.  For a DW/BI solution, these risks may include:

  • Can you access the data in key operational data sources?
  • Can you process the volume of incoming data?
  • Can you address data quality issues found in operational data sources?

To address these risks, look for high-value requirements whose implementation would force your to address the risks.  Implement those requirements first.

How can we include all of the stages of DW/BI development into iterations/sprints e.g. Data modeling, staging, profiling, dd, DQ, ETL, reporting, testing into single iteration?

This can be a struggle for any team new to agile, not just a DW/BI team.  The challenge is that the majority of organizations have taken a Tayloristic approach to organizing the way that they work.  They have specialists who each do a portion of the work, handing off their portion to the next person once they’ve completed it.  It is virtually impossible for specialists to get all of the work done to develop a working, vertical slice of the solution within the timeframe of a two-week iteration, let alone one that is shorter.  The overhead of specialists trying to work in a Tayloristic, “software factory” strategy is just too great.  Unfortunately the culture within the data community tends to motivate over specialization and the overhead surrounding it.

What agile teams need are generalizing specialists, T-skilled cross-functional people who work together collaboratively.  Each person has one or more specialties, they need to be able to do something useful, but they also have a general knowledge of the rest of the process and are willing to pick up new skills from one another.  When your team is made up of people like this the wait time between tasks (modelling, development, testing, …) starts to disappear as does all the bureaucracy (reviews, traceability matrices, …) around coordinating such activities.

The fundamental challenge is that you likely don’t have generalizing specialists right now.  As we like to say, you go to war with the army that you’ve got.  You need to build a team of specialists right now because that’s the type of people you have.  Insist that they produce a vertical slice of the solution during the current iteration.  There will very likely be a lot of complaining about this at first, often because the team can’t imagine how they can pull this off.  If possible, colocate them in an agile team room (sometimes called a tiger team room or war room) to get them working side-by-side.  This will help to improve communication between the people involved and provide better ways to collaborate (such as agile modelling at a whiteboard).  Push the idea that they should be doing non-solo work – such as pair programming, mob programming, or modelling with others – so as to share skills and get the work done quickly.  They will need a strong agile coach to help them to learn these new strategies and to break themselves of their ineffective specialist habits.  An important thing to observe is that many other teams have discovered how to work this way – you can too.

Vertical slice is good but if only half of a report is created in a single iteration it may not be useful to the stakeholders.  What should we do?

The idea is to get something that works completely done each iteration.  The stakeholders, often via the Product Owner (PO), will determine whether what you’ve built can be deployed into production.  This is why we use the term “potentially consumable solution“, an improvement over Scrum’s “potentially shippable software” – it’s potentially consumable, but that doesn’t mean it has to be deployed only that the option to deploy is there.

Having said this, if possible find a way to complete the entire report in a single iteration.  Sometimes easier said than done.

How to handle data coming from multiple source during data modeling within a single sprint when we are expected to develop a report in end?

This is a very common occurrence.  The solution is that you only model enough for that report at the time.  Early in the lifecycle during Inception you will have done a bit of high-level modelling to explore the initial scope and to identify your technical strategy (your architecture).  These high-level visions are fleshed out during Construction each iteration via Agile Modeling practices such as just-in-time (JIT) model storming, look-ahead modelling (backlog refinement in Scrum), and even iteration modelling (an aspect of iteration/sprint planning).

 

 

Architecture and Design

But many of the companies are not using data vault?  And may companies are reluctant in using this?

The Data Vault 2 method is not required to be agile, but it is an approach that we highly suggest due to its practicality and flexibility.

While using Data Vault how can we overcome challenges with teams supporting and creating data from various companies and geographies. Are there are control risks associated?

Regardless of the architecture and design methodology that you follow, you will have risks associated with using data from multiple sources.  Those risks tend to increase with multiple geographies or multiple companies involved.  The greater the risk, the greater the importance of having a database regression test suite in place that validates your work.

Refactoring Databases

Can we take these database refactorings as technical debt user stories?

Database refactorings are small changes to the design of your database schema (which includes functionality such as triggers or stored procedures) that improves the quality of the design without changing the semantics of the schema in a practical manner.  Examples of database refactoring includes Rename Column, Introduce Cascading Delete, and Replace One-to-Many with Associative Table.  A full catalog of database refactorings can be found here.  Because database refactorings are small you should just do them as a matter of course as you work on the database, they generally aren’t large enough to justify their own work items (such as a technical debt story).  I suggest that you read the Spilled Juice Analogy.  However, if you wanted to fix a collection of refactorings up into a single technical debt story I suppose you could do this.

Most often, data sources sit in the “business” area, that cares very little about how software are works or needs to work. Isn’t this attempt to clear data at the source something that will put strain on the organization?

I suggest that you read the Spilled Juice Analogy.  Does the business want to be able to make decisions based on information that they can trust?  Does the business want to reduce their long-term IT costs?  Does the business want IT to be able to bring solutions to market quicker?  If the answer to any of these questions is yes then they need to start treating data like an asset and invest in concrete quality techniques such as database regression testing and database refactoring.

Other Development Practices

Can we use database virtualization?

Sure, why not?

Automation – How that can be done in DW/BI project?

You can:

How does the practice of spikes apply?

A spike is a bit of code that is used to explore or prove a concept, typically written to pay down a technical risk.  In a DW/BI solution that might be a bit of code to:

  • See how a data source is accessed
  • Explore a feature of your ETL tool
  • Work with a BI tool for the first time
  • Explore whether a data source can handle expected volume
  • And many more technical risks.

How do you make sure that documentation is updated and yet consumes less time which is accommodatable within the Agile iteration/sprint of 2 weeks? Without documentation the developers who come into the project at a later point of time are in no man’s land without updated documentation?

See:

 

Miscellaneous

How can enterprise data governance fit into an agile DW/BI mindset?

See:

 

What lifecycle would be most appropriate for projects implementing COTS software solutions (like ERP) within the company so investment would be maximized?

It depends on the situation that you face, including the skills of the people involved.  I would think that your best bet is the Agile/Basic lifecycle that is based on Scrum.

Where Can We Learn More?

At the DAC posters page you can download the Disciplined Agile DW/BI poster (amongst many others).

We have a detailed article entitled Disciplined Agile Data Warehousing that you will find informative.

 

Posted by Scott Ambler on: January 29, 2016 11:43 AM | Permalink | Comments (0)
ADVERTISEMENTS

"If opportunity doesn't knock, build a door."

- Milton Berle

ADVERTISEMENT

Sponsors